文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>关于built-in进zImage中去的initramfs如何生成和..

关于built-in进zImage中去的initramfs如何生成和..

时间:2010-05-26  来源:gliethttp

vim usr/initramfs_data.S
SECTIONS
{
       .init.ramfs : { *(.data) } // 包含所有data
}
.section .init.ramfs,"a"
.incbin "usr/initramfs_data.cpio.gz" // data为usr/initramfs_data.cpio.gz文件内容

vim arch/arm/kernel/vmlinux.lds.S
#ifdef CONFIG_BLK_DEV_INITRD
        . = ALIGN(32);
        __initramfs_start = .;
            usr/built-in.o(.init.ramfs)
        __initramfs_end = .;
#endif

vim init/initramfs.c
rootfs_initcall(populate_rootfs);
static int __init populate_rootfs(void)
{
    // 先unpack built-in编译进内核的以__initramfs_start地址开始的fs数据
    char *err = unpack_to_rootfs(__initramfs_start,
             __initramfs_end - __initramfs_start, 0);
    // 再unpack bootloader传过来的以initrd_start地址开始的fs数据
    err = unpack_to_rootfs((char *)initrd_start,
            initrd_end - initrd_start, 0);
}
生成initramfs.gz加载文件
scripts/gen_initramfs_list.sh -o /vobs/gliethttp/initramfs.gz /vobs/nfs/

如果-d后面不加任何参数那么将显示默认的initramfs中包含的文件
scripts/gen_initramfs_list.sh -d

显示initramfs.cpio中的包含的文件
gunzip /vobs/gliethttp/initramfs.gz
cpio -i -t < /vobs/gliethttp/initramfs

或者直接显示initramfs.gz中包含的文件
gunzip -c /vobs/gliethttp/initramfs.gz | cpio -i -t
相关阅读 更多 +
排行榜 更多 +
枪战大乱斗2

枪战大乱斗2

飞行射击 下载
猎鸭挑战安卓版

猎鸭挑战安卓版

飞行射击 下载
空军

空军

飞行射击 下载