tmwchuang wrote:
看到版主您的解說,又...(恕刪)
//更新bootloader 為u-boot 及Lenny和kernel 2.6.25.20 on /dev/hda1
//僅在KUROBOX/HG上測試過
//(PC)
//先下載:
(1)http://cid-a95b9af71540ba41.skydrive.live.com/self.aspx/.Public/kuro-box/debian-lenny-kuroBOX-20090317.tgz
剛試了一下這個網頁好像語法錯誤,試試看這一個
(2)http://www.genbako.com/kernelimage-2.6.25.1-kuroHG.tgz
(3)http://www.genbako.com/modules-2.6.25.1-kuroHG.tgz
(4)http://genbako.vodapone.com/u-boot_loader/u-boot-hg.serial.flash.bin
(5)http://genbako.vodapone.com/u-boot_loader/u-boot-hg.serial.flash.md5
#md5sum u-boot-hg.serial.flash.bin
#cat u-boot-hg.serial.flash.md5
//檢查md5是否相同
//(KUROBOX/HG)
//進EM-mode
#mount /dev/hda1 /mnt
//(PC)
ftp 192.168.0.100
cd /mnt
binary
put debian-lenny-kuroBOX-20090317.tgz
put kernelimage-2.6.25.1-kuroHG.tgz
put modules-2.6.25.1-kuroHG.tgz
put u-boot-hg.serial.flash.bin
put u-boot-hg.serial.flash.md5
//(KUROBOX/HG)
//進EM-mode
#mount /dev/hda1 /mnt
#cd /mnt
#tar zxvf debian-lenny-kuroBOX-20090317.tgz
#cd /mnt/boot
#tar zxvf /mnt/kernelimage-2.6.25.1-kuroHG.tgz
#mv vmlinux.bin vmlinux.bin.bk
#cp uImage vmlinux.UBoot
#cd /mnt/lib/modules
#tar zxvf /mnt/modules-2.6.25.1-kuroHG.tgz
#vi /mnt/etc/fsttab
//修改如下-------------
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/hda1 / ext3 defaults,noatime,errors=remount-ro 0 0
proc /proc proc defaults 0 0
/dev/hda2 none swap sw 0 0
/dev/hda3 /mnt ext3 defaults,noatime 0 0
//---------------------
#vi /mnt/etc/hostname
#vi /mnt/etc/hosts
#vi /mnt/etc/resolv.conf
#vi /mnt/etc/hosts.allow
#vi /mnt/etc/hosts.deny
#vi /mnt/etc/network/interfaces
//修改如下---------------
iface eth0 inet static
address 192.168.0.100
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
iface lo inet loopback
auto eth0 lo
//-----------------------
//更新Flash 的 bootloader => u-boot
#cd /mnt
#cat u-boot-hg.serial.flash.bin >/dev/fl2
#write_ok
#reboot
//(KUROBOX/HG)
//開機後....由PC telnet 192.168.0.100進去 (帳號:密碼 tmp-kun:tmp-kun root:root)
#vi /etc/apt/source.list
//修改如下--------------
deb http://ftp.tw.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.tw.debian.org/debian/ lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
//----------------------
#aptitude update
#aptitude install make patch unzip bzip2 bison flex libncurses5-dev gcc uboot-mkimage
//自製kernel
#cd /boot
//先備份,若自製kernel起不來,還能用uboot 指定從備份的開機,
#mkdir /tmp/2.6.25.1-kuroboxHG
#cp . /tmp/2.6.25.1-kuroboxHG/
#mv /tmp/2.6.25.1-kuroboxHG /boot/
//從備份kernel開機的方法(我是用自製的ttl<-->rs232 serial 連上kurobox/hg,若您沒有的話,可能就要用nc了)----
uboot開機中,按 s 中斷後
ext2load ide 0:1 800000 boot/2.5.25.1-kuroboxHG/uImage
setenv bootargs root=/dev/hda1
bootm 800000
//--------------------------
#cd /usr/src
#wget http://www.genbako.com/kurobox-sources-2.6.25.patch
#wget http://www.genbako.com/kurobox-section-mismatch2625.patch
#wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.20.tar.bz2
#tar jxpvf linux-2.6.25.20.tar.bz2
#cd /usr/src/linux-2.6.25.20
#patch -Np1 <../kurobox-section-mismatch2625.patch
#patch -Np1 <../kurobox-sources-2.6.25.patch
#cp config_kuroboxhg .config
#export ARCH=ppc
#make oldconfig
//或
#make menuconfig =>加入所需的如usb 網卡 DM9601 driver
#make vmlinux modules
//約2個小時左右
#objcopy -O binary vmlinux /boot/XXvmlinux.bin
#cp System.map /boot/
//上面二行u-boot用不到,不拷貝也沒關係
#make ARCH=ppc modules_install
//將vmlinux 改成uboot的支援的格式
#objcopy -O binary vmlinux vmlinux.bin
#gzip -c vmlinux.bin > vmlinux.bin.gz
#mkimage -A ppc -O linux -T kernel -C gzip -d vmlinux.bin.gz uImage
#rm -f vmlinux.bin vmlinux.bin.gz
#cp uImage /boot/
#cd /boot
#cp uImage vmlinux.UBoot
#reboot
更新 U-Boot 此動作就如同刷新電腦機板的 BIOS 一樣,為了要得到比原本
的軔體更多的功能才會有此需求,當然更新軔體是有風險的,如果更新失敗,
就會因此成為一個開不了機的設備,但實際上東西還是好的。
JTAG 是大多數積體電路都會提供的一種機制,小弟有時會稱為後門,可以
透過硬體接線方式直接對積體電路做溝通,其中的一種作法就是,如果對
玄箱更新 U-Boot 失敗,玄箱開不了機了,就透過 CPU 提供的 JTAG 介面,
直接對 Flash 進行燒錄,把 U-Boot 軔體給燒錄進去,這種作法是對硬體
動作,所以風險也不小,一不小心就是把玄箱給燒掉。
至於 Serial Console,純粹只是看有沒有需求希望以本機連線方式控制玄箱,
跟 U-Boot 沒有絕對關係,U-Boot 也可以使用 netcat 來做設定,並不是
更新了 U-Boot 就一定也要 Serial Console。當然小弟是覺得有 Serial Console
在多數的情況下是滿方便的,特別是想對玄箱「調機」的時候。
所以,若想更新成 U-Boot,就有兩種作法了,一種是樓上有高手提供了在
現有的玄箱系統內,進行在線式的軔體更新,另一種就是要準備好 JTAG
介面,用燒錄的方式來更新軔體。
module 的部份,應該是要抓 HG 版的。
gavincwchen wrote:
看到各位的修改大作,...(恕刪)
手工打造LennyLenny_on_KuroBox-HG.zip
有些筆誤,已修正.
有嘗試的人,有發現錯誤,請告知我一聲,謝謝.
內文搜尋

X