網樂通設定多重開機到 shairport wheezy 版本

by dlintw
GNU/Linux ◆ xterm ◆ bash 4862 views

解壓縮 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, 重點:

  1. 將 sda2 改為 sda9
  2. 將 120M 改為 256M
  3. 將 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 除錯動作, 可以開機更快些