2009年1月5日 星期一

把KuroBox/HG 升級到 Debian etch版本(kernel升級為2.6.25.1)


由於之前的KuroBox/HG是跑在kernel 2.4的kernel,並且有許多package在升級的時候都有一堆奇怪的Error。所以重新安裝KuroBox,並且升級到2008五月由genbako release的kernel 2.6.25.1。沒想到同事Max也遇到一樣的問題,所以整理一下之前的筆記~提供參考。

1. 設定進入 EM 模式,重開機
※debian 2.4 的核心
#echo -n "NGNG" > /dev/fl3
#reboot

※debian 2.6 的核心
# echo -n "NGNG" > /dev/mtdblock2
# reboot


2. 準備相關檔案

請由http://www.genbako.com/ 下載下面這些已經做好給KuroBox用的檔案

debian-sarge-2.6.17.3-kuroHG-20060702.tgz
kernelimage-2.6.25.1-kuroHG.tgz
modules-2.6.25.1-kuroHG.tgz

3. 安裝 Debian sarge
用telnet 進入EM Mode下的KuroBox,用root/kuroadmin登入

如果是全新的HD,要做硬碟分割
# /sbin/mfdisk -e /dev/hda
# sh /sbin/mkfilesystem.sh

已經分割好了之後,將之前的OS所在的分割區清空(在這個分割區的資料會全部不見喔)
# mke2fs -j /dev/hda1

掛載分割區
# mount /dev/hda1 /mnt
# mount /dev/hda3 /mnt2

用FTP指令將下列檔案傳到 /mnt2/source 的目錄下

debian-sarge-2.6.17.3-kuroHG-20060702.tgz
kernelimage-2.6.25.1-kuroHG.tgz
modules-2.6.25.1-kuroHG.tgz


傳完之後解壓
# cd /mnt
# tar zxvf /mnt2/source/debian-sarge-2.6.17.3-kuroHG-20060702.tgz

解壓之後修改相關檔案

/mnt/etc/hostname
/mnt/etc/hosts
/mnt/etc/resolv.conf
/mnt/etc/hosts.allow
/mnt/etc/network/interfaces

改完之後,進入正常模式重新啟動

# /usr/bin/write_ok
argv: /usr/bin/write_ok
# reboot


正常模式telnet登入帳號
先以tmp-kun/tmp-kun登入後在切換為root/root
# su - root

4. 升級kernel and modules

將kernel升級到2.6.25.1之後重開機
# cd /boot
# tar zxvf /mnt/source/kernelimage-2.6.25.1-kuroHG.tgz
# reboot

重開機後,更新modules
# cd /lib/modules
# tar zxvf /mnt/source/modules-2.6.25.1-kuroHG.tgz
# depmod -a

5. 線上更新 Debian sarge

#vi /etc/apt/sources.list
deb http://security.debian.org/ stable/updates main contrib non-free
deb ftp://opensource.nchc.org.tw/debian/ stable main contrib non-free
deb ftp://debian.linux.org.tw/debian/ stable main contrib non-free
deb-src ftp://opensource.nchc.org.tw/debian/ stable main contrib non-free
deb-src ftp://debian.linux.org.tw/debian/ stable main contrib non-free

# apt-get update
# apt-get upgrade

6. 將Debian 由 sarge 升級到 etch
#vi /etc/apt/sources.list
deb http://security.debian.org/ etch/updates main
deb ftp://opensource.nchc.org.tw/debian/ etch main
deb ftp://debian.linux.org.tw/debian/ etch main
deb-src ftp://opensource.nchc.org.tw/debian/ etch main
deb-src ftp://debian.linux.org.tw/debian/ etch main

# apt-get update
# apt-get -u dist-upgrade
#reboot


7. 其他
變更root的密碼
# passwd

新增使用者
# adduser user_name

將內建的tmp-kun使用者移除
# deluser tmp-kun
# rm -R /home/tmp-kun

線上系統升級
# apt-get update
# aptitude update
# aptitude upgrade

8. 參考資料
http://www.dyg.jp/category/kurobox/index.asp
http://blog.goo.ne.jp/g_armani/e/89aba8514fa6ad16bf5272100d3a5c09

10 則留言:

Max Young 提到...

感恩啦~ 回家 try 一下 ~

建人所聞 提到...

不用客氣啦~對了,你是第一個在我Blog留言的人...

Unknown 提到...

hihi.請問一下,若原有有裝一些如sSquirrelMail,ftp 等程式都會消失嗎

建人所聞 提到...

建議整個分割區重新清空啦再升級,不然直接重作OS的話,跟OS相關的設定都會消失。例如User account 等等...

更重要的是,kernel升級後許多程式也要跟著升級,不然在新kernel上執行會有問題。

Chaosh 提到...

請問一下
我照著做到步驟6 將Debian 由 sarge 升級到 etch後重開機就不能再起動(異常訊號的紅燈一直閃爍)
請問這問題您有遇過嗎??

Unknown 提到...

請請你提供如此詳細的資料!

根據你所說的, 已經順利升級到 2.6.x.x, 可是, 當我重新開機時, "紅燈" 就會閃爍六次(HDD error?), 必須拆下HDD, format一次才能回到 EM mode.

第一次的時候, 我以為也許是做錯了甚麼動作, 重複的做了三次, 結果還是一樣.

你說: "將kernel升級到2.6.25.1之後重開機", 這次的 reboot 是沒有問題的.


還是說, 我必須要先下:
#echo -n "NGNG" > /dev/mtdblock2
之後才能:
#reboot 呢?

如果是那樣的話, 那麼, 萬一突然停電, 不是又不能順利開機嗎?

請請指教.

建人所聞 提到...

印象重新開機時"紅燈"閃爍代表OS 或HD有問題。可能要確認一下安裝的步驟...或下載的source

要強迫系統回到EM Mode才要作下面這個動作
#echo -n "NGNG" > /dev/mtdblock2

一般OS沒有問題的話,直接下reboot就好了

鳥仁 提到...

小弟也有如同 windragon 的狀況一樣,只要將核心更新至 2.6(不管哪一版),接下來只要做過跟 apt-get 相關的指令(安裝 package 或 upgrade),reboot 之後玄箱就再也無法開機了,power 綠燈會一直持續閃爍五分鐘,玄箱就會自動關機,然後 diag 會閃六下,也無法進入 em,必須要將硬碟拿出來,將分割區刪除,玄箱才會恢復正常。這個問題已經困擾小弟很久了,所以現在還在使用 2.4 的核心,可是又超想使用 nfs,不知道該怎麼辦才好。

renz@ms1.url.com.tw

Take notes and share 提到...

關於更新後會失敗的問題, 請跳過步驟五, 直接進入步驟六就可以了. 因為目前 stable 已經進入 lenny 了, 所以改用 etch 的版本就好.

Macpaul 提到...

我跳過步驟五直接進入步驟六也還是在 apt-get -u dist-upgrade 失敗,大概已經來回測試過三遍了。請問有什麼方法可以正確做 dist-upgrade 或者是有什麼檔案需要修改的嗎?謝謝。