首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MKINITRD LVM Slackware

MKINITRD LVM Slackware
EN

Server Fault用户
提问于 2011-04-02 15:43:02
回答 2查看 2.1K关注 0票数 1

试图在戴尔2950上安装Slackware 13.1。我有一个Perc5 RAID卡,我的内核将它视为原始设备的/dev/sda。

我已经创建了3个分区:

代码语言:javascript
复制
/dev/sda1 -- /boot partition type=82
/dev/sda2 -- swap partition  type=83
/dev/sda3 -- my LVM partition type=82

下面是我一直在使用的步骤:

代码语言:javascript
复制
1.  pvcreate /dev/sda3 (is this necessary since the partition already exists from fdisk?)
2.  vgcreate vg00 /dev/sda3
3.  lvcreate -L 20G -n root vg00
4.  vgscan --mknodes
5.  vgchange -ay

然后,我像往常一样安装Slackware 13.1,为root (/)选择/dev/vg00/root,为(/boot)选择/dev/sda1 1,为交换区选择/dev/sda1 2.一切都很顺利。

安装之后,我运行这些命令来生成initrd映像。

代码语言:javascript
复制
chroot /mnt

mkinitrd -c -k 2.6.33.4 \
-m jfs:uhci_hcd:ehci_hcd:usbhid:hid:megaraid_sas:bnx2 \
-f jfs \
-r /dev/vg00/root \ (also tried /dev/mapper/vg00-root)
-L

这个命令运行时没有任何错误,我在/boot中得到了一个/boot和initrd树。

I /etc/lilo.conf的相关部分如下:

代码语言:javascript
复制
boot=/dev/sda

image = /boot/vmlinuz-generic-2.6.33.4
  initrd = /boot/vg00/root
  label = linux
  read-only

当我重新启动计算机时,我得到了LILO启动管理器。内核加载,但似乎LVMs永远不会出现。我得到一个错误,即没有/root分区,无法找到设备/dev/ be 00/root。

我已经使用Linux很多年了,但是我从来没有处理过mkinitrd,所以我对进程和驱动程序的提取方式有点不熟悉。我确实在/boot/initrd-tree/sbin目录中看到了lvm二进制文件。(dmsetup、lvm、vgchange、vgscan;后两者是连接到lvm的sym )

我还试图解压缩并挂载initrd,以查看-查看,但也无法使用挂载-o循环-t ramfs /dev/boot/initrd /tmp找出这一点。

任何帮助或建议都非常感谢。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2011-04-02 17:22:27

决心..。

这个问题与程序有关..。当我运行mkinitrd时,在执行chroot mnt之后,我没有有效的/proc/分区表示。下面是我最后让它起作用的步骤。

使用Slackware DVD启动(使用13.1 64位内核)

代码语言:javascript
复制
1.  vgscan --mknodes
2.  vgchange -ay

(注意,由于我用一个救援磁盘启动,并且已经按照我原来的帖子进行了安装,所以不需要重新安装)。

上述两个命令使我的逻辑卷处于活动状态,并显示在/proc/分区中。

代码语言:javascript
复制
3.  mount /dev/vg00/root /mnt
4.  mount /dev/sda1 /boot
5.  mount -t proc proc /mnt/proc (this was the magic step)
6.  chroot mnt (note, don't chroot /mnt just mnt)

重新运行相同的mkinitrd脚本,如我最初的文章所示。这一次,我遇到了一个关于/dev/vg00/root重命名为/dev/dm-0的冲突。

Ran lilo,和我原来的帖子一样配置。

重新启动和中提琴它起作用了。

有一点要注意的是,我的以太网驱动程序(bnx2)需要外部固件,而我的initrd中没有包含这些固件,这导致了一个漫长的引导过程,因为bnx驱动程序正在超时寻找这个固件.

希望这能帮到别人。

票数 1
EN

Server Fault用户

发布于 2011-04-02 17:24:32

顺便问一下..。要查看由mkinitrd创建的initrd.img文件,以下是步骤。

代码语言:javascript
复制
mkdir myrd
cd myrd
cp /mnt/boot/initrd.gz .
gunzip initrd.gz
cpio -i -d < initrd

这些步骤是我在IBM站点上找到的。http://www.ibm.com/developerworks/linux/library/l-initrd.html

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/254938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档