Was this page helpful?

編譯 U-Boot kernel

    要編譯 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。

    Q & A

    Q: 製作好的 iptvbootupdate.bin 如何使用?

    Ans:網樂通升級 U-Boot 的步驟如下:

    1. 準備一個 USB 隨身碟,並且格式化為 FAT16
    2. 將 U-Boot 自動升級檔 iptvbootupdate.bin 複製到 USB 碟的根目錄
    3. 將 USB 碟插上網樂通
    4. 按住網樂通前方 Reset 孔不放,將網樂通開機,待前方藍燈閃爍三次後可放開 Reset
    5.  約莫 1-2 分鐘,藍燈會閃爍數次
    Q: 不知為何 iptvbootupdate.bin 無法自動被寫入?

    Ans:先用官方釋出的版本做一次升級,成功後再換成自己製作的,再升級一次。

    Was this page helpful?
    標籤 (Edit tags)
    • No tags
    您必須 登入 才能發佈評論。
    Powered by MindTouch Core