制作linux根文件系统

1.   initrd

2.   initramfs

3.   nand/mmcblk/ usb/ nfs


基于android的根文件系统:

    android编译完后生成三个image: boot.img, system.img,  recovery.img.   它们都可以制作成根文件系统。

                boot.img  是root目录生成的。

                system.img是system目录生成的。

                data.img   是data目录生成的。

                recovery.img     .....

                这些目录都是用make_ext4fs命令生成的。这个命令可以把一个目录打包成ext4的image文件系统。   具体操作可参照build/core/Makefile.

      make_ext4fs生成的文件系统需要用simg2img工具去除spair信息后才能mount.

               


initrd,   即ramfs.

             它的操作方法很简单,只要把生成的ext4文件系统直接加载到内存,然后设置好bootargs即可。需要注意的是initrd=addr,size要与kernel中的RAM_size要区配。否则kernel会输出RAMDISK: ...... too large.  的提示信息。

             kernel编译时必须要选上 Device Driver--> Block  devices--> ram block device support 及size.

             bootargs参数;      root=/dev/ram0 rw rootwait mem=64M initrd=0x40000000,0x1400000 console=ttyS0,115200

             uboot cmd#         fatload ...... 0x40000000 boot.img.ext4      #此处还可上传cpio格式的image.

         


initramfs

            这个必须在kernel中选中 General Setup-->Initial RAM filesystem  及  source.

            initramfs只能是cpio格式的image.  生成它可以用kernel里边的scripts/gen_initramfs_init.sh命令。生成的cpio文件在usr/initramfs_init.cpio

           把android中的root目录下的文件打成initramfs可以直接启动, busybox打成initramfs时没有输出,原因未知,可能与/dev/console有关。




nand/mmc/usb/nfs

         pass ...


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值