如何通过linuxrc自定义initrd

如何通过linuxrc自定义initrd

我需要在具有不同主板的设备上使用相同的磁盘和相同的引导加载程序。每个主板都有自己的映射设备方式,因此有时引导磁盘会映射为 hda,也可能映射为 hdc。我已经尝试使用不同的设备分配来管理此启动

并在开始之前检查主板如何映射启动设备(hda、hdc、ecc...)并根据该映射修复启动参数。

我已经尝试使用不同的设备来管理从 dom 的启动,用 LABEL 选项( grub bootloader )替换设备名称。但这没有用

这有效

title Linux 2.4.37.9
        root (hd0,0)
        kernel /boot/vmlinuz-2.4.37.9 ro root=/dev/hda1  console=ttyS0,9600 console=tty0 apm=off

这不起作用(内核无法找到 root=LABEL=Flash-Root )

title Linux 2.4.37.9
        root (hd0,0)
        kernel /boot/vmlinuz-2.4.37.9 ro root=LABEL=Flash-Root  console=ttyS0,9600 console=tty0 apm=off

有些人建议我作为管理 initrd 的替代解决方案,所以我现在尝试通过脚本 linuxrc 管理和修复启动参数

我的第一个问题是关于 nash 的文档,nash 是 linuxrc 使用的脚本解释器。我还没有找到有关如何使用 nash 以及最重要的是如何在 linuxrc 中使用 nash 的文档。有人知道如何找到一些文档和示例吗?

我的第二个(也是最后一个)问题是关于如何从 insice linuxrc 检查什么设备( hda1、hdc1、ecc ..)是有效的,并基于此为 /proc/sys/kernel/real-root- 设置正确的值开发变量。我想使用 fdisk 检查磁盘,但是这个程序需要在 initrd 中加载一些库,所以我正在寻找一个需要更少空间的解决方案。

相关内容