Skip to content

Instantly share code, notes, and snippets.

View sujunmin's full-sized avatar

Su, Jun-Ming sujunmin

View GitHub Profile
@sujunmin
sujunmin / how-to-use-AppleALC-kext-with-kernel-patch.md
Created December 4, 2021 09:21
How to use AppleALC kext with kernel patch

最近升級到 Monterey 的時候,升級 OpenCore 並且升級各個 kext 時,發現到使用到 FakePCIID 這個 kext 會跟 lilu, WhatEverGreen (WEG) 作用的時候會任意當機有人說可以降級 liluWEG 來解決這個問題,我試了一下還算可以,但前幾天開機做事的時候又忽然自己當機了,查了各大論壇都是覺得 FakePCIID 這種方式是過時的方式,FakePCIID 的 repo 也很久沒更新了,只能再找找其他方式。 看了一下 AppleALC 支援的卡越來越多,加上有我的設備,就想說來試試看。不過大部分的的教學都是在 AppleALC 支援的設備有直接支援的,就是在 config.plistDeviceProperties 加上 layout-id,hackintool 這個工具還直接給你設定,照着抄就行了。 可是我的是在 Controllers patches 這個位置裏,該怎麼作呢?網路上查查都沒什麼分享的,這個筆記就是來說明有支援但是在 Controllers patches 裏的該怎麼作。

  1. 先把 FakePCIID 與相關的 kexts 先關掉,起碼不會一直當。
  2. 確定是哪個設備,透過 hackintool 就很清楚能看得到。 ![AppALC
@sujunmin
sujunmin / apple-macos-study.md
Created September 1, 2021 06:08
研究如何使用蘋果環境
  1. 先了解什麼是 UEFI (Google UEFI 有很多說明)。
  2. 知道自己的電腦 BIOS 要怎麼調 UEFI 開機,開機順序是不是能夠手動調整 (以下說明的剛好都有,能夠手動調整的筆電跟不能手動調整的桌機。
  3. 會備份自己的 ESP 磁區 (Windows 下我覺得 DiskGenius 不賴,免費版雖會有警告說只能複製小檔,但已經夠了,Mac 下的下面再說)。
  4. 會做 UEFI 開機碟 (如果搞爛了還能夠透過這個開機碟恢復),最好是 Mac 安裝碟 (我是透過桌機的 Mac 去做)。
  5. 知道什麼是 CFG-lock,為什麼要解鎖 CFG-lock,要不要解鎖 CFG-lock,能不能從 BIOS 解鎖,因為這個部分跟硬體有關係,所以要小心做,小心決定,剛好我也是有解鎖跟沒有解鎖各一,感覺是還好,但後續有一個地方就是卡關,下面會說明。
  6. 要怎麼分配磁碟,雙系統開機還是單一系統,要規劃一下,我的桌機是雙系統,筆電是單一系統。
  7. 上 github 找有沒有人做好了 efi 與 kext (蘋果的 kernel extension),做好了是最好的,可以直接拿來用 (我的筆電就是因為這樣,不想折騰太久,就找一些大大貢獻的資料,去買同型號的二手筆電)。
  8. 現在都是 OpenCore 方式,我個人覺得如果有人做好,基本上十分簡單。
  9. 先找一個 16G 以上的隨身碟,用 DiskGenius 分割個 ESP 空間放之前找到的版本 (EFI 目錄下,另外記得要看清楚,像我的筆電就是要先用舊版的 OpenCore 與相關 efi),接下來做 Mac 開機碟,我是透過桌機的 Mac 做開機碟
  10. 開始灌 MacOS,插入隨身
@sujunmin
sujunmin / nginx-test-conf.conf
Created March 4, 2020 02:13
Nginx Test Config
events {
}
http {
server {
listen 80;
server_name 10.0.12.26;
root /opt/librenms/html;
index index.php;
@sujunmin
sujunmin / ntfs-dd-loop-backup-restore-workaround.md
Created February 21, 2020 07:32
NTFS 用 dd 備份還原的奇妙旅程
  1. 慘案發生經過

a. 要把一顆 M 牌的 500G SSD (上面是一個 Windows 10 NTFS) 弄到 I 牌的 480G SSD

b. 原來想用 dd 把原來的 SSD dump 出來再硬給他塞到新的 SSD 上

c. 結果空間不夠,也讀不到 partition

d. 後來想用 gparted 處理,結果發現原來的有做休眠,還有 MFT/Bitmap 一堆錯,無法在 GUI 裡頭縮小 partition

@sujunmin
sujunmin / patch_for_5.3.patch
Created December 9, 2019 04:43
Patch file for nvidia-legacy-390xx-390.116 for the linux kernel version 5.3.x
diff -Naur /tmp/nv/usr/src/nvidia-legacy-390xx-390.116/common/inc/nv-linux.h /usr/src/nvidia-legacy-390xx-390.116/common/inc/nv-linux.h
--- /tmp/nv/usr/src/nvidia-legacy-390xx-390.116/common/inc/nv-linux.h 2019-03-02 05:06:12.000000000 +0800
+++ /usr/src/nvidia-legacy-390xx-390.116/common/inc/nv-linux.h 2019-12-09 10:26:44.782636003 +0800
@@ -701,8 +701,8 @@
#elif (NV_ON_EACH_CPU_ARGUMENT_COUNT == 3)
#define NV_ON_EACH_CPU(func, info) \
({ \
- int __ret = on_each_cpu(func, info, 1); \
- __ret; \
+ on_each_cpu(func, info, 1); \
@sujunmin
sujunmin / make-windows-qemu-guest-agent-support-utf-8.md
Last active August 12, 2019 07:12
Make Windows QEMU Guest Agent Support UTF-8
@sujunmin
sujunmin / disable_touchpad.md
Created August 1, 2019 04:32
Disable touchpad when the external mouse plugin
@sujunmin
sujunmin / snmpd.conf
Created June 18, 2019 08:18
simple snmpd proxy conf
# A -> B -> C
# -> D
# -> E
# -> ...
# ContextName 可以都用一樣的,也可以分開,記得對應就可以
# Ref: http://www.net-snmp.org/wiki/index.php/Snmpd_proxy
# https://github.com/librenms/librenms/blob/master/doc/Extensions/SNMP-Proxy.md
# A 可以透過對 B Query 以自取的 Community Name 就能 Query 到 C/D/E... 其他機器
@sujunmin
sujunmin / 2018-07-Windows-Update-KB4338830-Fix.md
Last active August 17, 2018 08:34
2018 07 Windows 更新 (KB4338830) 修正
@sujunmin
sujunmin / NetBSD-evbarm-aarch64-201807101140Z-pinebook-dmesg.md
Last active July 12, 2018 05:32
NetBSD-evbarm-aarch64-201807101140Z-pinebook-dmesg
[    1.000000] ksyms: checking .text
[    1.000000] ksyms: checking .rodata
[    1.000000] ksyms: checking link_set_evcnts
[    1.000000] ksyms: checking link_set_sysctl_funcs
[    1.000000] ksyms: checking link_set_arm_platforms
[    1.000000] ksyms: checking link_set_fdt_consoles
[    1.000000] ksyms: checking link_set_modules
[    1.000000] ksyms: checking link_set_ieee80211_funcs
[    1.000000] ksyms: checking link_set_domains