首页
新闻
UniX技术
数据库
经验交流
PHP
Linux考试认证
首页
>
Linux考试认证
linux认证:精通initramfs构建stepbystep(四)
时间:2009-05-11 07:24:00 作者:
我要投稿
Linux初探欢迎您的投稿,投放方法请点击
这里
查看,我们会定期赠送精美小礼品给优秀的投稿作者。海纳百川 取则行远!LinuxGoo欢迎您的到来。
一、配置内核支持initrd 到目前为止,我们的init ramfs都由内核编译系统生成的,并链接到内核中。其实我们也可以用cpio命令生成单独的init ramfs,与内核编译脱钩,在......
一、配置内核支持initrd
到目前为止,我们的init ramfs都由内核编译系统生成的,并链接到内核中。其实我们也可以用cpio命令生成单独的init ramfs,与内核编译脱钩,在内核运行时以initrd的形式加载到内核,以增加灵活性。
首先配置内核使用单独的initrd:在 Device Driver / Block device / 配置目录下,选择 RAM filesystem and RAMdisk ( init ramfs/initrd ) support 配置项;再到 General Setup 配置目录项下,将 init ramfs source file(s) 配置项原有的内容清空。然后把内核源码树的usr目录下已由内核编译生成的init ramfs文件initramfs_data.cpio.gz拷贝到 ~/initramfs-test 目录下,我们先直接用这个文件试验一下 initrd 方式的init ramfs的效果。最后,执行make命令重新编译内核后,在QEMU试验环境中,把initrd配置框(linux配置框的下面)的内容写为 ~/init ramfs-test/init ramfs_data.cpio.gz,指定initrd的文件路径。
好了,试验一下新的initrd方式的init ramfs吧,效果跟先前的完全一样。
二、用cpio命令生成init ramfs
cpio命令有三种操作模式:copy-out、copy-in、copy-pass,生成init ramfs用的是它的copy-out模式,即把文件打包的操作模式。cpio的copy-out操作模式使用 -o 命令行选项指定。缺省情况下,cpio从标准输入读取输入数据,向标准输出写入输出数据。使用 -I 选项可以指定文件名代替标准输入,使用 -O 选项可以指定文件名代替标准输出,而 -F 选项指定的文件名则根据cpio操作模式的不同可代替标准输入或标准输出。
把~/init ramfs-test/image目录下的文件打包成init ramfs,执行下面的命令:
find . | cpio -o -H newc | gzip > ../image.cpio.gz
命令执行完毕后,在~/init ramfs-test目录下就会生成文件名为imgae.cpio.gz的init ramfs。
上面cpio命令的 -H 选项指定打包文件的具体格式,要生成init ramfs,只能用newc 格式,如果使用其他格式,内核会打出这样的出错信息:Unpacking init ramfs...<0> kernel panic - not syncing: no cpio magic
在QEMU试验环境下试验一下新的initrd方式的init ramfs,效果跟先前的完全一样。
三、cpio命令的其他用法
如果我们要解开一个cpio格式的打包文件,则要使用cpio命令的copy-in操作模式。cpio的copy-out操作模式使用 -i 命令行选项指定。例如,我们想把前一步从内核源码树 usr目录下拷贝的init ramfs_data.cpio.gz 展开到~/init ramfs-test/init ramfs_data目录下,则使用下列命令:
1
/
2
1
2
下一页
尾页
如果您需转载 linux认证:精通initramfs构建stepbystep(四),请注明来自LinuxGoo.com,其版权归原作者所有。请广大网友留言时遵纪守法,使用文明用语。如果您在应用中有什么问题,请在下面留言,我们会尽快解答。
来顶一下
返回首页
发表评论
共有
条评论
用户名:
密码:
验证码:
匿名发表
相关文章
php6介绍和php6安装手册-PHP6下载
PHP6下载:http://snaps.php.net/PHP6安装手册:第一步:将apache安装到c:/apac
PHP网页UTF8编码开发中空白的问题
开发中一直没办法解决的一个问题 页面采用UTF8编码,头部和尾部用了模板
自定义PHP分页函数
每次编写列表性质的页面,几乎都要写上一段分页的程序。最近小阳终于决
谈谈PHP语法(2)
作者:华红狼上一文《谈谈PHP语法》已谈了PHP的数据类型和表达式。现在,让我
聊天室php
//第一个页面name="index1.php" <? include "../signup/mysql.php";
MySQL创始人向Sun递交辞呈!
MySQL社区关系主管卡伊
Ubuntu系统下安装和配置PostgreSQL8.1
在Ubuntu下安装和配置PostgreSQL相对来说很简单,只是需要注意一些细节上的
Access类型转换函数
每个函数都可以将表达式(表达式:算术或逻辑运算符、常数、函数和字段名称
Oracle 10g各个帐号的访问权限、登录路径、
1。帐号和口令设置要选择用户SYS、SYSTEM、DBSNMP、SYSMAN使用相同的口令
Mac、Linux及iPhone用户都能用网络版Office
考试大获悉:微软日前澄清了围绕Office Web的一个关键问题,即运行Mac OS X和
sql2000安装问题
前些日子用GHOST的系统重装了电脑,发现SQL怎么也安装不上了,弄了N长时间发
Zend Framework 入门(2)—多国语言支持
如果你的项目想要支持多语言版本,那么就需要用到 Zend_Translate。Zend_Tr
宿主机WindowsXP与虚拟机Linux之间Telnet
首先说明下系统,宿主机是Winxp,ip为192.168.1.18,通过vmware安装了Fedora Li
非中文排序规则下对XML数据类型转换的一个
随着SQL Server 2005/2008对XML数据类型的支持,越来越多的应用程序开始使
用PHP实现POP3邮件的解码(二)
MIME 编码方式简介Subject: =?gb2312?B?xOO6w6Oh?=这里是邮件的主题,可是
使用UNIX命令进行文本处理cat 和 echo
UNIX
栏目热门
虚拟机中Linux不能引导的问题
中央电视台CCTV动画部案例RedHatLinux
资讯动态:Ubuntu将支持ARM处理器
linux认证:精通initramfs构建stepbystep(四
linux认证:Linux服务器维护中的锦囊妙计
站内搜索:
Linux
高级搜索
Powered by
Linux初探
© 1999-2009
RSS