.png)
Eu falo espanhol, então me desculpe pelo meu péssimo inglês.
Estou aprendendo como compilar o kernel do slackware, então baixei linux-3.2.7.tar.bz2 emhttp://www.kernel.org
Condições:
- Slackware instalado em uma máquina virtual VMware.
- Host do sistema operacional Windows 7.
- Sistema de arquivos raiz do Slackware: ext4
- Kernel antigo do Slackware: 2.6.37.6
- Partições do Slackware: sda1 para swap, sda2 para o kernel.
Basicamente eu segui os seguintes passos:
#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
Carregue um arquivo de configuração alternativo: .config INCLUÍDO (OPÇÃO 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
ADICIONE AS SEGUINTES LINHAS:
image=/boot/vmlinuz.old
label = oldSlack
root = /dev/sda2
read-only
#lilo
#lilo -q
#shutdown -r now
Quando o kernel 3.2.2 está inicializando, ele para de mostrar o seguinte:
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)
Eu odeio esta mensagem porque recompilei o kernel muitas vezes e depois de horas de compilação sempre recebo esta mensagem. :(
Alguém pode me ajudar a entender o que estou fazendo de errado ou por que esse erro?
Responder1
NOTA: não estou familiarizado com o Linux 3.
Posso adivinhar agora que o caminho errado causa esse problema ao executar o comando lilo. Lilo instalou o mbr em outro lugar.
1º: Pare de recompilar seu kernel porque acho que ele nem iniciou a inicialização.
2º: Verifique novamente o caminho dos arquivos de inicialização e os caminhos ao executar o lilo.Leia sobre a opção lilo -r
system=sda2
mbr=sda
lilo -F -r /mnt/$system -b /dev/$mbr -C /etc/lilo.conf
Mostrar saída:
/sbin/sfdisk -d /dev/sda
ls -all /boot/
lilo
dmesg
Eu sugiro que você use o switch 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
Tem certeza de que o Linux está botando?