[问题]ubuntu7.10下编译2.6.15内核老出错

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
jidongxu
帖子: 13
注册时间: 2007-05-26 20:10

[问题]ubuntu7.10下编译2.6.15内核老出错

#1

帖子 jidongxu » 2008-01-12 12:34

因为要做修改内核的试验,老师同一的版本是2.6.15,但是装的是ubuntu7.10内核版本较高,所以想重新编译内核,下了2.6.15的后把配置文件拷贝到2.6.15中后,编译老出现:
init/built-in.o: In function `try_name':
/home/hunk/linux-2.6.15/init/do_mounts.c:116: undefined reference to `__stack_chk_fail'
init/built-in.o: In function `name_to_dev_t':
/home/hunk/linux-2.6.15/init/do_mounts.c:207: undefined reference to `__stack_chk_fail'
init/built-in.o: In function `mount_block_root':
/home/hunk/linux-2.6.15/init/do_mounts.c:317: undefined reference to `__stack_chk_fail'
init/built-in.o: In function `change_floppy':
/home/hunk/linux-2.6.15/init/do_mounts.c:359: undefined reference to `__stack_chk_fail'
init/built-in.o: In function `parse_header':
/home/hunk/linux-2.6.15/init/initramfs.c:108: undefined reference to `__stack_chk_fail'
arch/i386/kernel/built-in.o:/home/hunk/linux-2.6.15/arch/i386/kernel/vm86.c:198: more undefined references to `__stack_chk_fail' follow
make[1]: *** [.tmp_vmlinux1] 错误 1
make[1]: Leaving directory `/home/hunk/linux-2.6.15'
make: *** [debian/stamp-build-kernel] 错误 2
有谁知道怎么回事吗?
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#2

帖子 BigSnake.NET » 2008-01-12 12:36

1. 内核源码怎么来的?
2. 打过什么补丁, make mrproper 了吗?
3. 编译命令
4. make oldconfig 了吗?
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
jidongxu
帖子: 13
注册时间: 2007-05-26 20:10

#3

帖子 jidongxu » 2008-01-12 12:38

make oldconfig?不好意思这个是干吗的
jidongxu
帖子: 13
注册时间: 2007-05-26 20:10

#4

帖子 jidongxu » 2008-01-12 12:41

我从chinaunix下的内核,没有打过什么补丁,用make clean清理过,
jidongxu
帖子: 13
注册时间: 2007-05-26 20:10

#5

帖子 jidongxu » 2008-01-12 12:46

哦,我上网看到一些怎么和CFLAGS有关,看不太懂,所以这里来请教下
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#6

帖子 BigSnake.NET » 2008-01-12 12:47

jidongxu 写了:我从chinaunix下的内核,没有打过什么补丁,用make clean清理过,
内核建议到官网下载, 当然如果签名对的话也可以
解压后, 保险起见
make mrproper
然后
make oldconfig
最后
make menuconfig 配置内核
然后再开始编译
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#7

帖子 BigSnake.NET » 2008-01-12 12:50

jidongxu 写了:哦,我上网看到一些怎么和CFLAGS有关,看不太懂,所以这里来请教下
export 看有没有 FLAGS 之类的设置, 最好全部 unset 掉
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
jidongxu
帖子: 13
注册时间: 2007-05-26 20:10

#8

帖子 jidongxu » 2008-01-12 13:08

这样似乎不行
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#9

帖子 BigSnake.NET » 2008-01-12 13:21

试试安装一个3.4版的gcc
sudo aptitude install gcc-3.4
ln -sf gcc-3.4 /usr/bin/gcc
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
jidongxu
帖子: 13
注册时间: 2007-05-26 20:10

#10

帖子 jidongxu » 2008-01-12 13:30

我试试吧,我看到网上很多人都出现这样的错误,但是英文的,但是没找到具体的解决办法,也许英文太差了,我同学他用gentoo就编译通过了,我还是在他机器上搞的作业,现在到处找ubuntu怎么编译内核,感觉linux安装太容易也不好~唉
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#11

帖子 BigSnake.NET » 2008-01-12 13:32

2.6.15几的, 我试试
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
jidongxu
帖子: 13
注册时间: 2007-05-26 20:10

#12

帖子 jidongxu » 2008-01-12 13:37

我下的就是2.6.15后面好像没有说几了~~
哦,我在论坛上也看到有人出现类似的,viewtopic.php?t=91796&highlight=%E7%BC% ... 5%E6%A0%B8
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#13

帖子 BigSnake.NET » 2008-01-12 13:38

多少位的机器
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#14

帖子 BigSnake.NET » 2008-01-12 13:41

https://answers.launchpad.net/ubuntu/+question/2063
http://www.howtoforge.com/forums/archiv ... 10522.html

看看这个, 也许有用

就是加上 -fno-stack-protector 选项, Ubuntu的 gcc 默认打开了这个, 所以出错
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
jidongxu
帖子: 13
注册时间: 2007-05-26 20:10

#15

帖子 jidongxu » 2008-01-12 13:44

这个我看过~~但是没试,汗~~
回复