@leaveye
2016-03-14T01:57:58.000000Z
字数 3865
阅读 1389
w1302
hd
boot
u-boot
install
作为参考,列出 SD 卡启动模式下的启动参数。
文档提供测试用:
setenv bootcmd 'if mmc rescan 0; then if run loadbootscript; then run bootscript; else echo In case ENV on MMC/SD is required; echo Please put a valid script named boot.scr on the card; echo Refer to the User Guide on how to generate the image; fi; else echo Please set bootargs and bootcmd before booting the kernel; echo If that has already been done please ignore this message; fi'
setenv bootargs 'console=ttyO0,115200n8 rootwait rw earlyprintk loglevel=5 mem=364M@0x80000000 vmalloc=500M notifyk.vpssm3_sva=0xBF900000 root=/dev/mmcblk0p2 rootfstype=ext3 ip=off'
生产时用:
setenv bootcmd 'mmc rescan 0;fatload mmc 0 0x82000000 uImage;bootm 0x82000000'
setenv bootargs 'console=ttyO0,115200n8 rootwait rw earlyprintk loglevel=5 mem=364M@0x80000000 vmalloc=500M notifyk.vpssm3_sva=0xBF900000 root=/dev/mmcblk0p2 rootfstype=ext3 ip=off'
设置 uboot 参数
在 uboot 提示符 TI8168EVM# _
下输入:
setenv ipaddr 192.168.2.233
setenv serverip 192.168.2.55
setenv bootargs '=== delayed ==='
setenv dollar '$'
setenv setbootargs 'setenv bootargs "setenv bootargs \\"${dollar}{staticargs} ${dollar}{${bootmsg}args} ${dollar}{${bootfrom}bootargs}\\""; run bootargs'
setenv bootcmd 'run setbootargs; printenv bootargs; nand read 82000000 280000 440000; bootm 82000000'
setenv quietargs 'loglevel=4'
setenv verboseargs 'earlyprintk loglevel=8'
setenv staticargs 'console=ttyO0,115200n8 mem=439M@0x80000000 vmalloc=500M notifyk.vpssm3_sva=0xBF900000'
setenv nfsbootargs "root=/dev/nfs nfsroot=${serverip}:/srv/rootfs/w1302-testing-hd,nolock rw ip=${ipaddr}:${serverip}:192.168.2.10:255.255.252.0:TI8168:eth0:off"
setenv burnbootargs "root=/dev/nfs nfsroot=${serverip}:/srv/rootfs/w1302-product-hd,nolock rw ip=${ipaddr}:${serverip}:192.168.2.10:255.255.252.0:TI8168:eth0:off"
setenv nandbootargs 'root=/dev/mtdblock7 rw rootfstype=jffs2'
setenv bootfrom nand
setenv bootmsg quiet
saveenv
上面最后两行参数可做如下配置:
uboot 变量 | 可用值 |
---|---|
|
|
bootmsg |
quiet , verbose (earlyprintk loglevel=8 ) |
bootfrom |
nand nfs (192.168.2.55:/srv/rootfs/w1302-testing )burn (192.168.2.55:/srv/rootfs/w1302-product-hd ) |
将 rootfs image 烧写到 flash 中去
需要
setenv bootfrom burn
./install-rootfs stage-02.tar.gz
#!/bin/sh -x
# reference: /home/root/load-hd-v4l2-firmware.sh
#
# manage HDVICP2 and HDVPSS Engine firmware
DRVDIR=/lib/modules/`uname -r`/kernel/drivers
# was UTLDIR=/home/root/usr/share/ti/ti-media-controller-utils
UTLDIR=/usr/share/ti/ti-media-controller-utils
HDVPSS_ID=2
loadmod() {
test -f "$1" ||
{ echo "missing driver `pwd`/$1"; return 1; }
${DEBUG:=false} && echo "> insmod $@"
insmod "$@" && echo "loaded driver ${1##*/}" ||
echo "failed to load driver `pwd`/$1"
}
unloadmod() {
lsmod | grep $1 >/dev/null 2>&1 ||
{ echo "have not loaded driver $1"; return 1; }
rmmod $1 && echo "unloaded driver $1" ||
echo "failed to unload driver $1"
}
case "$1" in
start)
echo "modules loaded"
lsmod | sed -e 's/^/ /'
cd "$DRVDIR"
loadmod char/edma3.ko
loadmod char/ti667x_pcie_bootdrv.ko
loadmod dsp/syslink.ko
echo -n -e "syslink initing ..."
until [[ -e /dev/syslinkipc_ProcMgr && -e /dev/syslinkipc_ClientNotifyMgr ]]
do sleep 0.5; done
echo -e " DONE"
(
echo "Loading HDVPSS (V4L2) Firmware"
cd $UTLDIR
firmware_loader $HDVPSS_ID dm816x_hdvpss_v4l2.xem3 start -i2c 0
)
loadmod video/ti81xx/vpss/vpss.ko sbufaddr=0xBFB00000 mode=hdmi:1080p-60,dvo2:1080p-60,hdcomp:1080p-60 i2c_mode=0
loadmod video/ti81xx/ti81xxfb/ti81xxfb.ko vram=0:40M,1:1M,2:1M
loadmod gpu/gpu/pvr/pvrsrvkm.ko
loadmod gpu/gpu/pvr/bufferclass_ti.ko
loadmod gpu/gpu/pvr/omaplfb.ko
loadmod media/video/ti81xx/ti81xxvo.ko
loadmod media/video/tvp7002.ko
loadmod media/video/gs2971.ko
loadmod media/video/ti81xx/ti81xxvin.ko
fbset -depth 32 -rgba 8/16,8/8,8/0,0/0
loadmod video/ti81xx/ti81xxhdmi/ti81xxhdmi.ko
;;
stop)
unloadmod bufferclass_ti
unloadmod omaplfb
unloadmod pvrsrvkm
unloadmod edma3
unloadmod ti667x_pcie_bootdrv
echo "Unloading HDVPSS Firmware"
unloadmod ti81xxfb
unloadmod ti81xxvin
unloadmod ti81xxvo
unloadmod tvp7002
unloadmod gs2971
unloadmod ti81xxhdmi
unloadmod vpss
(
cd $UTLDIR
firmware_loader $HDVPSS_ID dm816x_hdvpss_v4l2.xem3 stop
)
unloadmod syslink
;;
esac