openwrt 將根檔案系統掛載在U盤上
u盤掛載完成(及 mount /dev/sda /mnt )後,
#mkdir /tmp/cproot
#mount --bind //tmp/cproot
#tar -C /tmp/cproot-cvf - . | tar -C /mnt -xvf -
#sync
#sync
#sync
以上操作主要完成,將‘/’目錄複製並掛載在 /tmp/cproot目錄下,並將整個/tmp/cproot (也就是說整個根檔案系統)打包後 再解包到/mnt 下,也就是U盤上。
最後的 sync 命令不能少,此命令完成,資料從快取寫到U盤上。
然後,修改分割槽表
#block detect >/etc/config/fstab //讀取當前掛載狀態,並寫入檔案
#vim/etc/config/fstab //修改分割槽表文件
config 'global'
option anon_swap '0'
option anon_mount '0'
option auto_swap '1'
option auto_mount '1'
option delay_root '5'
option check_fs '0'
config 'mount'
option target '/mnt/sda1' //此處改為‘/’
option uuid 'c91232a0-c50a-4eae-adb9-14b4d3ce3de1'
option enabled '0' //此處改為 ‘1’
最後reboot
df -h
為了便於識別是從 U盤啟動的還是從內部flash啟動的,我在/etc/banner 檔案的尾部加入了 Boot from U-disk 字樣