擷取broadcom軟體開發封包件(refsw-YYYYMMDD-PLATFORM.tgz)
登陸Linux作業系統,建立開發目錄
cd /root
mkdir broadcom
cd broadcom
解壓broadcom開發包到一備份目錄
cd /home/broadcom
tar xzvf refsw-YYYYMMDD-PLATFORM.tgz
建立交叉編譯工具
cd /broadcom
mkdir toolchaincd toolchain
tar xjvf /home/broadcom/crosstools_hf-linux-2.6.18.0_gcc-4.2-11ts_uclibc-nptl-0.9.29-20070423_20090508.tar.bz2
設定交叉編譯工具路徑
vim /etc/profile(add :pathmunge /broadcom/toolchain/crosstools_hf-linux-2.6.18.0_gcc-4.2-11ts_uclibc-nptl-0.9.29-20070423_20090508/bin)
./etc/profile
which mipsel-uclibc-gcc
安裝kernel與fs源碼
mkdir -p /broadcom/brcm/
cd /broadcom/brcm
tar xjvf /home/broadcom/stblinux-2.6.31-1.2.tar.bz2
tar xjvf /home/broadcom/uclinux-rootfs-2.6.31-1.2.tar.bz2
編譯kernel與fs
cd /broadcom/brcm/uclinux-rootfs
make defaults-PLATFORMversion
make defaults-7550a0 (執行個體)
make (kernel與fs一起編譯生成
)make install TFTPDIR=directorymake install TFTPDIR=bcm7580(将編譯好的檔案拷貝到tftp根目錄下的bcm7580檔案夾中)
配置kernelmake menuconfig-linux
配置busyboxmake menuconfig-busybox
配置fsmake menuconfig-uclibc
配置vendormake menuconfig-vendor
編譯kernel
make vmlinuz-PlatformVersion
make vmlinuz-7550a0(執行個體)
編譯帶檔案系統的kernel
cd /broadcom/brcm/uclinux-rootfs
make vmlinuz-initrd-PlatformVersion
make vmlinuz-initrd-7550a0(執行個體)
編譯kernel的debug版本
make vmlinuz-PlatformVersion-kgdb
make vmlinuz-7550a0-kgdb(執行個體)
編譯機頂盒應用軟體
cd /broadcom/
mkdir SourceDirectorymkdir refsw-20100310.97550(執行個體)
tar xzvf refsw-YYMMDD.platform.src.tgz
tar xzvf refsw-20100310.97550.src.tgz
cd sourcedir/BSEAV/app/brutus/build
vim setup.sh(建立腳本,設定編譯環境變量)
source setup.sh
make install
Setup.sh腳本中必須包含下列資訊:
export PVR_SUPPORT=y
#export DEBUG=y
#export STATIC_SETTOPAPI=y
#export SHAREABLE=n
export LINUX=/broadcom/brcm/stblinux-2.6.31
#Path where the Toolset and Kernel is installed
export PATH=$PATH:/broadcom/toolchain/crosstools_hf-linux-2.6.18.0_gcc-4.2-11ts_uclibc-nptl-0.9.29-20070423_20090508
export PLATFORM=97550(platform)
export BCHP_VER=A0(version)
檔案的燒錄與安裝
當STB的存儲器中沒有任何可用程式時
需使用BBS_USB調試工具或燒錄器——下載下傳bootloader程式至STB的指定空間
STB中有bootloader即CFE檔案
(STB接上網線,序列槽線,開啟一超級終端或minicom配置為:115200 8N1)STB上電啟動時,在一超級終端中按ctrl+C進入CFE>
在CFE中可以使用help指令檢視有哪些指令可以使用或怎麼使用
使用show devices指令檢視flash分區情況
使用macprog或macprog2指令燒寫STB的mac位址
例:macprog 97405 6 1 或macprog2 00-60-6E-70-1D-C6
檢查host的TFTP,NFS等網絡服務是否可用(注意防火牆)
配置STB網路(盡量讓STB與host在同一網段)
ifconfig eth0 -auto
ifconfig eth0 -addr=x.x.x.x -mask=xxx.xxx.xxx.xxx -gw=xxx.xxx.xxx.xxx
ifconfig eth0 -addr=192.168.3.208 -mask=255.255.255.0 -gw=192.168.3.250
燒錄CFE:
flash -noheader host ip:tftp path/file flash.partition
flash -noheader 192.168.3.206:cfe_7405_le.bin flash0.cfe
燒錄LOG:
flash -noheader 192.168.3.206:cfe_7405_le.bin flash0.splash
燒錄kernel:
flash -noheader 192.168.3.206:vmlinuz-7405a0 flash0.kernel
燒錄file system:
flash -noheader 192.168.3.206:ubifs-128k-2048-7550a0.img flash0. avail0
通過啟動網絡燒錄file system
通過啟動網絡kernel與fs:
boot -z -elf host ip:tftp path/file
boot -z -elf 192.168.3.206:vmlinuz-initrd-7405a0
配置STB系統網絡:
ifconfig eth0 stb ip netmask xxx.xxx.xxx.xxx
ifconfig eth0 192.168.3.208 netmask 255.255.255.0
燒錄檔案系統:
stbutil host ip:path/
stbutil 192.168.3.206:
select user file system
reboot
配置啟動
setenv -p STARTUP "boot -z -elf flash0.kernel: 'ubi.mtd=rootfs rootfstype=ubifs root=ubi0:rootfs bmem=64M@64M brcmnand.cmd=rescan'"
安裝STB參考應用軟體
配置STB網絡
在STB上加載HOST的NFS
mount host ip:/nfs path /stb path
mount 192.168.3.206:/opt/refsw/BSEAV/bin /mnt/nfs
将STB軟體拷貝到檔案系統中
mkdir /home/brutus
cd /home/brutus
tar zxvf /mnt/nfs/refsw-yyyymmdd.platform-linux-uclibc.bin.tgz
tar zxvf /mnt/nfs/refsw-20080427.97405-linux-uclibc.bin.tgz
settop install
Settop brutus --exec
設定啟動腳本
vi /root/rc.user
寫入需要執行的啟動腳本
settop brutus &
重新啟動STB
http://blog.sina.com.cn/s/blog_546abd9f0100pmj2.html