要編譯 U-Boot kernel 可以在 STLinux 交叉編譯的開發主機上完成。
官方釋出的 U-Boot kernel 原始碼:
http://code.google.com/p/nexttv-mod/downloads/list
主要教學文件在目錄內的 README 檔案。
工作目錄: U-boot_sourcecode/
解開目錄內的檔案 u-boot-sh4-1.3.1_stm23_0045.tar.gz
tar xzf u-boot-sh4-1.3.1_stm23_0045.tar.gz
為了要變更預設的 U-Boot 起動的環境參數 bootargs 的內容,必須修改原始碼 swUpdate.c
cd u-boot-sh4-1.3.1_stm23_0045 cd board/st/pdk7105/ cp -a swUpdate.c swUpdate.c.orig vi swUpdate.c
swUpdate.c: 搜尋 bootargs
... else if(partition == INT_USB_PARTITION_RUNNING) { setenv("bootargs", "console=ttyAS0,115200 root=8:2 rootfstype=ext3 rw rootflags=data=journal nwhwconf=device:eth0,hwaddr:10:08:E2:12:06:BD phyaddr:0,watchdog:5000 mem=120M bigphysarea=2048"); setenv("bootcmd", "ext2load usb 0:2 80000000 vmlinux.ub; bootm 80000000"); } ...
將 mem=120M 修改成 mem=256M
編譯開始
cd ../../../ make clean make distclean make pdk7105se_config make
TIPs:
編譯 u-boot kernel 時,指令不需要加上 Cross-Compile 的參數,原始的 Makefile 已經做好相關連結
如果編譯成功,主目錄內會產生檔案 u-boot, u-boot.bin,而 u-boot.bin 就是我們要的
製作網樂通的 U-Boot 自動升級檔
為了要使用戶免拆機就能輕鬆升級 U-Boot,所以按以下步驟,將 u-boot.bin 轉換成 iptvubootupdate.bin
cd ../ cp u-boot-sh4-1.3.1_stm23_0045/u-boot.bin uboot_update_tool/ cd uboot_update_tool/ source makeupdateSW.sh
-->Need Update uboot? Set "y" to update,set "n" to ignore
UPDATEUBOOT =y
-->Please input uboot SW version:
UBOOT_VER =1.3.1
-->Please input HW version:
SMIT: input "1"
HW_VER =1
-->Please input device ID:
GB620: input "620"
DEV_ID =620
-->Please input factory ID:
SMIT: input "101"
FAC_ID =101
-->Please input Date:
eg: 2010-05 input "1005"
DATE =1212
**************** Confirm Your Input Information *************
Update uboot: y
Uboot version: 1.3.1
SW_VER:
HW_VER: 1
DEV_ID: 620
FAC_ID: 101
Date : 1212
****************Please Confirm above Information *************
If the input info is no error,please input "y", or input "n".
InputInfoNoError =y
如果順利,在目錄內會產生檔案 iptvubootupdate.bin。
Ans:網樂通升級 U-Boot 的步驟如下:
Ans:先用官方釋出的版本做一次升級,成功後再換成自己製作的,再升級一次。
Images 0 | ||
---|---|---|
No images to display in the gallery. |