u-boot-2010.12引导内核启动过程记录

 
资源
u-boot: tekkamanninja-u-boot-2010.12-for-MINI6410-9d3c951.tar.gz
Linux内核:友善之臂提供的linux-2.6.38-20110325.tar.gz

步骤一(U-Boot部分)
1. 解压u-boot后,打开,gedit Makefile,ctrl + F ,输入CROSS,找到交叉编译工具所在部分,修改为:CROSS_COMPILE = arm-linux-。然后保存退出。
2. gedit include/configs/mini6410.h,
line 222
  1. #ifdef CONFIG_ENABLE_MMU
  2. #define CONFIG_SYS_MAPPED_RAM_BASE 0xc0000000
  3. #define CONFIG_BOOTCOMMAND "nand read 0xc0018000 0x80000 0x500000;" \
  4. "bootm 0xc0018000"
  5. #else
  6. #define CONFIG_SYS_MAPPED_RAM_BASE CONFIG_SYS_SDRAM_BASE
  7. #define CONFIG_BOOTCOMMAND "nand read 0x50018000 0x80000 0x500000;" \
  8. "bootm 0x50018000"
  9. #endif
line 297
  1. #define CONFIG_BOOTARGS "= root=ubi0:FriendlyARM-root ubi.mtd=2 rootfstype=ubifs init=/linuxrc console=ttySAC0,115200"
保存,退出。
3. make mini6410_config
   make
4. cp tools/mkimage /usr/bin
5. 把生成的u-boot-nand.bin拷贝到友善的SD卡images/Linux目录下,修改.ini文件中bootloader的名字为改名字。

步骤二(Linux内核部分)
1. cp config_mini6410_n43 .config
2. make zImage
3. 在arch/arm/boot目录下输入:
  1. root@jason: # mkimage -A arm -O linux -T kernel -C none -a 0x50018000 -e 0x50018040 -n "Jason Linux" -d zImage uImage
4. 注意与上面图片中的地址做区分,前面都是0x50018000,后面指定入口时略去前面64字节的头,变为 0x50018040。另外我觉得这一步可以在内核的源码里配置,只是现在执行时生成的uImage加载地址与入口地址与不对,都是0x50008000, 不满足要求,具体在哪修改,有待进一步研究。现在已知arch/arm/mach-s3c64xx/Makefile.boot中修改 加载地址(zreladdr-y := 0x50018000)
5. 把生成的uImage拷贝到友善的SD卡images/Linux目录下,修改.ini文件中kernel的名字为改名字。如下图:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值