LinuxSir.cn,穿越时空的Linuxsir!

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

内核编译后 重启进入系统出现错误

[复制链接]
发表于 2007-12-5 14:02:03 | 显示全部楼层 |阅读模式
我机子上装的是Ubuntu   内核版本是2.6.22   因为学习需要要编译内核   2.6.17
把许多内核编译需要的包都装上了   像gcc的build-essential   kernel-package   initrd-tools..
gcc   --version   显示的是4.1.3
步骤是
make   mrproper
问题1: make   menuconfig
说到这里我想问一下了   他那个默认是本来源码包里面就有了的呢   还是从系统中的配置文件导进来的。
因为我帅上了这些警告。。
/boot/config-2.6.22-14-generic:3065:warning:   symbol   value   'm'   invalid   for   WAN_ROUTER_DRIVERS
/boot/config-2.6.22-14-generic:3076:warning:   trying   to   assign   nonexistent   symbol   WLAN_80211
/boot/config-2.6.22-14-generic:3077:warning:   trying   to   assign   nonexistent   symbol   WLAN_PRE80211
/boot/config-2.6.22-14-generic:3096:warning:   trying   to   assign   nonexistent   symbol   ZD1211RW
/boot/config-2.6.22-14-generic:3097:warning:   trying   to   assign   nonexistent   symbol   ZD1211RW_DEBUG
这个是怎么回事?
make  
make   modules_install
make   install
问题2:
可是这样的话连make都过不了   出现下面的错误  
init/built-in.o:   In   function   `try_name':
do_mounts.c:   (.text+0x47f):   undefined   reference   to   `__stack_chk_fail'
init/built-in.o:   In   function   `name_to_dev_t':
(.text+0x6de):   undefined   reference   to   `__stack_chk_fail'
init/built-in.o:   In   function   `change_floppy':
(.init.text+0x851):   undefined   reference   to   `__stack_chk_fail'
init/built-in.o:   In   function   `mount_block_root':
(.init.text+0xa6c)   :   undefined   reference   to   `__stack_chk_fail'
init/built-in.o:   In   function   `do_header':
initramfs.c:   (.init.text+0x417c):   undefined   reference   to   `__stack_chk_fail'
arch/i386/kernel/built-in.o:   (.text+0x48a0)   :   more   undefined   references   to   `__stack_chk_fail'   follow
make:   ***   [.tmp_vmlinux1]   错误   1

同学的机子上和我是同一张盘装的   配置都是用默认的 他没问题   编译成功的  
然后去百度了一下   在CFLAGS   后多另了-fno-stack-protector选项(不知道为什么)   这样一来编译倒是通过了
但是在编译模块的时候   警告是满屏幕的闪过   不管了


然后一步一步做下去   mkinitrd   -o   /boot/initrd.img-2.6.17xxx   2.6.17xxx
问题3:

重启
可是刚过了Grub就出现下面的问题。。没辙了   到这来向大家请教了
[17179569:552000]   PCI:   BIOS   Bug   :   MCFG   area   not   E820-reserved
[17179569:552000]   PCI:   Not   using   MMCONFIG
[17179570:440000]   padlock:   VIA   PadLock   not   detected
mount:   unknown   file   system   type   "devfs"
unmount:   devfs   :   not   mounted
/scripts/ext3-add-journal   sh:   27   :   arith   :   syntax   error   "0x"
/sbin/init:426:arith:   syntax   error   :   "0x"
[17179572:556000]   Kernel   panic-not   syncing   :   Attempted   to   kill   init!     


问题4:
GCC版本同学的更新过了   比我高 他是4.2.3   我是4.1.3
可是   我装了4.2.1了,但是gcc   --version显示的还是4.1.3   要怎么样才能替换成高版本   直接更新也不行 (源里面有这个包的)

我是一个菜鸟。帮帮忙吧
发表于 2007-12-5 19:29:12 | 显示全部楼层
Ubuntu 应该跟 Debian 一样,都是以 symlink 来控制的,把 /usr/bin 下的 gcc、g++ 之类的 symlink 改过来就行了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-7 09:23:51 | 显示全部楼层
试过了可以的 是有一些字符链接的
其他的问题怎么解决啊?
我在FC4下面编译通过了 也可以进系统的
这样的话用默认的配置可以满足我的机子的是吧 那在Ubuntu中进不了系统的问题出在哪呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

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