mini2440移植uboot-2008.10 遇到的问题

时间:2022-10-14 17:12:39

1、mkimage的使用(u-boot-2008.10/tools/mkimage)

首先./mkimage 运行或者 将mkimage 拷贝到 /bin 目录下面

法一:

#mkimage -n 'linux-2.6.14' -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008000 -d zImage zImage.img

tftp 0x31000000 zImage.img

法二:

#mkimage -n 'linux-2.6.14' -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008040 -d zImage zImage.img

tftp 0x30008000 zImage.img 

2、使用友善编译好的内核,启动时LCD有显示输出,而中断没有显示

MACH_TYPE_MINI2440  均为1999 没有问题

最后查出是由于uboot中include/configs/mini2440.h中少了以下三个配置

//把信息传入linux核心的TAG定义:
103 #define CONFIG_SETUP_MEMORY_TAGS  /* 向内核传递内存分布信息   如果没有定义这个参数,则uboot参数必须加入men=内存大小*/
104 #define CONFIG_INITRD_TAG 
105 #define CONFIG_CMDLINE_TAG /* 向内核传递命令行参数  设置bootargs出入内核必须 */

4、内核nfs启动

nfs 31000000 192.168.1.10:/opt/FriendlyARM/mini2440/rootfs_qtopia_qt4/zImage.img

bootm 31000000

 

#define CONFIG_BOOTCOMMAND "tftp 31000000 zImage.img; bootm 31000000"

5、bootargs设置 nfs启动

(1)修改 变量

setenv bootargs noinitrd root=/dev/nfs rw nfsroot=192.168.1.10:/opt/FriendlyARM/mini2440/rootfs_qtopia_qt4 ip=192.168.1.11:192.168.1.10:255.255.255.0 console=ttySAC0,115200 init=/linuxrc mem=64M

(2)设置 CONFIG_BOOTARGS

#define CONFIG_BOOTARGS     "noinitrd root=/dev/nfs rw nfsroot=192.168.1.10:/opt/FriendlyARM/mini2440/rootfs_qtopia_qt4 \
                             ip=192.168.1.11:192.168.1.10:255.255.255.0 console=ttySAC0,115200 init=/linuxrc mem=64M"