Здравия желаю....Есть машина, на мамке встроенный SATA контроллер от VIA. Есть SATA-винт.
Устанавливаю на эту машину Gentoo Linux. Гружусь с LiveCD - всё хорошо
(на LiveCD используется ядро 2.6.17-2): винт определился, появилось устройство /dev/sda,
которое я fdisk'ом разметил. Создал следующие разделы и файловые системы на них:
/dev/sda1 ext2
/dev/sda2 swap
/dev/sda3 reiserfs
/dev/sda4 reiserfs
Взял на кернел.орг последнее ядро - 2.6.18.2. Собрал его. Файовые системы вкомпилил в ядро.
Поддержка SCSI модульная - используются модули libata.ko и sata_via.ko.
Для того чтобы передаваемый ядру параметр (root=/dev/sda3) был понятен, пришлось воспользоваться
утилитой mkinitrd:
#> mkinitrd --preload "libata sata_via" --fstab=/etc/fstab /boot/initrd.img 2.6.18.2
Получил initramdisk в /boot.
Файл /etc/fstab такой:
/dev/sda3 / reiserfs notail,noatime 0 1
/dev/sda1 /boot ext2 noatime 1 1
/dev/sda2 none swap sw 0 0
proc /proc proc defaults 0 0
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
В командной строке Grub вбиваю строки (Груб саташный винт видит как hd0)
root (hd0,0)
kernel /bzImage root=/dev/sda3
initrd /initrd.img
boot
Загружается ядро, определяется саташный винт, показывается sda: sda1, sda2, sda3, sda4
т.е модули работают нормально. Но потом ядро паникует:
Mount root filesystem
mount: error 6 mounting reiserfs
pivotroot: pivot_root (/sysroot, /sysroot/initrd) failed: 2
umount /initrd/proc failed: 2
Kernel panic - not syncing: No init found
Т.е. почему-то ядро не может примонтировать /dev/sda3.
Что я пробовал еще?
Пробовал драйвер ФС делать модулем и запихивать его в initrd - не помогло.
Пробовал ядру передавать загадошные параметры, о которых вычитал на буржуйских форумах
ide0=1xblablabla, пробовал передавать ядру параметр ramdisk_size=70000 - результат отрицательный.
Может, конечно, проблема где-то в дебрях devfs - тут я ничего не ковырял.
Помогите пожалуйста.