linux嵌入式烧写U-boot 内核文件系统

1、配置tftp服务器

# 可以使用任意的tftp服务器,将package/image_uclibc(或image_glibc)下的相关文件拷贝到tftp服务器目录下。

2、参数配置

# 单板上电后,敲任意键进入u-boot。设置serverip(即tftp服务器的ip)、ipaddr(单板ip)和ethaddr(单板的MAC地址)。
setenv serverip xx.xx.xx.xx
setenv ipaddr xx.xx.xx.xx 
setenv ethaddr xx:xx:xx:xx:xx:xx
setenv netmask xx.xx.xx.xx
setenv gatewayip xx.xx.xx.xx
ping serverip,确保网络畅通。

3、烧写映像文件到NAND Flash
以64M NAND Flash为例。
1)地址空间说明

1M3M128M28M
bootkernelrootfsother

以下的操作均基于图示的地址空间分配,您也可以根据实际情况进行调整。
2)烧写u-boot
mw.b 82000000 ff 100000
tftp 82000000 u-boot-hi3516d.bin
nand erase 0 100000
nand write 82000000 0 100000
reset
3)烧写内核
mw.b 82000000 ff 300000
tftp 82000000 uImage_hi3516d
nand erase 100000 300000
nand write 82000000 100000 300000
4)烧写文件系统
mw.b 82000000 ff 2000000
tftp 82000000 rootfs_hi3516d_2k_4bit_2018.4.3.yaffs2
nand erase 400000 15000000
nand write.yaffs 82000000 400000 bbf17c0 #注意:bbf17c0为rootfs文件实际大小(16进制)
5)设置启动参数
setenv bootargs ‘mem=128M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=yaffs2 mtdparts=hinand:1M(boot),3M(kernel),384M(rootfs),28M(test)’
setenv bootcmd ‘nand read 0x82000000 0x100000 0x300000;bootm 0x82000000’
sa

4、启动新系统
reset # 重启进入新系统。

5、开启Linux下的网络
# 设置网络
ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx;
ifconfig eth0 xx.xx.xx.xx netmask xx.xx.xx.xx;
route add default gw xx.xx.xx.xx
# 然后ping一下其他机器,如无意外,网络将能正常工作。

6、挂载NFS文件系统
# 挂载NFS文件系统的操作命令:
mount -t nfs -o nolock -o tcp -o rsize=32768,wsize=32768 xx.xx.xx.xx:/your-nfs-path /mnt
# cd mnt 进入mnt目录,该目录中应包含home文件夹以及profile和rcS文件
# chmod 777 * 设置文件系统中文件的权限
# cp -R /mnt/home / 将NFS文件系统home目录中的所有文件复制到开发板中
# cp /mnt/profile /etc
# cp /mnt/rcS /etc/init.d/
# reboot

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值