请问大家内核编译的问题~

编译打包和其他
回复
ylyang05
帖子: 32
注册时间: 2007-04-17 20:06

请问大家内核编译的问题~

#1

帖子 ylyang05 » 2007-12-29 23:21

我在7。04里面用的2。6的内核,想自己编译2。4的内核
编译是成功了,但是在内核加载的时候会提示下面的错误信息
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0.0
在lib/modules/文件夹下使用mkinitrd命令的时候会提示
/usr/sbin/mkinitrd: Cannot determine root device
这是怎么回事阿 ?
在网上查看说要支持什么文件格式,但是在编译内核的时候又不知道在那里
知道的大虾教教小弟阿
leowang
帖子: 29
注册时间: 2007-10-22 19:24

#2

帖子 leowang » 2007-12-31 23:43

我编译时出现的问题和你的一样,不过我编译的是2.6.23.12的内核,编译了很多回,就是用新内核启动时就会出现和你一样的问题,自带的内核却不会,不知道谁能解答。
头像
Strange
帖子: 1824
注册时间: 2006-05-19 9:54
来自: Shanghai

#3

帖子 Strange » 2008-01-03 18:44

导致这样的原因很多,中心思想是编译的内核不能被正确读取
要看自己的实际情况,比如磁盘驱动没有,文件系统的支持没有,等等
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#4

帖子 BigSnake.NET » 2008-01-03 18:50

2.4 的支持 initrd 吗?
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
leowang
帖子: 29
注册时间: 2007-10-22 19:24

#5

帖子 leowang » 2008-01-03 22:40

我编译的是2.6.23.12内核,已经编译成功了,在ubuntu下不能用普通的编译方法,我是用

代码: 全选

make xconfig
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

[/quote]

的方法编译成功的,2.4的内核没试过,不知道按照这个方法行不行。

编译内核的时候,强烈建议你在自己的home文件夹下进行,而且不要用root帐号编译。
ylyang05
帖子: 32
注册时间: 2007-04-17 20:06

#6

帖子 ylyang05 » 2008-01-03 23:28

o ~
我试一下在home里面进行
我都在/usr/src里面进行的
你的方法我试过
但是没有通过~
freelather
帖子: 65
注册时间: 2007-10-26 15:23

#7

帖子 freelather » 2008-01-04 11:35

似乎是配置内核的file system那里有问题
是说无法mount root所有的设备

ext3, 之类的一定要选择编译进内核, 即使编成M也不行
还有
Include IDE/ATA-2 DISK support

SCSI device support
SCSI disk support

看你硬盘是什么的,上面几个对应的一定要选 Y,不要选择M
头像
windwiny
帖子: 2254
注册时间: 2007-03-13 17:26

#8

帖子 windwiny » 2008-01-04 12:14

可以用 mkinitrd 生成内核的 initrd 文件
leowang
帖子: 29
注册时间: 2007-10-22 19:24

#9

帖子 leowang » 2008-01-04 12:15

ext3和ext2都要选上Y的,而且在ubuntu下按照普通方法编译的内核经常不能用,我以前按照普通方法编译内核就不能用,就会出现上面的错误,而相同的选项,用上面的方法编译的就可以用。不知道为什么。
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#10

帖子 BigSnake.NET » 2008-01-04 12:42

initrd 可以选 M
否则的话 / 的文件系统支持一定要 Y
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
ylyang05
帖子: 32
注册时间: 2007-04-17 20:06

#11

帖子 ylyang05 » 2008-01-05 11:15

9楼的方法是生成一个deb的包
里面有很多自己的依赖关系。好像是这样
就和apt-get install一样
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#12

帖子 BigSnake.NET » 2008-01-05 11:16

代码: 全选

(time make-kpkg --rootcmd fakeroot --initrd --append-to-version=$(echo -ac-$(date +%y%m%d)) kernel_image kernel_headers linux_image linux_headers modules_image) 2>&1 | tee ../makelog
我用的编译命令..
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
回复