当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : ubuntu10.10中开发时编译内核出错
帖子发表于 : 2010-10-19 11:12 

注册: 2010-10-18 15:28
帖子: 5
送出感谢: 0 次
接收感谢: 0 次
yang@ubuntu:/home/linux/kernel/linux-2.6.24.3$ make menuconfig
HOSTCC scripts/basic/fixdep
scripts/basic/fixdep.c: In function ‘traps’:
scripts/basic/fixdep.c:377: warning: dereferencing type-punned pointer will break strict-aliasing rules
scripts/basic/fixdep.c:379: warning: dereferencing type-punned pointer will break strict-aliasing rules
scripts/basic/fixdep.c: At top level:
scripts/basic/fixdep.c:399: fatal error: opening dependency file scripts/basic/.fixdep.d: 权限不够
compilation terminated.
make[1]: *** [scripts/basic/fixdep] 错误 1
make: *** [scripts_basic] 错误 2


页首
 用户资料  
 
2 楼 
 文章标题 : Re: ubuntu10.10中开发时编译内核出错
帖子发表于 : 2010-12-03 15:06 
头像

注册: 2010-10-08 0:55
帖子: 355
送出感谢: 0 次
接收感谢: 2
我也遇到相同的问题了,同请教


_________________
/***
* @tonghuix 佟辉 Tong Hui
* @brief 启智开源 编码自由
* @brief Open Source Open Mind, Coding for free!
* @website: https://tonghuix.io
* @weibo http://weibo.com/234826309
* @Twitter http://twitter.com/tonghuix
* @G+ http://gplus.to/tonghuix
*/


页首
 用户资料  
 
3 楼 
 文章标题 : Re: ubuntu10.10中开发时编译内核出错
帖子发表于 : 2010-12-04 1:09 

注册: 2010-06-05 15:42
帖子: 22
送出感谢: 0 次
接收感谢: 0 次
1.准备工作
下载源码:
到http://www.kernel.org/下载2.6.36内核并解压
我开启了root, 并解压到/root/src/linux-2.6.36/下
下载工具:
apt-get install build-essential kernel-package libncurses5-dev libqt3-headers
其中libqt3-headers可选, 此包用于make xconfig

2.配置
进入源代码目录
运行
make menuconfig
注意主菜单最后有两项:
load a kernel configuration...
save a kernel configuration...
先选第一项load 利用当前的内核配置详单来设置将要编译的内核,然后选save这一项保存,最后退出配置界面。
实践证明从2.3.35-22升级至2.6.36这样做是可行的

3.编译
执行:sudo make -j4 (建议开2或4个线程,然后出去运动下)
然后:sudo make install
再:sudo make modules (编译模块)
再:sudo make modules_install (安装模块)
最后创建 initrd文件:
mkinitramfs -o /boot/initrd.img-2.6.36

4. 配置grub
编译好内核后,还需要配置grub,以便从新内核启动
gedit /boot/grub/grub.cfg
我的grub.cfg添加如下:
#my kernel
menuentry 'Ubuntu, with Linux 2.6.36-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 24bffd39-bd32-4597-a5e2-429989e30bb0
linux /boot/vmlinuz-2.6.36 root=UUID=24bffd39-bd32-4597-a5e2-429989e30bb0 ro quiet splash
initrd /boot/initrd.img-2.6.36
}

下面是2.6.35-22的grub选项,就在它上面添加上述grub选项
menuentry 'Ubuntu, with Linux 2.6.35-22-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 24bffd39-bd32-4597-a5e2-429989e30bb0
linux /boot/vmlinuz-2.6.35-22-generic root=UUID=24bffd39-bd32-4597-a5e2-429989e30bb0 ro quiet splash

5.修正
尽管编译过程结束, 但启动失败
warning:can't open directory /lib/modules/2.6.36/modules.dep,no such files or directory
在grub菜单中选择旧内核登录
运行:
cd /boot
cp initrd.img-2.6.36 initrd-2.6.36.old (先备份,make一次很费时)
depmod -a
update-initramfs -k 2.6.36 -c
cd /tmp
gzip -dc /boot/initrd.img-2.6.36| cpio -id
touch lib/modules/2.6.36/modules.dep
find ./ | cpio -H newc -o > /boot/initrd.img-2.6.36.new
gzip /boot/initrd.img-2.6.36.new
cd /boot
mv initrd.img-2.6.36.new.gz initrd.img-2.6.36

重启后OK
运行
uname -a
显示:
Linux sunyu-ubuntu 2.6.36 #1 SMP Mon Nov 8 09:29:02 CST 2010 i686 GNU/Linux
证明大功告成


页首
 用户资料  
 
4 楼 
 文章标题 : his tummy
帖子发表于 : 2010-12-05 14:30 

注册: 2010-12-03 14:27
帖子: 9
送出感谢: 0 次
接收感谢: 0 次
Jujian but also under the deathly transfer on Miss Cole, but this indication around Namhong threshold Bangzhong Utter is already over, wave dependable, the fun sprang to the .


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Google [Bot] 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译