新 raspios 開啟console uart好像不用 dtoverlay disable_bt 了。
ref: uart configuration
改用 enable_uart=1
就會顯示了。(2021-1-11 的 image)
console 開到一半(通常是 usb hub init 後,就會變成亂碼...最後查到是 micro-usb power 線材的問題。
換上沒有 core 的線材就 OK 了。
用 raspi-config 開啟 overlay 功能,然後 read-only root 回答 Yes。
重開機後, / 就是 overlay 了:
mount: overlay on / type overlay (rw,noatime,lowerdir=/lower,upperdir=/upper/data,workdir=/upper/work)boot cmd:
$ cat /proc/cmdline coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 boot=overlay console=ttyS0,115200 console=tty1 root=PARTUUID=3661545e-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwai大概是:boot=overlay, root=UARTUUID...,rootfstype=ext4 之類。
raspberry pi 使用 overlayfs 作為 rootfs 可以參考overlayroot,有一堆都是寫 init script,取代 init,開機後重新 mount root。
raspberry pi 的 script 好像是 /etc/initramfs-tools/scripts/overlay
以前 raspi-config 還沒有 overlayfs 選項時,大概是用這一篇:overlay filesystem raspi 來做。
這一篇:easy change on a read only reaspberry pi 也有說明手動更改跟使用 raspi-config 修改的兩種方法。
這一篇 setting up overlay fs on raspberry pi還提供在 power off 時,把 upper layer 寫回 lower layer 的 方法,聲稱這樣可以大大個減少 sd card write 的次數 (增加壽命)
有關 overlayfs 的使用,可以參考play with overlay filesystem
任何兩個 目錄都可以疊成一個 overlay filesystem (目錄)。
以上面 ref 的例子來看。
有 upper, lower 兩個目錄:
charles-chang@beaver:~/test$ tree upper/ upper/ ├── dir │ └── g ├── e └── f 1 directory, 3 files charles-chang@beaver:~/test$ tree lower/ lower/ ├── a ├── b ├── dir │ ├── c │ └── d └── test用 mount command 把 upper 疊在 lower 之上,最後成為 'merged' 目錄:
sudo mount -t overlay overlay -olowerdir=./lower,upperdir=./upper,workdir=./work merged看看 merged 目錄:
tree merged/ merged/ ├── a ├── b ├── dir │ ├── c │ ├── d │ └── g ├── e ├── f └── test可以看到 upper 跟 lower合併在一起了。
因為 overlayfs 的 lower 是不能更動的,只能藉由 upper 來更動。
所以可以修改 merged 下的 file ,然後去 upper, lower 看看變化。
有一點要注意: lower 的內容在 mount 之後,就不要更動了,否則會有不可預知的問題。
在busybox 1.32.1
enable build static
make && sudo make install
沒有留言:
張貼留言