[網樂通] 將系統打包為「.tgz」,分享、備份都方便

.tgz,是一個Linux常用的壓縮格式(就像Windows常用的RAR), 網樂通 的開發者、整合系統軟體的玩家,常常用這個格式的檔案來提供使用者安裝系統。

網樂通使用sh4twbox0.9.2開機碟開機

為何要再使用開機碟開機呢?不能直接在現有的系統做嗎?因為當網樂通裝好軟體的時候,無法完全確定是否所有的軟體都已經關閉,有太多的程式正在運作,為了確保檔案完全,關機後再進行打包動作是最安全的作法。   使用開機碟完成開機以後使用telnet進入往樂通,進行以下步驟:

 

掛載隨身碟

 

root@sh4twbox~# mkdir USB #建立名為USB的資料夾
root@sh4twbox~# mount /dev/sdb1 /root/USB 將隨身碟掛載到USB資料夾
為什麼要掛載呢?這是因為sh4twbox0.9.2開機碟是Ramdisk系統,運行於網樂通記憶體內,類似PE、Ubuntu Live DVD,重開機之後所有的資料都會消失,所有改變只會保存於外接的儲存裝置,為了有地方可以儲存等等要備份的”.tgz”檔,所以需要如此的動作。

 

掛載sda2(rootfs位置)

root@sh4twbox~# mkdir /mnt_system #如果/mnt_system存在可以略過這個步驟
root@sh4twbox~# mount /dev/sda2 /mnt_system
root@sh4twbox~# cd /mnt_system
root@sh4twbox:/mnt_system# rm -rf etc/udev/rules.d/70-persistent-net.rules #刪除此檔以免mac位址不同導致網路無法使用
root@sh4twbox:/mnt_system# cd ~

sh4twbox的安裝腳本內,會將 mnt_system 資料夾內的檔案移動到 sda2,因此需要在根目錄建立 /mnt_system 資料夾,以便掛載存有 rootfs(Root File System) 的 sda2 ,如果將 mnt_system 建在家目錄的話,打包出來的檔案會有三層資料夾:root/mnt_system/這是因為打包tgz會把真實路徑都包進去。

/etc/udev/rules.d/70-persistent-net.rules 內有網樂通網卡的mac位置,當機器沒有這個檔案的時候開機會自動產生,但如果裡面mac位址和機器不同的話就會抓不到網卡,所以要刪掉讓它在新機器開機後自動重新產生。

 

掛載sda1(Kernel位置)

root@sh4twbox~# mkdir sda1 #建立sda1資料夾
root@sh4twbox~# mount /dev/sda1 /root/sda1 #掛載
root@sh4twbox~# cp /root/sda1/* /mnt_system/boot/ #複製kernel以及uboot.sh至/mnt_system/boot/
root@sh4twbox~# tar cvzf /root/USB/target.tgz /mnt_system #將/mnt_system打包成target.tgz後儲存於外接USB,因為網樂通CPU不夠力所以可能要等上30分鐘

sh4twbox安裝腳本的最後步驟即是移動 /boot/ 資料夾內的Kernel 到 sda1,因為 sh4twbox0.9.2 的 uboot 不支援系統 Kerbel 從 ext4 格式開機,所以需要移動Kernel到FAT格式的 sda1 讓 uboot 讀取 Kernel 後開機。

 

最後步驟

root@sh4twbox~# sync #確保資料寫入磁碟
root@sh4twbox~# poweroff #關機

關機之後,拔掉隨身碟後插入電腦就可以看到備份好的target.tgz了,可以使用sh4twbox0.9.2開機碟p2選項進行測試安裝~

參考文章:https://code.google.com/p/sh4twbox/wiki/BackupSda2

關於 富源

一名台東大學資訊工程學系的學生,這個網站用來紀錄一些不常用,但很重要、會忘記的事情。我的興趣是寫一些實用向的程式,例如 Python 爬蟲之類的東西... 歡迎各位交流!

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *