Raspberry Pi 操作系統根檔案系統編程(Rootfs ROMing)- 如何在將其設為 RAM Disk 同時添加軟體包

我正在探索在 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

  1. 以 RW 方式掛載 /mnt/root-ro 目錄,然後使用 chroot 指令執行下列指令:

shell

$ sudo -s # mount -o remount,rw /mnt/root-ro # chroot /mnt/root-ro # mount -t proc proc /proc

  1. 配置必要的設置,安裝軟體包。確保 D-Bus 等通訊服務能夠正常運作。

  2. 清理(如有必要)並重新啟動樹莓派。

永久資料儲存在你的樹莓派:

要儲存日誌等永久數據,可以在 initramfs 的底部實現本地持久性儲存解決方案。

結論:

恭喜你在樹莓派上實作了 RAM disk 和唯讀根檔案系統,同時結合了 Soracom 連線。 根據這些技術步驟,你可以優化樹莓派物聯網(IoT )專案的效能和安全性。