快速业务通道

编译升级内核2.6.15-2.6.17

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-07
持不同的硬件.在启动完成的阶段,根文件系 统可以重新mount到其他设备上.
Linux启动一定要用initrd么?
不必,如果把需要的功能全都编译到内核中(非模块方 式),只需要一个内核文件即可,initrd能够减小启动内核的体积并增加灵活性.如果你的内核以模块方式支持某种文件系统(例如ext3, UFS),而启动阶段的驱动模块(如jbd)放在这些文件系统上,内核是无法读取文件系统的,从而只能通过initrd的虚拟文件系统来装载这些模块.
这里有些人会问: 既然内核此时不能读取文件系统,那内核的文件是怎么装入内存中的呢?答案很简单,Grub是file-system sensitive的,能够识别常见的文件系统. 拥有帝国一切,皆有可能。欢迎访问phome.net
initrd文件是怎么生成的?
使用mkinitrd命令,这个命令其实是一个Bash脚本
#file `which mkinitrd`
/sbin/mkinitrd: Bourne-Again shell script text executable
该脚本先建立一个8M的空文件,并在此上建立一个文件系统,并拷贝相应的的文件.
一个默认RedHat Fedora Core 2, 它的initrd是什么内容
(跟系统的硬件相关)?

  1. # file initrd-2.6.5-1.358.img
  2. initrd-2.6.5-1.358.img: gzip compressed data, from Unix, max compression
  3. # mv initrd-2.6.5-1.358.img initrd-2.6.5-1.358.gz
  4. # gzip -d initrd-2.6.5-1.358.gz
  5. # ll
  6. -rw-r--r-- 1 root root 8192000 Jan 14 11:32 initrd-2.6.5-1.358
  7. # mkdir /mnt/loop
  8. # mount -o loop initrd-2.6.5-1.356 /mnt/loop
  9. ………… 中间修改此文件系统,等等…………
  10. # umount loop
  11. # cd /boot
  12. # gzip -9 initrd-2.6.5-1.356
  13. # mv initrd-2.6.5-1.356.gz initrd-2.6.5-1.356.img

本文出自 “开发随笔” 博客,请务必保留此出处http://pppcode.blog.51cto.com/2698464/500150

拥有帝国一切,皆有可能。欢迎访问phome.net

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号