内核zImage的制作(initramfs)

1.通过busybox制作一个我们需要的文件系统,但是没有压缩,所有的文件在目录~/armsource/ramfs下面。
2.initramfs其实就是一个用gzip压缩的cpio文件。我们可以把initramfs直接集成到kernel里,也可以单独加载initramfs。在kernel源码的scripts目录下,有一个gen_initramfs_list.sh脚本,专门是用来生成initramfs镜像和initramfs list文件。你可以通过如下方式自动生成initramfs镜像:
  sh scripts/gen_initramfs_list.sh -o initramfs_data.cpio.gz   ~/armsource/ramfs
然后修改kernel的.config配置文件来包含这个文件:
   CONFIG_INITRAMFS_SOURCE="initramfs_data.cpio.gz"
重新编译后,kernel就自动集成了你制作的initramfs_data.cpio.gz,并会在初始化完成后,加载这个根文件系统,并产生一个shell。




制作内核:
$MAP_ROOT_DIR/tools/mkimage -A ppc -O linux -T multi -C gzip -a 0x0 -e 0x0 -n 'PPC Linux-2.6.21.7' -d piggy.gz:initramfs_data.cpio.gz:SCMF.dtb zImage


linux2.6 内核使用的 initrd 是 cpio 格式,其核心文件是 /init。下面介绍 linux2.6 内核对initrd 的处理流程:
boot loader 把内核以及 initrd 文件加载到内存的特定位置。
内核
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值