.png)
Я говорю по-испански, поэтому извините за мой плохой английский.
Я учусь компилировать ядро Slackware, поэтому я скачал linux-3.2.7.tar.bz2 сhttp://www.kernel.org
Условия:
- Slackware установлен на виртуальной машине VMware.
- Хост-ОС 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 ВКЛЮЧЕНО (ВАРИАНТ 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. Lilo установил mbr в другом месте.
1-е: Прекратите перекомпилировать ядро, так как, по-моему, оно даже не начало загружаться.
2-е: Еще раз проверьте пути к загрузочным файлам и пути при запуске lilo.Прочитайте о переключателе lilo -r
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 — это бот?