Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15491018
  • 博文数量: 2005
  • 博客积分: 11986
  • 博客等级: 上将
  • 技术积分: 22535
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-17 13:56
文章分类

全部博文(2005)

文章存档

2014年(2)

2013年(2)

2012年(16)

2011年(66)

2010年(368)

2009年(743)

2008年(491)

2007年(317)

分类: LINUX

2007-05-17 15:34:03

[root@gliethttp linux-2.4.19-rmk7]#make at91rm9200dk_config
[root@gliethttp linux-2.4.19-rmk7]#make oldcnofig //使用dk板默认配置
如果想定制,可以继续执行
[root@gliethttp linux-2.4.19-rmk7]#make menuconfig
[root@gliethttp linux-2.4.19-rmk7]#make Image
[root@gliethttp linux-2.4.19-rmk7]#/usr/local/arm/2.95.3/bin/arm-linux-objcopy -O binary -S vmlinux linux.bin
[root@gliethttp linux-2.4.19-rmk7]#gzip -v9 linux.bin
[root@gliethttp linux-2.4.19-rmk7]#mkimage -A arm -O linux -C gzip -a 0x20008000 -e 0x20008000 -d linux.bin.gz uImage
这样我们得到了Linux启动压缩内核uImage,默认运行地址为0x21000000,
还有一个RAM启动盘-名字为ramdisk-rmk7,在普通的PC机上叫initrd-2.4.20-8.img,在
/boot/grub/menu.lst文件中,我们可以看到它的使用方法:
***********************
root (hd0,6)
     kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/ ##########内核文件
     initrd /boot/initrd-2.4.20-8.img              ##########RAM启动盘文件
***********************
ramdisk-rmk7的默认运行地址为0x21100000,
只要有上边的两个文件,Linux内核就能够正常的工作了。

uBoot中进行如下设置
 Uboot > tftp 21000000 uImage                      ##########装载内核到内存21000000处
 Uboot > tftp 21100000 ramdisk-rmk7                ##########装载RAM启动盘到21100000处
 Uboot > setenv bootargs root=/dev/ram rw initrd=0x21100000,6000000 ramdisk_size=15360 console=ttyS0,115200 mem=32M
 Uboot > bootm 21000000
如上是通过tftp直接将内核文件uImage和RAM启动盘加载到内存中,然后运行,下面讲讲如何
将这两个文件固化到Flash中,然后通过Flash进行加载启动:
1)将RAM启动盘固化到c0000000为起始地址的Flash中
 U-Boot > tftp 20000000 PATH/ramdisk-rmk7
 U-Boot > cp.b 20000000 c0000000 ramdisk_size
2)将uImage内核镜像固化到紧跟RAM盘存储空间之后
 U-Boot > tftp 20000000 PATH/uImage
 U-Boot > cp.b 20000000 c0000000+ramdisk_size image_size
3)存储之后,就要配置uBoot启动加载参数了
 U-Boot > setenv ramdisk cp.b c0000000 21100000 ramdisk_size
 U-Boot > setenv image cp.b c0000000+ramdisk_size 21000000 image_size<
 U-Boot > setenv boot bootm 21000000
 U-Boot > setenv bootcmd run ramdisk\; run image\; run boot
 U-Boot > saveenv
 U-Boot > run bootcmd

阅读(1801) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~