踩雷:為何進行樹梅派Kernel Cross Compile應該優先使用Virtual Box,而不是WSL或Mac Terminal?
踩雷:為何進行樹梅派Kernel Cross Compile應該優先使用Virtual Box,而不是WSL或Mac Terminal?
檔案系統格式支援問題
Raspberry Pi Imager將SD Card切分為:
分區 檔案系統格式 用途 bootfs FAT32 開機磁區 rootfs ext4 主要檔案位置(也就是linux的"\"根目錄) 可以注意到rootfs是使用linux常用的ext4格式,這在Windows或MacOS系統下均不支援。所以在一般情況下,只能看到bootfs而無法存取rootfs。
替代方案?
雖然有些軟體或方法可以讓Windows讀到ext4(如:ext2read),但大多只能讀取不能寫入。[1][2]這在cross compile後要寫入SD Card這步驟會變得非常麻煩。 最簡單的解決方法就是將SD Card插到樹梅派,然後用SSH或USB隨身碟的方式傳輸檔案。但如果未來不是採用RPi OS,可能會有driver的問題產生(沒有Wi-Fi或USB的情況下)。
WSL對於ext4尚未完整支援
其實WSL目前已可掛載ext4格式的硬碟[3],但只限內接式的硬碟。可移除式(removable)的硬碟,如:USB SD Card讀卡機、USB隨身碟等,還未支援。
Virtual Box已解決上述問題
因為Virtual Box是直接執行Linux系統且具備USB掛載功能,所以可直接存取ext4格式的RPi SD Card。 所以目前來說,建議優先採用Virtual Box來完成cross compile。
參考
akik. (2022). How to use ext4 filesystems in Windows? Reddit.Com. Retrieved October 6, 2024, from link ↩︎
ShelterCultural(2024, July). Trouble Mounting Linux-formatted microSD Card on Windows with WSL2. Reddit.Com. Retrieved October 6, 2024, from link ↩︎
mattwojo. (2023, July 18). Get started mounting a Linux disk in WSL 2. Microsoft.Com. Retrieved October 6, 2024, from link ↩︎
- 0
- 0
- 0
- 0
- 0
- 0
Preview: