Пытаюсь установить Slackware 13.1 на Dell 2950. У меня есть RAID-карта Perc5, и мое ядро видит ее как / 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 как обычно, выбирая / dev / vg00 / root для root (/) и / dev / sda1 для (/ boot) и / dev / sda2 для свопа ... Все идет хорошо.
После установки я запускаю эти команды, чтобы создать образ 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
Эта команда выполняется без ошибок, и я получаю initrd.gz и initrd-tree в / boot.
Соответствующие части моего /etc/lilo.conf выглядят следующим образом:
boot=/dev/sda
image = /boot/vmlinuz-generic-2.6.33.4
initrd = /boot/vg00/root
label = linux
read-only
Когда я перезагружаю компьютер, я получаю диспетчер загрузки LILO. Ядро загружается, но кажется, что LVM никогда не запускаются. Я получаю сообщение об ошибке, что нет раздела / root и что устройство / dev / vg00 / root не найдено.
Я использую Linux много лет, но никогда не имел дела с mkinitrd, поэтому я немного не знаком с процессом и тем, как извлекаются драйверы. Я вижу двоичные файлы lvm в каталоге / boot / initrd-tree / sbin. (dmsetup, lvm, vgchange, vgscan; последние два символьны связаны с lvm)
Я также попытался разархивировать и смонтировать initrd, чтобы посмотреть, но не смог понять этого, используя mount -o loop -t ramfs / dev / boot / initrd / tmp
любая помощь или предложения приветствуются.
кстати .. чтобы посмотреть на файл initrd.img, созданный mkinitrd, вот шаги.
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
РЕШЕНО ...
Проблема была связана с PROC ... Когда я запускал mkinitrd, у меня не было действительного представления моих разделов / proc / после выполнения chroot mnt. Вот шаги, которые я использовал, чтобы наконец заставить его работать ...
Загрузитесь со Slackware DVD (с использованием 64-битного ядра 13.1)
1. vgscan --mknodes
2. vgchange -ay
(обратите внимание, поскольку я загрузился с аварийного диска и уже выполнил установку в соответствии с моим исходным сообщением, переустанавливать не нужно).
Две приведенные выше команды делают мои логические тома активными и отображают их в / proc / partitions.
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 искал эту прошивку ...
Надеюсь, это поможет кому-то другому.
Значения разделов неверны:
/dev/sda1 -- /boot partition type=82<BR>
/dev/sda2 -- swap partition type=83<BR>
/dev/sda3 -- my LVM partition type=82<BR>
Должно быть:
/dev/sda1 -- /boot partition type=83<BR>
/dev/sda2 -- swap partition type=82<BR>
/dev/sda3 -- my LVM partition type=8e<BR>
82 = Linux swap<BR>
83 = Linux Partition<BR>
8e = LVM partition<BR>
http://www.win.tue.nl/~aeb/partitions/partition_types-1.html