3.10内核中使用dtb的ramdisk启动方法

内核配置如下:
     1) General setup-->[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support 
                          [*]   Support initial ramdisks compressed using gzip
                          [*]   Support initial ramdisks compressed using bzip2
2)device driver-->Block devices--><*>   Loopback device support
                                               <*>   RAM block device support
                                               (16384) Default RAM disk size (kbytes)
3)ext2 filesystem support, enalbed by default
确保这3大选项选中。
制作一个ramdisk,格式为ext2的。

sudo dd if=/dev/zero of=ramdisk bs=1024 count=16384

sudo mkfs.ext2 ramdisk

sudo mount -o loop ramdisk ramdisk_mount

sudo cp -afr altera-image-minimal-1.0-r0/rootfs/* ramdisk_mount/

sync

sudo umount ramdisk_mount/

sudo gzip ramdisk

sudo mkimage -n 'uboot ext2 ramdisk rootfs' -A arm -O linux -T ramdisk -C gzip -d ramdisk.gz ramdisk.gz.uboot

 
mkimage -A arch -O os -T type -C comp -a addr -e ep \
               -n name -d data_file image
               -A ==> set architecture to 'arch' 体系结构
               -O ==> set operating system to 'os' 操作系统
               -T ==> set image type to 'type' 映像类型
              -C ==> set compression type 'comp' 压缩方式
              -a ==> set load address to 'addr' (hex) 加载地址
              -e ==> set entry point to 'ep' (hex) 入口地址
              -n ==> set image name to 'name' 映像文件名
              -d ==> use image data from 'datafile' 制作映像的data源文件
 
u-boot的环境变量:
setenv ramdiskimage 'ramdisk.gz.uboot'

setenv ramdiskaddr '0x2000000'

setenv ramload 'tftp ${loadaddr} ${bootimage};tftp ${ramdiskaddr} \
${ramdiskimage}; tftp ${fdtaddr} ${fdtimage}'

setenv ramboot 'setenv bootargs console=ttyS0,57600 root=/dev/ram rw  rootfstype=ext2; \
bootm ${loadaddr} ${ramdiskaddr} ${fdtaddr}'

setenv bootcmd 'run ramload;run ramboot'

saveenv
 
其中fdtaddr=0x00000100,DDR地址从0X0地址开始的。
 
然后就可以启动内核,并能正常挂载ramdisk。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值