在 GRUB 中使用根设备的自定义名称

在 GRUB 中使用根设备的自定义名称

我正在使用内核 2.4.37.9 开发旧发行版( slackware 8.1 ),但遇到以下问题。

我想为启动设备使用自定义名称,例如 /dev/root1,它可以替换标准 IDE 设备 ( /dev/hdc1 )。

在标准情况下我有

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

我想替换它,如下所示:

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

/dev/hdc1 和 /dev/ccl1 都是主要/次要 22,1 的块设备 请参见此处:

# ls -la /dev/hdc1 /dev/ccl1
brw-rw----    1 root     disk      22,   1 Jun  9  2002 /dev/hdc1
brw-rw-rw-    1 root     root      22,   1 Feb 20 15:04 /dev/ccl1

在标准情况下,启动运行良好,而在第二种情况下,当我使用 dev /dev/ccl1 时,出现以下错误:

VFS: connot open root device "ccl1" or 00:00
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to mount root fs on 00:00

我还添加了一个initrd设置 real-root-dev

echo 0x2201 > /proc/sys/kernel/real-root-dev

但我得到了同样的错误,具有不同的设备值

VFS: connot open root device "ccl1" or 22:01
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to mount root fs on 22:01

当 PC 已经运行并且可以工作时,我还尝试使用设备 ccl1 作为简单的安装,请参见下文

# mount -o -ro -t ext2 /dev/ccl1  /mnt/tmp
# df
Filesystem           1k-blocks      Used Available Use% Mounted on
LABEL=Flash-Root        242678    169769     65399  73% /
/dev/shm                452620      9308    443312   3% /var
/dev/ccl1               242678    169769     65399  73% /mnt/tmp

有什么建议 ?

答案1

你能维护/dev/hdc1吗?如果是这样,请创建一个名为 /dev/ccl1 的链接,指向 /dev/hdc1。
我有一些 SuSE 8.2 机器,其脚本使用 /dev/hdaX,现在可以在 /dev/hdcX 上运行:我创建了链接并将 grub 修改为 hdc。我对所有安装/卸载脚本都没有问题,并且工作正常。

相关内容