linux和initrd 中 Chicken Egg 问题

什么是 Checken/Egg 的问题。
发生在引导Linux的过程中Chicken/Egg 的问题。 Linux内核需要的模块通常使用ext3文件系统挂载 root 分区,LVM,RAID等所有的Linux模块驻留在/var/lib/($uname -r),而不在其安装目录,但Linux内核无法访问他们。所以问题是一个需要怎样的Linux内核访问模块挂载根分区。
Linux内核如何得到解决
GRUB引导装载程序和Linux内核一起工作以获得使用初始RAM磁盘(initrd),这是一个Linux内核的GRUB规范的一部分,解决这个问题。 初始RAM磁盘(initrd)是特定于特定的硬件和软件平台。它在系统安装时创建的,包括它需要挂载文件系统模块。
重新创建initrd文件
我们需要一些时间来重新创建initrd文件 。mkinitrd在创建预加载块设备模块(如IDE,SCSI或RAID),这是需要访问根文件系统所使用的内核初始RAM磁盘映像。
# mkinitrd -f /boot/initrd-$(uname -r).img $(uname -r)
  • 第一个参数是initrd镜像的位置。
  • 第二个参数告诉在 /var/ lib/,其中包含模块的目录名。
它可能强制使用-with关键字initrd映象文件中添加特定的模块。
#  mkinitrd --with=scsi_mod -f /boot/initrd-$(uname -r).img $(uname -r)
这篇文章是基于RHEL / CentOS 5的系统。 RHEL / CentOS 6的系统模块目录和 5 是不同的。
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏