LFS kernel panic的问题解决之一

来源:互联网 发布:蓝光电影播放器 mac 编辑:程序博客网 时间:2024/06/01 08:25
/********************************************************************* * Author  : Samson * Date    : 04/26/2015 * Test platform: *              gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2 *              GNU bash, 4.3.11(1)-release (x86_64-pc-linux-gnu)  * *******************************************************************/

在vmware虚拟中使用宿主机为Debian对LFS进行构建的过程中出现了如下的错误:

LFS kernel panic -not syncing :VFS:Unable to mount root fs on Unkn... 

在编译的时候需要特别注意一个问题:若是在虚拟机中挂载的盘为SCSI接口类型的,那么在make menuconfig时,除了按照LFS 7.7中的8.3.1的进行选择以为,还要要选择以下的项Device Drivers-->Fusion MPT device support-->Fusion MPT(base + ScsiHost) drivers选中,这是为了SCSI接口的硬盘设备。
编译内核的时候,进行参数配置的活是个比较麻烦的事儿,内核panic的问题一般都是因为参数的配置没有对或缺少某些主要驱动程序所导致的。若是虚拟机的话,可以在其它的虚拟机中进行查看,使用命令lspci即可,再在menuconfig出现的菜单中找到对应的项进行配置后,再进行编译即可。

首先看一下我的硬盘布局:
磁盘的布局方式为:
root@ufo:/home/ufo# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0    45G  0 disk
├─sda1   8:1    0  43.1G  0 part /
├─sda2   8:2    0     1K  0 part
└─sda5   8:5    0   1.9G  0 part [SWAP]
sdb      8:16   0    20G  0 disk
├─sdb1   8:17   0  15.5G  0 part /mnt/lfs
└─sdb2   8:18   0   4.5G  0 part
sr0     11:0    1   222M  0 rom  /media/cdrom0

注意:
以下命令都是在LFS 7.7中的chroot环境下进行的。

//安装grub到第二块硬盘上,设置了此项后,需要进行修改BIOS的设置,以让在启动的时候从第二块硬盘启动。
grub-install /dev/sdb

//使用8.4.4中的步骤先生成/boot/grub/grub.cfg文件
cat > /boot/grub/grub.cfg << "EOF"
# Begin /boot/grub/grub.cfg
set default=0
set timeout=5
insmod ext2
set root=(hd0,2)
menuentry "GNU/Linux, Linux 3.19-lfs-7.7" {
linux
/boot/vmlinuz-3.19-lfs-7.7 root=/dev/sda2 ro
}
EOF

再使用grub-mkconfig -o /boot/grub/grub.cfg进行grub环境的自动生成后再进行覆盖。

//此处使用的是第二块硬盘的sdb1作为主分区,sdb2作为swap分区,修改fstab的sda1和sda2
# Begin /etc/fstab
# file system mount-point type options dump fsck
# order
/dev/sda1 / ext4 defaults 1 1
/dev/sda2 swap swap pri=1 0 0
proc /proc proc nosuid,noexec,nodev 0 0
sysfs /sys sysfs nosuid,noexec,nodev 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /run tmpfs defaults 0 0
devtmpfs /dev devtmpfs mode=0755,nosuid 0 0
# End /etc/fstab

其它的步骤,和LFS 7.7文档中的进行即可。
55
0 0