sh4twbox 0.9.2 安裝救援碟
- 快速安裝 uboot(含256M RAM) 及 sh4twbox 合成一片, 並採用 ext4 格式加速安裝過程
- 可使用 ext4 格式選擇安裝之 rootfs (eg. sh4twbox,arch,debian,fedora,nextpbx,nextnas,other)
- 簡易救援(即使內建的 USB DOM 全毀也是可以重建使用)
- 多重開機
- 內建簡易套件管理軟體 shpkg
- 可自行編譯程式,操作範例,若仍有程式需要裝舊版0.6.2的操作範例
1.安裝方式
1.1 安裝前準備: (安裝後原網樂通功能消失, 請自行備份)
- 一般使用者:
- RESET用的迴紋針、網路線先連上寬頻分享器及網樂通, 拔除網樂通電源
- USB 碟,根目錄先不要放其他檔案(第一個磁區為DOS,且容量小於(不含)2GB)
- 開發測試者: 除錯用的TTL2USB console 線連到網樂通內部同時開啟 PC 端 putty log 功能
1.2 更換 UBOOT 為UBOOTWPDA
更換為UBOOTWPDA,使用UBOOTWPDA可以自訂開機參數,這個動作只要做一次(曾裝過者不需再裝),它相當於以往的256M升級版。
- 下載 sh4twbox-<版號>.7z, 可用 7-zip 解壓縮並複製到 USB 碟(提醒熟 Linux 的朋友必須是FAT16/FAT32分割區, 而不是 Linux 專用的 ext3 分割區也不可以是 NTFS分割區,看不懂這些術語的朋友就忽略這段,直接使用即可)
- 插入USB,按住 RESET, 插上電源
- 等待閃燈三下後放開 RESET (console log),
- 算30秒應該會出現藍燈,拔掉電源線 (過程中會看到藍燈一閃一閃,代表使用 SMIT UBOOT 更新 UBOOT)
安裝完之後可以將 iptvubootupdate.bin 更名,可以節省開機時間。(不更名或刪除的話,UBOOTWPDA會自動判斷相同版本,略去不升級),UBOOTWPDA判斷 RESET 只有開機的一瞬間,以後若需要外部USB優先開機也只要按一下子就好。
1.3 使用 sh4twbox 安裝系統或救援
sh4twbox 0.9 版以後的安裝片全部載入記憶體,因此開機(變藍燈)後可拔掉USB。
- 選擇作業系統(如 fedora/debian/wonderbox)附檔名為 .tgz 或 .txz 放進剛才的 USB 碟, 建議下載最迷你的 sh4twbox-<版號>.txz,(注意不是 .7z) ,如果USB目錄裏同時有多個 *.t?z 檔, 會自動安裝最後一個。另外也可以稍候在選單輸入下載網址安裝。
- 插入USB,拔電源,插網路線,按住 RESET,插上電源
- 亮紅燈代表外部USB開機中,就可放開 RESET鍵,大約40秒開機完成變成藍燈
- 下列方式選擇一種就可以得知網樂通 IP
- ping sh4twbox
- 使用寬頻分享器指定網樂通的 MAC 分配固定 IP
- 查看寬頻分享器內部資訊得知分配給網樂通的 IP
- 自己的機器設定 192.168.168.1, ping 192.168.168.168
- 使用 ip scan 類程式掃描區域網路
- 知道 IP 後,使用 telnet 連線進網樂通,建議使用 pietty/putty 並且設定 session log 但記得要設定為 telnet port
- 帳號 root, 密碼 twpda打兩次
1.4 手動安裝方式
登入後畫面如下
Escape character is '^]'.
sh4twbox login: root
Password:
Enter 'sh4twbox' for install/recover sh4twbox.
22:48:26[0]root@sh4twbox / # sh4twbox <- 輸入後出現選單
Disk /dev/sda: 2021 MB, 2021654528 bytes <- 由這些特徵判斷出 sda1 是安裝碟
201 heads, 19 sectors/track, 1033 cylinders
Units = cylinders of 3819 * 512 = 1955328 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 1034 1973248 b Win95 FAT32
Disk /dev/sdb: 8027 MB, 8027897856 bytes <- 由8GB 判斷出 sdb 是目標碟
247 heads, 62 sectors/track, 1023 cylinders
Units = cylinders of 15314 * 512 = 7840768 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 5 38254 6 FAT16
/dev/sdb2 6 135 995410 83 Linux
... 略
==============
Hostname:sh4twbox
Uptime : 20:38:32 up 29 min, 1 users, load average: 0.00, 0.00, 0.00
Free Mem:219 MB
IP Addr :192.168.0.11 192.168.168.168
boot from <- 必須是空的代表外部 USB 正確開機並全部載入記憶體
last command:
root pts/0 192.168.0.1:3369 Sun Oct 27 20:38 still logged in
==============
=== sh4twbox v0.9.2 MENU === <- 回報問題時記得要說明版本
1) Back to Shell (default)
2) Set Time (Sun Oct 27 20:38:32 CST 2013)
9) Reboot
p2) format first two partitions and install sh4twbox or other OS
p1) Replace one partition and install sh4twbox or other OS
h) show more choice options
============ Please Enter Number:
一般使用者安裝方式(將第一、二個分割區刪除重建為 sh4twbox 系統)
Disk /dev/sda: 2021 MB, 2021654528 bytes <- 由這些特徵判斷出 sda1 是安裝碟
201 heads, 19 sectors/track, 1033 cylinders
Units = cylinders of 3819 * 512 = 1955328 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 1034 1973248 b Win95 FAT32
Disk /dev/sdb: 8027 MB, 8027897856 bytes <- 由8GB 判斷出 sdb 是目標碟
247 heads, 62 sectors/track, 1023 cylinders
Units = cylinders of 15314 * 512 = 7840768 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 5 38254 6 FAT16
/dev/sdb2 6 135 995410 83 Linux
... 略
==============
Hostname:sh4twbox
Uptime : 20:38:32 up 29 min, 1 users, load average: 0.00, 0.00, 0.00
Free Mem:219 MB
IP Addr :192.168.0.11 192.168.168.168
boot from <- 必須是空的代表外部 USB 正確開機並全部載入記憶體
last command:
root pts/0 192.168.0.1:3369 Sun Oct 27 20:38 still logged in
==============
=== sh4twbox v0.9.2 MENU === <- 回報問題時記得要說明版本
1) Back to Shell (default)
2) Set Time (Sun Oct 27 20:38:32 CST 2013)
9) Reboot
p2) format first two partitions and install sh4twbox or other OS
p1) Replace one partition and install sh4twbox or other OS
h) show more choice options
============ Please Enter Number:
一般使用者安裝方式(將第一、二個分割區刪除重建為 sh4twbox 系統)
- 選 p2 使用內定選項 (前題是分割區最少有2個分割區,不然可能失敗)
- target disk device(default:sdb) : sdb 目標碟不要填錯
- source file put on device or none (default:/dev/sda1) : /dev/sda1 來源分割區
- source file or download URL (default:auto) : 直接按Enter 即可
- 如果要安裝別的作業系統,建議先使用 fdisk 第2個分割區放大再做這個動作,此時前面 p2 的選項可以如下:
- source file put on device or none (default:/dev/sda1) : none 不需從USB copy
- source file or download URL (default:auto) : http://example.com/xxx.txz
- 安裝過程會將 LED 先切換成紅燈,裝好會再切回藍燈,如果中間有錯誤,沒有切回藍燈,請使用 gist 附上執行紀錄回報錯誤
- 拔掉 USB
- 選 9) reboot 或拔插插頭
進階使用者安裝方式(使用 p1 不格式化的選項安裝到一個分割區)
- 建議先使用 fdisk 分割好分割區,選 p2 安裝基本 partition
- 自行 format 或使用 sh4twbox 的選單 6) format 格式化 USB DOM
- 將 kernel 放到 FAT16/32 或是 ext3 partition(因為 UBOOTWPDA 不支援從ext4讀取 kernel)
- 編寫 uboot.sh,注意長度要限制在988 bytes 以下,uboot.sh 可以放在 FAT16/32 或是 ext3 (但不能放 ext4)
- 再使用 p1 安裝其他作業系統或是你自行備份的 root file system
- 別的作業系統的 /etc/rc.local 可能需要手動編一下將 ledctl.sh blue 加上去設定開機藍燈
- 拔掉 USB
- 選 9) reboot
1.5 sh4twbox 開機簡易操作
開機時會亮紫燈代表內部USB開機中,等待亮藍燈完成(視作業系統大小, sh4twbox約40秒),接著就可以用 telnet 連進去。
成功連線後輸入 sh4twbox,應該是以下字樣代表由 USB DOM 開機
成功連線後輸入 sh4twbox,應該是以下字樣代表由 USB DOM 開機
boot from /dev/sda2 ext4
sh4twbox 可以使用新版 shpkg 安裝 STLinux 2.4 套件,以下簡易操作示範安裝編譯器編譯 C/C++ 程式:
shpkg -Sy可參考 sh4twbox 使用手冊.
shpkg -S kernel-module shpkg-st sh4twbox-hello
cd /sh4twbox-hello
make
1.6 備份裝好的系統
假設你被 Windows 訓練的有良好的習慣,裝好整個系統就 Ghost 起來,下一次重裝就快了,sh4twbox 的安裝片就相當於給網樂通用的 Ghost (不過為了鼓勵學 linux, 還是用打命令)以下使用範例假設如下:
/dev/sda1 FAT16/FAT32 放著 vmlinux.ub 及 uboot.sh
/dev/sda2 ext4 放著你編好的作業系統
/dev/sda3 ext3 你原本舊的網樂通空間
備份方式
- 壓住 RESET 鍵,使用外接開機片開機,開機後連進去使用 sh4twbox 確認是外部開機
- mount /dev/sda2 /mnt/sda2
- mount /dev/sda3 /mnt/sda3
- tar -C /mnt/sda2 tar -cpf /mnt/sda3/backup.tar # 打包成一個檔
- xz /mnt/sda3/backup.tar # 壓縮這個步驟如果可以移到 PC 做會快最少10倍
- 產生的 backup.tar.xz 可以更名為 backup.txz 這樣就可以被 sh4twbox 安裝碟安裝了
- umount /dev/sda2 ; umount /dev/sda3
回存方式
- 壓住 RESET 鍵,使用外接開機片開機,開機後連進去使用 sh4twbox 確認是外部開機
- 使用 sh4twbox 的 p1 模式, 其中的 source device 輸入 /dev/sda3
- 當然,也可以將 backup.txz 放到區域網路上建一個 http server 讓 sh4twbox 讀取
1.7 安裝其他作業系統方式
以 debian 為例, 安裝方式參看 1.4, 看是想使用 p2 或是 p1 模式皆可,其中要填下載網址 http://forum.cse.yzu.edu.tw/wheezy-sh4/download/target.tgz ,這會下載到你打算安裝的目錄,並更名為 src.tgz (等確定可以開機完成就可以刪掉檔案)
也許目前的 debian target.tgz 仍維持原版網樂通格式,並未使用 sh4twbox 支援的 txz 格式,因此裝好後不會出現藍燈,此時可以在裝好之前先用 vi 將 /etc/rc.local 編好,然後再 reboot。大致上程序可參考動畫
使用其他作業系統和 sh4twbox 差異如下:
使用其他作業系統和 sh4twbox 差異如下:
- 別的作業系統安裝及開機時間應該都是 sh4twbox 的幾倍請耐心等候。
- 找網樂通 ip 的方式,因為每個作業系統設定不同, 所以大概只有 ip scan 的方式是比較確定可用的,其他包括靜態 IP 及 ping hostname 方式就要參考原作業系統安裝說明
- 進網樂通的帳號密碼也請參考原作業系統安裝說明
- 雖然開機成功但是燈號維持紫燈(可能是 /etc/rc.local 邏輯沒有啟動到 led 燈號,或是該作業系統 kernel 不支援切換燈號)
2. 多重開機 uboot.sh 設定範例
# 此處的紅字 2 可以改成別的分割區,可放置不同作業系統
setenv bootargs 'console=ttyAS0,115200 rootdelay=0 root=/dev/sda2 rootfstype=ext4 rw rootflags=data=journal nwhwconf=device:eth0,hwaddr:10:08:E2:12:06:BD phyaddr:0,watchdog:5000 mem=256M bigphysarea=2048'
setenv bootcmd 'usbcfg 0; usb start; usb info; usb part; fatload usb 0:1 80000000 vmlinux.ub; bootm 80000000'
注意: 若該作業系統的 kernel 並不支援 ext4 file system, 請手動安裝到 ext3 的 file system. 並調整 uboot.sh 內容移除 rootfstype=ext4字樣 (sh4twbox 0.9 版後會裝到 ext4 的分割區, 造成無法開機)
setenv bootcmd 'usbcfg 0; usb start; usb info; usb part; fatload usb 0:1 80000000 vmlinux.ub; bootm 80000000'
注意: 若該作業系統的 kernel 並不支援 ext4 file system, 請手動安裝到 ext3 的 file system. 並調整 uboot.sh 內容移除 rootfstype=ext4字樣 (sh4twbox 0.9 版後會裝到 ext4 的分割區, 造成無法開機)
3. 自訂txz 安裝檔(開發者適用)
- 將設定好可以開機的 root file system 加上 /boot 目錄, 裏面放 vmlinux.ub, uboot.sh,如果不設定sh4twbox的p2選項會自動使用 sh4twbox 的預設開機核心.
- 將整個 rootfs 壓縮成 (eg. tar -C /tmp/rootfs -cJf myos-<version>-<release>.txz . )
- 開機後設定成藍燈, 參考 sh4twbox 安裝完的系統, /etc/rc.local, 使用 /usr/bin/ledctl.sh blue 設定
- 如果要分享你設定好的 rootfs (限 txz 格式), 請通知站長
4. 已知問題
- Q: 網樂通一直紅燈
A: 可能是自動 fdisk rescan partition table 問題, 試著再重開機一次. 如果裝的不是 sh4twbox也可能不是問題,試著直接連進去,可能是該作業系統打包者沒有適當的調整,其實還是可以用的,另外有時候是 USB 碟格式不合問題,換一支也許就可以。(如果你懂 linux fdisk, 網樂通的 UBOOT 目前只支援 512 byte 為單位的 usb 碟開機) - Q: 網樂通一直紫燈
A: 可能是燒錄 UBOOTWPDA 失敗,需使用console線檢視,或拆下 Flash 重新燒錄 - Q: 可以整個內部 USB 分割成一個 partition 嗎?
A: 可。但不建議,若只使用一個 partition,只能分割成 ext3 格式,這種格式的缺點是忽然中斷電源時,可能會有存入不完整的現象,ext4改進了這些問題並提升效能。第一個 partition 設定成 FAT16/32 還有個好處,可以加速載入 kernel 的速度 - Q: 安裝過程出現訊息 mkfs.ext4: No such device or address while trying to determine filesystem size
A: 可能是 fdisk 做完之後必須重開機,此時重新開機再做看看,不行的話先手動fdisk 做好兩個 partition。 - Q: 燒錄舊版的 sh4twbox 安裝碟如何恢復為原本的 USB 碟
A: 在 Linux 下可以用 fdisk 搭配 sh4twbox 提供的選單。在 windows 下可以使用中文工具或英文工具 - Q: sh4twbox 使用的 uboottwpda 如何恢復原本的 uboot
A: 參看網頁(恢復原版uboot方式一節) - Q: sh4twbox 安裝片無法安裝 xxx 作業系統
A: 參閱「多重開機 uboot.sh 設定範例」一節,可能是該作業系統的 kernel 不支援 ext4 file system, 只要重新手動安裝到 ext3 file system 及調整 uboot.sh 即可 - Q: uboot 執行 fatls 可以看到檔案, 但 fatload 失敗
A: 將該 DOS 分割區(FAT16 or FAT32)容量減少(曾試過 2GB 不行,改成 1GB 就OK)
5. 修訂歷史
- 2013/10/30 sh4twbox 0.9.2 release
- 自動判定使用 p2 或 p1 選項時指定的安裝碟
- 修正使用 p2 選項,沒有安裝預設 sh4twbox kernel 問題(路徑打錯)
- 更新 shpkg-st 版本,修正 shpkg -Ql 未顯示檔案問題
- 預設 sh4twbox 核心恢復為之前簡易修正usb順序問題版
- 2013/10/29 sh4twbox 0.9.1 release
- 修正使用 p2 選項,沒有安裝 sh4twbox kernel 問題
- 2013/10/27 sh4twbox 0.9 release
- 更新 kernel 放棄修正 usb sda/sdb 錯亂問題(因為仍有未知不能解決情況)
- 採用載入記憶體方式應該不再有無法連線問題
- 2013/10/26 sh4twbox 0.8.1 release
- 更新 kernel 再一次修正 usb sda/sdb 錯亂問題
- 更新 shpkg 提升 shpkg 運作速度
- 2013/10/25 sh4twbox 0.8 release
- sh4twbox 安裝時自動刪去 rc.local 最後一行 exit 0
- 放入 shpkg
- 2013/10/21 sh4twbox 0.7.3 release
- wget 抓檔不暫存直接解壓縮以節省目標分割區空間
- 修正輸入參數指定 srcdev 為 none 時不會 unmount disk.
- 2013/10/20 sh4twbox 0.7.2 release
- 支援使用 target.tgz 格式安裝( 內容以 /mnt_system 開始)
- 增加 debian 安裝範例
- 2013/10/19 sh4twbox 0.7.1 release
- 加強 fdisk 指令防呆(但仍有可能會出問題,所以乾脆取消全自動)
- 使用 STLinux 2.4 dosfstool 取代 busybox 以免 FAT16/32 partition 有誤
- 2013/10/06 sh4twbox 0.7 release
沒有留言:
張貼留言