我正在探索在 Raspberry Pi 上啟用 RAM 磁碟和實作唯讀根檔案系統的過程,同時結合 Soracom 連線。
測試環境:
- Raspberry Pi 3 型號 B+
- 樹莓派作業系統(Lite ; 32位元 ; 2020-12-02)
- Soracom SIM 卡
啟動 Soracom SIM 卡:
在繼續 RAM disk (隨機存取記憶磁碟) 和 唯讀根檔案系統 (read-only root filesystem) 設定之前,請使用以下步驟啟動 Soracom SIM 卡:
- 將 Soracom SIM 插入樹莓派。
- 將你的樹莓派連接到網路上。
- 在 Soracom平台 註冊
- 註冊後,登入 Soracom 控制台並導航至 SIM 卡管理部分。
- 找到 Soracom SIM,點選 SIM 卡的 ID。
- 按照提供的說明啟動 SIM 卡並完成必要的配置。
啟用 RAM disk:
若要啟用 RAM disk,請參考以下步驟:
- 打開終端,執行以下命令:
ruby
$ sudo raspi-config nonint enable_overlayfs $ sudo systemctl reboot
- reboot 重新啟動後,樹莓派將使用覆蓋從 RAM disk 啟動。
停用 RAM disk:
如果要停用 RAM disk 並從 microSD 卡啟動,請參考以下步驟:
- 打開終端,執行以下命令:
ruby
$ sudo raspi-config nonint disable_overlayfs $ sudo systemctl reboot
- 重新啟動後,樹莓派將從 microSD 卡啟動。
檢查現在的配置:
使用實例查詢目前記憶體盤的設定資訊。
shell
$ sudo raspi-config nonint get_overlay_now && echo "enabled" || echo "disabled"
該命令將顯示 RAM disk 是啟用還是停用。 使用實例
總結:
將樹莓派作業系統根檔案系統轉換為唯讀設定的過程是根據「RaspberryPi: Read-only Root-FS(using overlayfs)」的備忘錄中提供的說明執行的。 備忘錄中概述的步驟被進一步研究並包裝以供個人使用。
轉換過程使用overlayfs,正如「RaspberryPi:Read-only Root-FS(using overlayfs)」的備忘錄中所解釋的那樣。
執行後:
執行完命令後,可以使用以下命令驗證檔案系統設定:
bash
$ df -h /dev/mmcblk0p2 30G 1.1G 28G 4% /mnt/root-ro tmpfs 464M 712K 463M 1% /mnt/root-rw overlay 464M 712K 463M 1% / $ mount /dev/mmcblk0p2 on /mnt/root-ro type ext4 (ro) tmpfs on /mnt/root-rw type tmpfs (rw) overlay on / type overlay (rw)
在Raspberry Pi上設定自己的軟體包和設定:
在遵循使用覆蓋轉換為唯讀根檔案系統的說明之後,你有兩個選項來安裝軟體包和軟體:
-
選項 A:將 SD 卡掛載為讀寫(RW)並正常啟動。
-
選項 B:將 SD 卡重新掛載為 RW,然後使用 chroot。
選項 A:將 SD 卡安裝為 R W並啟動:
- 開啟 /boot/config.txt 文件,註解 initramfs initrd.gz 這一行。 保存修改。
- 重啟樹莓派。 它現在將從 SD卡正常啟動。
- 你可以使用 apt 或編輯必要的文件,因為樹莓派作業系統現在從 SD 卡正常啟動。
- 如果需要,重新啟動並恢復到唯讀(RO)模式。
選項 B:將 SD 卡安裝為RW並使用 chroot
- 以 RW 方式掛載 /mnt/root-ro 目錄,然後使用 chroot 指令執行下列指令:
shell
$ sudo -s # mount -o remount,rw /mnt/root-ro # chroot /mnt/root-ro # mount -t proc proc /proc
-
配置必要的設置,安裝軟體包。確保 D-Bus 等通訊服務能夠正常運作。
-
清理(如有必要)並重新啟動樹莓派。
永久資料儲存在你的樹莓派:
要儲存日誌等永久數據,可以在 initramfs 的底部實現本地持久性儲存解決方案。
結論:
恭喜你在樹莓派上實作了 RAM disk 和唯讀根檔案系統,同時結合了 Soracom 連線。 根據這些技術步驟,你可以優化樹莓派物聯網(IoT )專案的效能和安全性。