LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1083|回复: 10

[求助]内核编译后的问题

[复制链接]
发表于 2006-5-3 21:53:50 | 显示全部楼层 |阅读模式
我是按照Lee Blog http://www.cublog.cn/u/16189/showart.php?id=103440 上编译的,
但重启后出现如下提示:Kernel panic -not syncing:VFS:Unable to mount root fs on unknown-block(0,0)
系统进不去,只好重新编译一遍,配置时与文件系统相关的选项基本都是默认的,但这次make都出错了,部分信息如下:
------------------------------------------
arch/i386/kernel/built-in.o:在函数‘identify_cpu’中:
(.text+0x7149):对‘exec_shield’未定义的引用
arch/i386/kernel/built-in.o:在函数‘arch_setup_additional_pages’中:
(.text+0xc48b):对‘exec_shield’未定义的引用
arch/i386/mm/built-in.o:在函数‘arch_pick_mmap_layout’中:
(.text+0xeb2):对‘exec_shield’未定义的引用
arch/i386/mm/built-in.o:在函数‘noexec_setup’中:
(.init.text+0x29c):对‘exec_shield’未定义的引用
arch/i386/mm/built-in.o:在函数‘paging_init’中:
(.init.text+0x2b2):对‘exec_shield’未定义的引用
fs/built-in.o:binfmt_elf.c.text+0x24d5e): more undefined references to `exec_shield' follow
make: *** [.tmp_vmlinux1] 错误 1
------------------------------------------
各位兄弟帮帮我啊,郁闷~~~
 楼主| 发表于 2006-5-4 12:55:15 | 显示全部楼层
大家出现问题都是在哪找到答案的啊?
谁能给我传一下FC5下编译成功的.config文件啊,感谢万分呐。
回复 支持 反对

使用道具 举报

发表于 2006-5-4 14:22:48 | 显示全部楼层
呵呵!! 我自己编译的时候没有什么问题哦~~
可能是你那里弄错了吧~~ 我刚开始编译的时候,编译了N次才成功哦!!

关于配置文件.conf,在kernel-src的源代码里面有哦!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-4 14:54:20 | 显示全部楼层
我本来是想重新编译一下,去掉一些想蓝牙、红外之类不需要的东西,编译了两次都没搞定,最后发现不修改默认的配置就能编译成功了。总算是有一点进展了,继续努力。
回复 支持 反对

使用道具 举报

发表于 2006-5-4 19:40:18 | 显示全部楼层
1.下载 kernel.tar.gz
2.解压压缩包,并移动到/usr/src 下
3. 删除以前可能失败的编译配置信息
#cd /usr/src/linux-2.6.*
#make mrproper
4.内核模块配置
#make xconfig 或 make gconfig 或 make menuconfig
--我认为第一个比较方便,但是需要qt
红外IrDA,mateur Radio support 业余无线广播,蓝牙bluetooth
File systems文件系统不要随便的动,可以加上ntfs的支持
一定要清楚自己机器的硬件!!
5.编译内核
#make
6.安装模块
#make modules_install
7.安装内核
复制bzImage等相关文件,并创建initrd文件;
#cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.*
#cp System.map /boot/System.map-2.6.*
#cd /boot
#/sbin/mkinitrd initrd-2.6.*.img 2.6.*
8. 配置grub
9.make clean;make distclean
10 重新启动机器

goodluck!
回复 支持 反对

使用道具 举报

发表于 2006-5-4 19:44:37 | 显示全部楼层
别人的config你不能用的!
大家需求不同,硬件不同,config文件也不同!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-4 21:18:47 | 显示全部楼层
谢谢,我再试试
回复 支持 反对

使用道具 举报

发表于 2006-5-4 21:55:52 | 显示全部楼层
Post by buptwang
谢谢,我再试试

兄弟搞定没,我也出现这问题,搜索不到原因......
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-4 22:12:48 | 显示全部楼层
Post by ncsky
兄弟搞定没,我也出现这问题,搜索不到原因......

没有哇,郁闷中。。。
你到精华区去看看按照那上面的方法能不能解决问题,我的还是不行:
http://www.linuxsir.cn/bbs/showthread.php?t=111908
要是弄好了说一声啊
回复 支持 反对

使用道具 举报

发表于 2006-5-6 16:11:48 | 显示全部楼层

关于Kernel panic -not syncing:VFS:Unable to mount root fs on unknown-block(0,0

关于Kernel panic -not syncing:VFS:Unable to mount root fs on unknown-block(0,0)
的问题是很麻烦的,因为原因很多,我一直都没有碰到过,开始也没有给你解释,随便的告诉你了一些,十分抱歉!
昨天,和今天我有重新编译了内核,还是真是好,和你的问题一样的情况出现了!

我这里给你几种解决的方向,不能说一定能行!
1。文件格式file system
如果你是ext3的,希望你能把ext2的文件格式也能编译进内核
有人也说不用!
我看还是编译进出吧
2。硬盘的类型
我看的签名档写的是ide!是你用的机器吗!?
如果是sata就的把scsi的支持编译进出,不能是模块!
另外,关于device drivers --> fusion MPT device support的选项也编译进出!
3。 就是initrd.img
你要用initrd启动,就的在grub.conf加上initrd的那一行!
另外,写对grub.conf 的“root=   ” 不要用label直接用/dev
如果不要用initrd启动的话,就的把关于ide的选项都编译到内核中!
exp:
IDE CONFIG_IDE=y
...
4。如第3条,用initrd
那麽就的把cramfs编译进内核,不能是模块(默认是模块)!
cramfs在File systems --》Miscellaneous filesystems --》Compressed ROM file system support (cramfs) (CRAMFS)

好了,我就知道这些,希望能有用!
goodluck!
有问题可以email我 neuiceblue@gmail.com
同学同进!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表