试图在戴尔2950上安装Slackware 13.1。我有一个Perc5 RAID卡,我的内核将它视为原始设备的/dev/sda。
我已经创建了3个分区:
/dev/sda1 -- /boot partition type=82
/dev/sda2 -- swap partition type=83
/dev/sda3 -- my LVM partition type=82下面是我一直在使用的步骤:
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映像。
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的相关部分如下:
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找出这一点。
任何帮助或建议都非常感谢。
发布于 2011-04-02 17:22:27
决心..。
这个问题与程序有关..。当我运行mkinitrd时,在执行chroot mnt之后,我没有有效的/proc/分区表示。下面是我最后让它起作用的步骤。
使用Slackware DVD启动(使用13.1 64位内核)
1. vgscan --mknodes
2. vgchange -ay(注意,由于我用一个救援磁盘启动,并且已经按照我原来的帖子进行了安装,所以不需要重新安装)。
上述两个命令使我的逻辑卷处于活动状态,并显示在/proc/分区中。
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驱动程序正在超时寻找这个固件.
希望这能帮到别人。
发布于 2011-04-02 17:24:32
顺便问一下..。要查看由mkinitrd创建的initrd.img文件,以下是步骤。
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
https://serverfault.com/questions/254938
复制相似问题