解壓縮 shairport dd 檔的 USB 第一個磁區的 txz 檔
首先將 shairport的 rootfs 解壓縮到某個分割區, 這裡以 /dev/sda9 為例
設 sh4twbox 網樂通原本 /dev/sda2 的 /etc/fstab 內容如下
/dev/sda1 /boot auto noauto,noatime,defaults 0 0
/dev/sda9 /mnt/shair ext4 noauto,noatime,defaults 0 0
連上磁碟
mount /mnt/shair
mount /mnt/boot
要將 shair/boot 裡的 vmlinux.ub 放到 /boot, 但是檔名要分開, 並看一下
mv /boot/vmlinux.ub /boot/vmlinux.sh4twbox
cp /mnt/shair/boot/vmlinux.ub /boot/vmlinux.ub
參考 /mnt/shair/boot/uboot.sh 修改自己的 /mnt/boot/uboot.sh, 重點:
-
將 sda2 改為 sda9
-
將 120M 改為 256M
-
將 vmlinux.ub 改為 vmlinux.shair
重開機看看, 重開前切到 TTL console 看畫面
reboot
當機處理
使用非 vmlinux.ub 檔名會當, 用救援碟救一下(此處以 linux 為例)
pmount sdb1
mv /media/sdb1/auto.tag /media/sdb1/auto.tag.old
pumount sdb1
USB插到網樂通,壓住 RESET, 再開機, RESET 再放開, 同時觀察 console (TTL)
注意使用 sh4twbox 確認是否正確由外部開機, 重點是 /dev/sda2 ext3 (ext3)
同時此時網樂通應該是紅燈,有人反應 RAM 還是沒有升成 256M, 這是因為
sh4twbox 0.7 使用 SMIT 公司內定的 120M 設定, 可以自己調大為 256M 開機
接著要改內部USB(DOM)的第一個分割區裏面的 uboot.sh,並將檔名改短
目前的 kernel 會將DOM 認為是 sdb, 所以要改的是 sdb1
mount /dev/sdb1 /mnt/sdb1
cd /mnt/sdb1 ; mv vmlinux.xxx vmlinux.ub ; vi uboot.sh
sync ; umount /mnt/sdb1
改完關機,拔除USB,開機
poweroff
改完後開機成功, 看起來 rootdelay 應該也可以改為 0, 再看看
插上 USB keyboard 也可以看到 console
但是開機後是紫燈(因為我沒有直接用 sh4twbox 安裝)
vi /etc/rc.local
最後一行加上燈號設為藍燈即可
ledctl.sh blue
再拿掉一些 uboot 除錯動作, 可以開機更快些