天天看点

broadcom 7208/7468 编译和移植过程

获取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

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

<a href="http://blog.sina.com.cn/s/blog_546abd9f0100pmj2.html">http://blog.sina.com.cn/s/blog_546abd9f0100pmj2.html</a>

继续阅读