Паника ядра - не синхронизируется: VFS: невозможно смонтировать root fs на unknown-блоке (8,2)
Я говорящий по-испански, так что извините за мой плохой английский.
Я учусь компилировать ядро Slackware, поэтому я скачал linux-3.2.7.tar.bz2 с http://www.kernel.org/
условия:
- Slackware установлен на виртуальной машине VMware.
- Host OS Windows 7.
- Корневая файловая система Slackware: ext4
- Старое ядро Slackware: 2.6.37.6
- Разделы Slackware: sda1 для замены, sda2 для ядра.
В основном я выполнил следующие шаги:
#cd /usr/src
#tar jvxf linux-3.2.2.tar.bz2
#mv /usr/src/linux /usr/src/linux.old
#ln -s /usr/src/linux-3.2.2 /usr/src/linux
#cd linux-3.2.2
#make mrproper
#cp /usr/src/linux-2.6.37.6/.config /usr/src/linux-3.2.2/.config
#make menuconfig
Загрузите альтернативный файл конфигурации: .config INCLUDED (ВАРИАНТ Y):
ATA/ATAPI/MFM/RLL support (DEPRECATED) (at Device drivers)
SCSI generic support (at Device drivers)
second extended support (at filesystems)
ext3 journaling (all)
ext4 (all)
ext4 (at filesystems)
JBD (ext4) debuggin support
JBD2 (ext4) debugging support
ReiserFS support
XFS filesystem support
"compile kernel with debug info" (at kernel hacking)
make dep
make clean
make bzImage
make modules
make modules_install
mv /boot/System.map /boot/System.map.old
cp /usr/src/linux/System.map /boot/System.map-3.2.2
ln -s /boot/System.map-3.2.2 /boot/System.map
mv /boot/vmlinuz /boot/vmlinuz.old
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-3.2.2
ln -s /boot/vmlinuz-3.2.2 /boot/vmlinuz
nano -w /etc/lilo.conf
ДОБАВЛЕНЫ СЛЕДУЮЩИЕ ЛИНИИ:
image=/boot/vmlinuz.old
label = oldSlack
root = /dev/sda2
read-only
#lilo
#lilo -q
#shutdown -r now
Когда ядро 3.2.2 загружается, оно перестает отображать следующее:
VFS: Cannot open root device "802" or unknown-block(8,2)
Please append a correct "root=" boot option
Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-bloc(8,2)
Я ненавижу это сообщение, потому что я много раз перекомпилировал ядро, и после нескольких часов компиляции я всегда получаю это сообщение.:(
Может ли кто-нибудь помочь мне понять, что я делаю плохо или почему эта ошибка?
1 ответ
ПРИМЕЧАНИЕ: я не знаком с Linux 3.
Я могу догадаться прямо сейчас, неправильный путь вызывает эту проблему при выполнении команды lilo. Лило установил mbr где-то еще.
1-е: Прекратите перекомпилировать ваше ядро, потому что я думаю, что оно даже не запустилось.
2-й: Снова проверьте путь для загрузочных файлов и пути при выполнении lilo. Читайте о lilo -r switch
system=sda2
mbr=sda
lilo -F -r /mnt/$system -b /dev/$mbr -C /etc/lilo.conf
Показать вывод:
/sbin/sfdisk -d /dev/sda
ls -all /boot/
lilo
dmesg
Я бы предложил вам использовать L переключатель:
cp -L /usr/src/linux/System.map /boot/System.map-3.2.2
cp -L /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-3.2.2
Вы уверены, что Linux - это бот?