编译2.6.24内核的奇怪问题,高手请进来指点一下,谢谢

编译安装或者制作Deb包
cloudice
帖子: 19
注册时间: 2006-04-06 22:04
送出感谢: 0
接收感谢: 0

编译2.6.24内核的奇怪问题,高手请进来指点一下,谢谢

#1

帖子 cloudice » 2008-05-22 16:03

环境:vmware+ubuntu7.01
grub:

title Ubuntu, kernel 2.6.24
root (hd0,0)
kernel /boot/vmlinuz-2.6.24 root=UUID=ca6f5676-9c11-4aad-8dbc-1a977487b66c ro quiet splash
initrd /boot/initrd.img-2.6.24
quiet
savedefault

title Ubuntu, kernel 2.6.20-15-generic
root (hd0,0)
kernel /boot/vmlinuz-2.6.20-15-generic root=UUID=ca6f5676-9c11-4aad-8dbc-1a977487b66c ro quiet splash
initrd /boot/initrd.img-2.6.20-15-generic
quiet
savedefault

title Ubuntu, kernel 2.6.20-15-generic (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.20-15-generic root=UUID=ca6f5676-9c11-4aad-8dbc-1a977487b66c ro single
initrd /boot/initrd.img-2.6.20-15-generic

title Ubuntu, memtest86+
root (hd0,0)
kernel /boot/memtest86+.bin
quiet

grub配置不知道是否有错,但是我想我用的是跟原来系统一样的配置参数,原来系统可正常启动,现在的应该也可以吧

不用initrd启动的时候会出现kernel panic,错误提示不能正确mount根文件系统,用了initrd启动后不会出错,但是出现的内容如下图:

好象并没有mount到根文件系统,而是直接进到了initrd里面了。

用df查看:

Filesystem Size Used Avail Use% Mounted on
/dev/sda1 7.5G 4.3G 2.9G 60% /
varrun 126M 104K 125M 1% /var/run
varlock 126M 0 126M 0% /var/lock
procbususb 126M 72K 125M 1% /proc/bus/usb
udev 126M 72K 125M 1% /dev
devshm 126M 0 126M 0% /dev/shm
lrm 126M 33M 93M 27% /lib/modules/2.6.20-15-generic/volatile
[/img]

不知道我的/boot在哪个分区的哦,是不是也是sda1?

请大家指点下哈~谢谢了!
附件
ScreenShot025.jpg
启动后
ScreenShot025.jpg (9.78 KiB) 查看 2029 次
jerome_cheung
帖子: 5
注册时间: 2008-05-22 10:45
送出感谢: 0
接收感谢: 0

#2

帖子 jerome_cheung » 2008-05-22 16:07

我也是这样啊,两天了,没办法,一起顶
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
送出感谢: 0
接收感谢: 7 次
联系:

#3

帖子 BigSnake.NET » 2008-05-22 16:17

root=UUID=ca6f5676-9c11-4aad-8dbc-1a977487b66c

改成

root=/dev/sda1

试试
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
cloudice
帖子: 19
注册时间: 2006-04-06 22:04
送出感谢: 0
接收感谢: 0

#4

帖子 cloudice » 2008-05-22 16:34

我用fdisk看了下,还是不懂为什么错,寒
root@cloud:/boot# fdisk -l

Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 993 7976241 83 Linux
/dev/sda2 994 1044 409657+ 5 Extended
/dev/sda5 994 1044 409626 82 Linux swap / Solaris


回LS,我试过root=/dev/sda1了,也是一样的效果,呵呵
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
送出感谢: 0
接收感谢: 7 次
联系:

#5

帖子 BigSnake.NET » 2008-05-22 17:04

多给几行信息看看..
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
cloudice
帖子: 19
注册时间: 2006-04-06 22:04
送出感谢: 0
接收感谢: 0

#6

帖子 cloudice » 2008-05-22 17:15

重起系统进入grub后选择上面说的 title Ubuntu, kernel 2.6.24
来启动,接着就跟用原来的内核启动一样,出现UBUNTU的启动画面(图形),过了两三分钟(怎么那么久),跳回字符界面,然后就出现上面附件中的内容,这就完了。


上面附件图片中显示的是已经进入initrd了,可以使用里面的busybox,但只有很少的命令,所以看不到系统的信息~!

另外,我比较了一下我的initrd和原来系统的initrd里面的init文件(好象进到initrd后会找init文件),都是一样的哦,所以为什么用两个内核会那么不一样呢?
jerome_cheung
帖子: 5
注册时间: 2008-05-22 10:45
送出感谢: 0
接收感谢: 0

#7

帖子 jerome_cheung » 2008-05-22 17:51

一模一样的错误啊,
顶!!!!
cloudice
帖子: 19
注册时间: 2006-04-06 22:04
送出感谢: 0
接收感谢: 0

#8

帖子 cloudice » 2008-05-22 18:00

哈哈,兄台你郁闷有段时间了吧~
开始以为我内核配置有问题,后来干脆照着原来系统的.config文件配置了
但还是这样

达人们都去迎火炬了吗?
cloudice
帖子: 19
注册时间: 2006-04-06 22:04
送出感谢: 0
接收感谢: 0

#9

帖子 cloudice » 2008-05-22 18:51

我去掉了grub中的splash,所以看到了新的提示,不过还没找到解决办法,先发出来

Starting up . . .
Uncompressing Linux . . . OK, booting the kernel.
Loading, please wait . . .
Check root= bootarg cat /proc/cmdline
or missing modules, devices: cat /proc/modules ls /dev
ALERT! /dev/disk/by-uuid/ca6f5676-9c11-4aad-8dbc-1a977487b66c does not exist. Dropping to a shell!

BusyBox v1.1.3 (Debian 1:1.1.3-3ubuntu3) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

/bin/sh: can't access tty; job control turned off
(initramfs)


难道缺少什么模块?或者UUID跟原来的系统不一样了?
接着找原因,期待解答……
[/img]
cloudice
帖子: 19
注册时间: 2006-04-06 22:04
送出感谢: 0
接收感谢: 0

#10

帖子 cloudice » 2008-05-23 10:55

把grub和fstab里面的UUID都改成了分区号(/dev/sda1)后,原来系统仍然可以正常启动,但用新内核启动的时候仍然是上述错误
好象说明了并不是文件系统和grub的问题

是驱动或模块的问题?我内核中有把文件系统ext2 ext3都编进去,事实上我用的是UBUNTU系统自己的配置文件.config来编译新内核的,难道新内核需要编译多一些东西进去?
学习!
头像
20sanguo
帖子: 778
注册时间: 2008-05-10 9:53
送出感谢: 0
接收感谢: 2 次

#11

帖子 20sanguo » 2008-05-23 11:27

用ubuntu自己的配置文件升级新内核很可能会出问题,自己要加些东西,SCSI一定要编进去,并且要编到内核里而不是模块。

busybox之前的没有别的错误信息?类似(initramfs)[ 12.123456] : failed to 的?
要是有发来看一下。
cloudice
帖子: 19
注册时间: 2006-04-06 22:04
送出感谢: 0
接收感谢: 0

#12

帖子 cloudice » 2008-05-23 12:08

没有,所有信息都是在9楼发的了

正在看initrd里面的init脚本,好象是在那里面出错的
yoyu007
帖子: 195
注册时间: 2007-09-02 10:08
送出感谢: 0
接收感谢: 0

#13

帖子 yoyu007 » 2008-05-24 1:56

是编绎时有个参数不对

具体是那个就不记得了

我从7.10升到8.04后,内核2.6.24.16和17都不能用,只能用7.10的旧内核2.6.22-14,非常郁闷

昨天我自己编绎2.6.25.4内核后就能用啦


看看官网

http://ubuntuforums.org/showthread.php? ... ht=busybox
yoyu007
帖子: 195
注册时间: 2007-09-02 10:08
送出感谢: 0
接收感谢: 0

#14

帖子 yoyu007 » 2008-05-24 1:58

最好的办法就是自己编绎内核,真的很简单
cloudice
帖子: 19
注册时间: 2006-04-06 22:04
送出感谢: 0
接收感谢: 0

#15

帖子 cloudice » 2008-05-27 17:06

在Fedora Core 5上搞定了,但是在UBUNTU 上这个还是不行,不管怎么配内核都会那样
我把SCSI都编进去也试过
网上找的注意的内核配置选项都有编进内核,为什么还会有这个问题呢

P.S.我虚拟机配置的时候:硬盘格式是SCSI,还有个好象选择的是BUS LOGIC(缺省的),不知道这个有关系不,不过我也试了加进BUS_LOGIC选项。
我实际的硬盘是SATA的,是否也有关系?不过我也全加进去搞过了~没效果~


打开initrd看,好象是停在waiting for root file system...这句下面,然后就panic了,接着才进到了busybox里面,也就是上面发的提示信息~~
回复

回到 “编译或打包”