黑龙江建筑职业技术学院招生网站,城乡住房建设部网站,苏州网站建设自助建站模板,怎么制作wordpress主题LINUX内核自从2.6版以后,就大力推荐CPIO-INITRD.现在各大LINUX发行版的INITRD都是CPIO格式的.这次主要说下如何制作CPIO-INITRD.首先假设咱们已经用BUSYBOX或KLIBC或别的什么做好了根文件系统,位于~/rootfs下.按照IBM DEVELOPERWORKS里的文章说,可以用以下命令制作CPIO-INITRD:…LINUX内核自从2.6版以后,就大力推荐CPIO-INITRD.现在各大LINUX发行版的INITRD都是CPIO格式的.这次主要说下如何制作CPIO-INITRD.首先假设咱们已经用BUSYBOX或KLIBC或别的什么做好了根文件系统,位于~/rootfs下.按照IBM DEVELOPERWORKS里的文章说,可以用以下命令制作CPIO-INITRD:cd ~/rootfsfind . | cpio -c -o ../initrd.imggzip ../initrd.img其实这是不对的.我用这几条命令制作CPIO-INITRD,结果都是KERNEL PANIC.参照我用的ARCHLINUX发行版的mkinitcpio命令的脚本代码,应该是用gen_init_cpio命令来制作CPIO-INITRD.gen_init_cpio命令源码通常与LINUX内核源码一块儿打包,位于内核源码目录的usr/下面.编译其源码得到gen_init_cpio可执行文件,这还不够.gen_init_cpio的参数是一个文本文件,这个文件的内容类似于这种格式:dir /sbin 755 0 0slink /sbin/makedevs ../bin/busybox 777 0 0slink /sbin/modprobe ../bin/busybox 777 0 0slink /sbin/switch_root ../bin/busybox 777 0 0slink /sbin/sysctl ../bin/busybox 777 0 0slink /sbin/lsmod ../bin/busybox 777 0 0slink /sbin/getty ../bin/busybox 777 0 0slink /sbin/ifconfig ../bin/busybox 777 0 0......很明显,这是个文件列表.手工制作这个文件列表是不现实的,usr/目录下还有个gen_initramfs_list.sh,这个脚本就是用来自动生成文件列表的.好了,下面咱们就可以得出生成CPIO-INITRD的完整步骤了:cd ~gen_initramfs_list.sh rootfs/ filelistgen_init_cpio filelist rootfs.cpiogzip rootfs.cpio最后得到的这个rootfs.cpio.gz,就是咱们要的CPIO-INITRD了.在BOOTLOADER里修改一下参数:append initrdrootfs.cpio.gz ramdisk_size8192 vga792结果怎么样?(全文完)参考链接:Linux2.6 内核的 Initrd 机制解析http://www.ibm.com/developerworks/cn/linux/l-k26initrd/index.html阅读(1623) | 评论(0) | 转发(0) |