1、准备工作
开发环境:
Ubuntu 14.04 LTS
mini2440(arm9)
U-Boot 2012.04.01(国嵌教程附带)
linux-2.6.32.2(开发板光盘)
其他工具
J-Link ARM V4.28c
busybox-1.13.3
arm-linux-gcc-4.4.3
2440.jflash
2、U-Boot移植
1) make distclean //清理
2) make mini2440_config //配置
3) make ARCH=armCROSS_COMPILE=arm-linux- //编译
4) 生成uboot-bin文件
5) 打开J-Flash ARM配置:
(2440.jflash文件)
6) 打开uboot-bin文件,开发板->NorFlash上电,连接J-Link,Target->connect
7) Erase Chip;Program
8) 断开J-Link,连接串口,OK
9) 上电回车,输入u-boot命令
printenv查看环境变量
- setenv 添加、修改、删除环境变量
- saveenv 保存环境变量,将当前定义的所有变量及其值存入flash中。
- ipaddr 开发板IP(可改)
- serverip 主机IP(tftp服务器的地址)
- gatewayip网关
- ethaddr 开发板的mac地址
- bootcmd 设置倒计时后自动启动时默认执行的一些命令 setenv bootcmd 'tftp0x30000000 uImage \; bootm 30000000' //自动把tftp服务器上的uImage下载到0x30000000处,并启动内核
- bootargs setenvbootargs 'root=/dev/nfs rw nfsroot=192.168.1.101 :/home/hwx/rootfs ipip=192.168.1.102:192.168.1.101:192.168.1.255:255.255.255.0console=ttySAC0,115200 init=/linuxrc mem=64M rootdelay=10'
- root=/dev/nfs 在文件系统为基于nfs的文件系统的时候使用。
- nfsroot=serverip:nfs_dir 即指明文件系统存在那个主机的那个目录下面。
- ip 指定系统启动之后网卡的ip地址,如果使用基于nfs的文件系统,那么必须要有这个参数。ip= ipaddr : serverip : gatewayip : netmask
3、Linux移植
1) make distclean
2) make menuconfig ARCH=arm
3) make uImage ARCH=armCROSS_COMPILE=arm-linux
4) cd arch/arm/boot/
5) chmod 777 uImage
6) 将uImage放到tftpboot目录中
4、NFS文件系统
sudo /etc/init.d/rpcbind restart
sudo /etc/init.d/nfs-kernel-server restart