瑜伽馆练空中瑜伽照片:Trident:备忘tftp+nfs+编译sdk+启动参数(私有)
setenv ipaddr 172.16.55.227
setenv serverip 172.16.55.62
setenv gatewayip 172.16.55.254
setenv ethaddr A2:34:23:23:12:43
setenv uboot_macaddr 1
setenv uboot_cmdline 1
setenv bootargs "root=/dev/nfs rw nfsroot=172.16.55.62:/home/nfsroot ip=172.16.55.252:172.16.55.62:172.16.55.254:255.255.255.0:stb_006037031510:eth0:off console=ttyS1,115200n8"
setenv bootargs "root=/dev/nfs rw nfsroot=$serverip:/home/nfsroot ip=$ipaddr:$serverip:$gatewayip:255.255.255.0:stb_006037031510:eth0:off console=ttyS1,115200n8"
tftpboot 0x100000 vmlinux.ub;bootm 0x100000
ifconfig eth0 172.16.55.227
export LD_LIBRARY_PATH=/opt/lib
(1)bootcmd(nfs)
setenv bootcmd "tftp 0x100000 172.16.55.62:vmlinux.ub;bootm 0x100000"
(2) bootcmd(u盘)
setenv bootcmd "usb start;fatload usb 0:1 0x100000 vmlinux.ub;bootm 0x100000"
一、tftp服务器
http://blog.csdn.net/evilcode/archive/2010/06/22/5686129.aspx
安装: apt-get install tftpd-hpa tftp-hpa
配置:vi /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/opt/tftpboot" //填入你的tftp服务目录
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
使用:service tftpd-hpa restart
tftp localhost
get test.txt
二、nfs服务器
http://blogold.chinaunix.net/u3/113851/showart_2338435.html
(1)安装apt-get install nfs-kernel-server
(2)配置 /etc/exports ;exportfs -rv
vi /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
#trident 's rootfs
/home/nfsroot *(rw,sync,no_root_squash)
#qemu 's arm-ubuntu filesystem image
/home/qxczj/b8/arm_ubuntu_nfsroot *(rw,sync,no_root_squash)
# from /home/qxczj/b8/arm_ubuntu_nfsroot
/home/qemu_arm_ubuntu_nfsroot *(rw,sync,no_root_squash)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
(3)使用 mount.nfs 172.16.55.62:/home/nfsroot /mnt
三、Trident板子重启参数
Me:
setenv bootcmd "tftp 0x100000 vmlinux.ub;bootm 0x100000"
setenv bootargs "root=/dev/nfs rw nfsroot=172.16.55.62:/home/nfsroot ip=172.16.55.226:172.16.55.62:172.16.55.254:255.255.255.0:stb_006037031510:eth0:off console=ttyS1,115200n8"
yuan:
bootcmd=tftp 0x100000 172.16.55.225:uImage;bootm 0x100000
bootargs=root=/dev/nfs rw nfsroot=172.16.55.225:/home/nfs_trident ip=172.16.55.226:172.16.55.225:172.16.55.254:255.255.255.0:stb_006037031510:eth0:off console=ttyS1,115200n8
四、u盘启动
usb start
usb storage
usb tree
setenv bootargs "root=/dev/sda2 rw ip=172.16.55.252:172.16.55.191:172.16.55.254:255.255.255.0:stb_006037031510:eth0:off console=ttyS1,115200n8"setenv bootcmd "usb start;fatload usb 0:1 0x100000 uImage;bootm 0x100000"
三+四:参数重新配置需要修改的参数
网络: ipaddr serverip gatewayip
内核参数+启动命令: bootargs+bootcmd
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.原版参数: pnx8473_hirf_moca_debug_defconfig里,“noinitrd console=ttyS1,115200n8 mtdparts=nx_2016:1024k@0k(uldr),512k@1024k(u-boot),5m@1536k(kernel),32m@7m(root),32m@39m(appfs),-(extra);nx_sfc:1024k@0k(uldr),512k@1024k(u-boot),5m@1536k(kernel),8m@7m(root),-(sfc-extra) root=/dev/mtdblock3 rootfstype=jffs2 rw rootflags=noatime”
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2.ME: 55.62,nfs
setenv bootargs "root=/dev/nfs rw nfsroot=172.16.55.62:/home/nfsroot ip=172.16.55.252:172.16.55.62:172.16.55.254:255.255.255.0:stb_006037031510:eth0:off console=ttyS1,115200n8"
setenv bootcmd "tftpboot 0x100000 vmlinux.ub;bootm 0x100000" -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3.ME: u盘启动
setenv bootargs "root=/dev/sda2 rw ip=172.16.55.226:172.16.55.62:172.16.55.254:255.255.255.0:stb_006037031510:eth0:off console=ttyS1,115200n8"
bootcmd="usb start;fatload usb 0:1 0x100000 uImage;bootm 0x100000"
setenv bootcmd "usb start;fatload usb 0:1 0x100000 vmlinux.ub;bootm 0x100000"
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
五、编译uclib版sdk
Files:
APOLLO_SHINER_GA_SDK_3.2.0_20101217.bin
APOLLO_SHINER_CUMULATIVE_PATCH_3.2.115_20110211.tar.gz
操作:
(1)解压源码: ./APOLLO_SHINER_GA_SDK_3.2.0_20101217.bin
(2)修改源码: cd SRC;tar -xzvf ..115..tar.gz
改pnx8473_hirf_moca_debug_defconfig CONFIG_SATA_APOLLO=m
新增1: 更新vpmfb.c , pm_surface_internal.c
新增2: target/src/configs/hwconfig/summit.cfg
PIO_BOARD_AUDIO_MUTE = (191+GPIO_DEVICE_ID_INTERNAL+GPIO_POSITIVE_POLARITY+GPIO_PIN_IS_OUTPUT)
新增3: target/src/configs/swconfig/swconfig.cfg
将与CEC有关的两项的YES改为NO。=》解决在LG液晶屏上播放卡死的问题。
(3)配置(解压编译器和环境变量): cd SRC; `cat source.cat`
(4)编译
u盘启动版本:
操作:
(1)解压源码: ./APOLLO_SHINER_GA_SDK_3.2.0_20101217.bin
(2)修改源码: cd SRC;tar -xzvf ..115..tar.gz
改pnx8473_hirf_moca_debug_defconfig
串口信息: CONFIG_SATA_APOLLO=m
改内核为支持ext3:CONFIG_EXT3_FS=y
修改bootargs!:CMDLINE
CONFIG_CMDLINE=“root=/dev/sda2 rw ip=172.16.55.252:172.16.55.191:172.16.55.254:255.255.255.0:stb_006037031510:eth0:off console=ttyS1,115200n8”
(3)配置(解压编译器和环境变量): cd SRC; `cat source.cat`
(4)编译
六、编译glibc版sdk
p { margin-bottom: 0.21cm; }a:link { 在上面的五配置之前还需
(1)拷贝glibc编译器到toolchains
(2)对SRC打三个补丁
(3)编完后拷贝一些库到根文件系统
ftp://yanfauser:20060228@ftp.jinglun.com.cn/glibc/
cdSRC
cp.../gnu_cortex-a9_tools_glibc.tar.gzopen_source_archive/linux/toolchains/
patch-p1 < .../001.pnx8400_a9_env.sh
patch-p1 < .../002.project_include.mk.patch
patch-p1 < .../003.busybox-1.16.1.config.patch
afterbuilding your system (make in foldertarget/build/systems/linux/stbtv/), cp -a ${_TMSYSROOT}/usr/lib/lib*to your lib folder in your rootfs.
七、烧写uboot到flash上
On Uboot:
setenv ethaddr 00:25:8f:67:82:28
setenv serverip 172.16.55.90
setenv ipaddr 172.16.55.88
tftp uldr.bin.uartboot_img
nand erase 0x0 0x100000
nand write 0x0 0x100000
tftp ub.bin
nand erase 0x100000 0x80000
nand write 0x100000 0x80000
tftp Image
nand erase 0x180000 0x800000
nand write 0x180000 0x800000
setenv loadaddr 0x100000
setenv uboot_macaddr 1
setenv uboot_cmdline 1
setenv ethaddr 00:60:37:03:12:17
setenv ipaddr 172.16.55.232
setenv netmask 255.255.255.0
setenv serverip 172.16.55.225
setenv bootcmd "tftp 0x100000 172.16.55.225:uImage;bootm 0x100000"
setenv mtdparts "mtdparts=nx_2017:1024k@0k(uldr),512k@1024k(u-boot),8m@1536k(kernel),1014m@10m(rootfs),-(extra)"
setenv bootargs "root=/dev/nfs rw nfsroot=172.16.55.225:/home/nfs_h1 ip=172.16.55.232:172.16.55.225:172.16.55.254:255.255.255.0:stb_006037031510:eth0:off ${mtdparts} console=ttyS1,115200n8"
saveenv
setenv bootargs "${mtdparts} ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs ip=172.16.55.232:172.16.55.225:172.16.55.254:255.255.255.0:stb_006037031510:eth0:off console=ttyS1,115200n8"
ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs
三种启动方式:
nfs:
setenv bootargs "root=/dev/nfs rw nfsroot=$serverip:/home/nfs_h1_rec ip=$ipaddr:$serverip:$gatewayip:255.255.255.0:stb_006037031510:eth0:off console=ttyS1,115200n8"
nfs+mtdparts:
setenv bootargs "root=/dev/nfs rw nfsroot=$serverip:/home/nfs_h1_rec ip=$ipaddr:$serverip:$gatewayip:255.255.255.0:stb_006037031510:eth0:off console=ttyS1,115200n8 mtdparts=nx_2017:1024k@0k(uldr),1024k@1024k(u-boot),8m@2048k(kernel),1014m@10m(rootfs),-(extra)"
mtdpars:
setenv bootargs "mtdparts=nx_2017:1024k@0k(uldr),512k@1024k(u-boot),8m@1536k(kernel),1014m@10m(rootfs),-(extra) ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs ip=$ipaddr:$serverip:$gatewayip:255.255.255.0:stb_006037031510:eth0:off console=ttyS1,115200n8 mtdparts=nx_2017:1024k@0k(uldr),1024k@1024k(u-boot),8m@2048k(kernel),1014m@10m(rootfs),-(extra)"
S50里添加应用程序
在S50里面,
ifconfig eth0 172.16.55.227 netmask 255.255.255.0
route add default gw 172.16.55.254
export LD_LIBRARY_PATH=/opt/lib
set_display_mode 720P
player_demo /data/ts/4.ts &
sleep 1
set_display_mode 720P
九、制作和烧写ubifs镜像
- 制作
ubinize -o ubi.img -m 2048 -p 128KiB -s 2048 ubinize.cfg
[ubifs]
mode=ubi
image=ubifs.img
vol_id=0
vol_size=900MiB
vol_type=dynamic
vol_name=rootfs
vol_flags=autoresize
(1)在内核层烧写(格式化)
用镜像文件格式化/dev/mtd8 http://patchwork.ozlabs.org/patch/42566/
ubiformat -s 1024 -f ubifs1b.img /dev/mtd8
ubiformat -s 2048 -f ubi.img.big /dev/mtd3
(2)在uboot下烧写
- 修改mtdpats
Apollo # mtdparts
device nand0
#: name size offset mask_flags
0: uldr 0x00100000 0x00000000 0
1: u-boot 0x00080000 0x00100000 0
2: kernel 0x00500000 0x00180000 0
3: root 0x02000000 0x00700000 0
4: appfs 0x02000000 0x02700000 0
5: extra 0x3b900000 0x04700000 0
active partition: nand0,0 - (uldr) 0x00100000 @ 0x00000000
defaults:
mtdids : none
mtdparts: none
mtdparts add nand0 8m@1536k kernel ro
mtdparts add nand0 1014m@10m rootfs ro
修改后:
device nand0
#: name size offset mask_flags
0: uldr 0x00100000 0x00000000 0
1: u-boot 0x00080000 0x00100000 0
2: kernel 0x00800000 0x00180000 1
3: rootfs 0x3f600000 0x00a00000 1
active partition: nand0,0 - (uldr) 0x00100000 @ 0x00000000
- 烧写(注意位置是整个rootfs的区!!!)
nand erase 0xa00000 0x3f600000
nand write 0xa00000 0x3f600000