1

Я говорящий по-испански, так что извините за мой плохой английский.

Я учусь компилировать ядро 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 ответ1

0

ПРИМЕЧАНИЕ: я не знаком с 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 - это бот?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .