当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 11 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 在ubuntu12.04下使用make-kpkg完美编译安装3.3.4内核
帖子发表于 : 2012-05-03 15:31 

注册: 2012-05-03 14:34
帖子: 9
送出感谢: 0 次
接收感谢: 0 次
折腾了两天,总算完美地编译3.3.4内核!
以前,去很多论坛上逛后,开始对自己编译内核感兴趣,于是,就踏上编译内核的探索之路!再此过程中,发现很多论坛给出的帖子,多多少少有些不够完美。大部分都是能编译也能用新内核,但是对于kernel-headers产生的问题(如不能使用vmware/virtualbox等虚拟机软件、不能使用内核提供的头文件等),我是没有搜到完美的解决办法。折腾了两天,总算把kernel-headers产生的问题解决了 :em11 :em11 :em11
编译系统环境:ubuntu 12.04 LTS正式版
一、获取源代码,配置编译环境
首先,你得去内核官网www.kernel.org下载最新的内核(我用的是3.3.4),解压到家目录~/;
其次,根据你的系统,安装编译依赖的软件包,ubuntu12.04下只要安装libncurses5-dev软件包就可以了(安装命令:sudo apt-get install libncurses5-dev)。
安装编译工具make-kpkg:
sudo apt-get install kernel-package
二、配置内核
配置命令:sudo make menuconfig
附件:
a.jpg
a.jpg [ 70.2 KiB | 被浏览 7312 次 ]


如果已有配置好的配置文件,直接拷到内核文件夹来,更名为.config。如果不知道怎么配置内核,可以上百度、谷歌,上边有很多有关一般配置内核方法,实在不知道怎么配置(或者英语不过关,看不懂那些鸟语),可以直接到/boot目录下拷贝系统自带配置文件,考过来,更名为.config。根据自己的机器配置,选择相关选项,具体如何选择,这里不再赘述。配置好后保存。
三、编译
命令:sudo make-kpkg --initrd kernel_headers kernel_image -jn(n=你的cpu核心数的2倍,用以打开多线程编译,提高cpu利用率,加快编译速度)
这条命令要执行很长一段时间,根据机器的配置不同,所花时间也不同,耐心等待!
四、安装
在上条命令执行完后,会在当前目录的上一层目录产生两个*.deb文件,这就是咱编译了半天得到的安装包。回到上一层目录:cd ..
用命令:sudo dpkg -i *.deb来安装这两个.deb包,即可安装我们刚刚编译好的内核
五、kernel-headers
至此,重启电脑,选择3.3.4内核启动ubuntu。如果你删除了编译文件夹,kernel-headers就不能用。不删除呢,编译好的内核代码很占空间(大概4~6G),而且也没有用了。通过与系统自带内核相关文件对比,发现/lib/modules/3.3.4/下的build链接文件是链接到~/linux3.3.4,也就是内核源代码文件夹。猜测它的主要作用是告诉系统Kbuild文件在哪儿。于是就手动更改,使kernel-headers能正常使用。
解决方法:将内核编译文件夹下的Kbuild拷贝到/usr/src/linux-headers-3.3.4/下,删除/lib/modules/3.3.4/下的build链接文件,用命令:sudo ln -s /usr/src/linux-headers-3.3.4/Kbuild build重新建立build链接文件。这样你就可以删除很站空间的编译内核文件夹,而且kernel-headers能使用。至此,你可以卸载系统自带的内核,使用自己编译的内核,畅游ubuntu 12.04世界!
总结:在前人的基础上,使用make-kpkg简化编译过程;通过手动重建build文件,解决删除编译内核文件夹带来的kernel-headers不能用的问题。用这个编译方法,你还可以把自己编译的安装包应用于debian/ubuntu类的衍生系统,前提是在配置时要选择更多的驱动程序,才能支持更多的硬件。
附件:
b.jpg
b.jpg [ 37.89 KiB | 被浏览 7312 次 ]



页首
 用户资料  
 
2 楼 
 文章标题 : Re: 在ubuntu12.04下使用make-kpkg完美编译安装3.3.4内核
帖子发表于 : 2012-05-03 15:55 
头像

注册: 2005-03-28 0:00
帖子: 1034
地址: ☸我佛山人
系统: Gentoo x64
送出感谢: 2
接收感谢: 19
学习了。


_________________
Je ne suis pas d'accord avec ce que vous dites, mais je me battrai jusqu'à la mort pour que vous ayez le droit de le dire.


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 在ubuntu12.04下使用make-kpkg完美编译安装3.3.4内核
帖子发表于 : 2012-07-11 16:37 

注册: 2012-03-21 10:56
帖子: 214
送出感谢: 0 次
接收感谢: 0 次
楼主试过在台式机编译内核产生的deb包在笔记本上使用吗?


_________________
未来还很年轻,我们不要提前变老


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 在ubuntu12.04下使用make-kpkg完美编译安装3.3.4内核
帖子发表于 : 2012-07-24 10:09 

注册: 2012-07-21 21:13
帖子: 13
送出感谢: 0 次
接收感谢: 0 次
aoshhi 写道:
折腾了两天,总算完美地编译3.3.4内核!
以前,去很多论坛上逛后,开始对自己编译内核感兴趣,于是,就踏上编译内核的探索之路!再此过程中,发现很多论坛给出的帖子,多多少少有些不够完美。大部分都是能编译也能用新内核,但是对于kernel-headers产生的问题(如不能使用vmware/virtualbox等虚拟机软件、不能使用内核提供的头文件等),我是没有搜到完美的解决办法。折腾了两天,总算把kernel-headers产生的问题解决了 :em11 :em11 :em11
编译系统环境:ubuntu 12.04 LTS正式版
一、获取源代码,配置编译环境
首先,你得去内核官网www.kernel.org下载最新的内核(我用的是3.3.4),解压到家目录~/;
其次,根据你的系统,安装编译依赖的软件包,ubuntu12.04下只要安装libncurses5-dev软件包就可以了(安装命令:sudo apt-get install libncurses5-dev)。
安装编译工具make-kpkg:
sudo apt-get install kernel-package
二、配置内核
配置命令:sudo make menuconfig
附件:
a.jpg

如果已有配置好的配置文件,直接拷到内核文件夹来,更名为.config。如果不知道怎么配置内核,可以上百度、谷歌,上边有很多有关一般配置内核方法,实在不知道怎么配置(或者英语不过关,看不懂那些鸟语),可以直接到/boot目录下拷贝系统自带配置文件,考过来,更名为.config。根据自己的机器配置,选择相关选项,具体如何选择,这里不再赘述。配置好后保存。
三、编译
命令:sudo make-kpkg --initrd kernel_headers kernel_image -jn(n=你的cpu核心数的2倍,用以打开多线程编译,提高cpu利用率,加快编译速度)
这条命令要执行很长一段时间,根据机器的配置不同,所花时间也不同,耐心等待!
四、安装
在上条命令执行完后,会在当前目录的上一层目录产生两个*.deb文件,这就是咱编译了半天得到的安装包。回到上一层目录:cd ..
用命令:sudo dpkg -i *.deb来安装这两个.deb包,即可安装我们刚刚编译好的内核
五、kernel-headers
至此,重启电脑,选择3.3.4内核启动ubuntu。如果你删除了编译文件夹,kernel-headers就不能用。不删除呢,编译好的内核代码很占空间(大概4~6G),而且也没有用了。通过与系统自带内核相关文件对比,发现/lib/modules/3.3.4/下的build链接文件是链接到~/linux3.3.4,也就是内核源代码文件夹。猜测它的主要作用是告诉系统Kbuild文件在哪儿。于是就手动更改,使kernel-headers能正常使用。
解决方法:将内核编译文件夹下的Kbuild拷贝到/usr/src/linux-headers-3.3.4/下,删除/lib/modules/3.3.4/下的build链接文件,用命令:sudo ln -s /usr/src/linux-headers-3.3.4/Kbuild build重新建立build链接文件。这样你就可以删除很站空间的编译内核文件夹,而且kernel-headers能使用。至此,你可以卸载系统自带的内核,使用自己编译的内核,畅游ubuntu 12.04世界!
总结:在前人的基础上,使用make-kpkg简化编译过程;通过手动重建build文件,解决删除编译内核文件夹带来的kernel-headers不能用的问题。用这个编译方法,你还可以把自己编译的安装包应用于debian/ubuntu类的衍生系统,前提是在配置时要选择更多的驱动程序,才能支持更多的硬件。
附件:
b.jpg


按照楼主的方法,一步一步试了下,结果编译出错,提示如下:

/opt/dev/codes/kernel/linux-3.4.6/arch/x86/Makefile:81: stack protector enabled but no compiler support
SYSHDR arch/x86/syscalls/../include/generated/asm/unistd_32.h
SYSHDR arch/x86/syscalls/../include/generated/asm/unistd_64.h
SYSHDR arch/x86/syscalls/../include/generated/asm/unistd_x32.h
SYSTBL arch/x86/syscalls/../include/generated/asm/syscalls_32.h
HOSTCC arch/x86/tools/relocs
CHK include/linux/version.h
CHK include/generated/utsrelease.h
UPD include/generated/utsrelease.h
CC kernel/bounds.s
cc1: error: unrecognized command line option "-mregparm=3"
kernel/bounds.c:1: error: bad value (i686) for -march= switch
make[3]: *** [kernel/bounds.s] 错误 1
make[2]: *** [prepare0] 错误 2
make[2]:正在离开目录 `/opt/dev/codes/kernel/linux-3.4.6'
make[1]: *** [debian/stamp/conf/kernel-conf] 错误 2
make[1]:正在离开目录 `/opt/dev/codes/kernel/linux-3.4.6'
make: *** [debian/stamp/conf/minimal_debian] 错误 2
Failed to create a ./debian directory: 没有那个文件或目录 at /usr/bin/make-kpkg line 984.

不知是哪里错了。。。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 在ubuntu12.04下使用make-kpkg完美编译安装3.3.4内核
帖子发表于 : 2012-07-28 18:36 

注册: 2012-03-21 10:56
帖子: 214
送出感谢: 0 次
接收感谢: 0 次
3.4.6有问题 我编译也出错了 不过是和ck3补丁冲突


_________________
未来还很年轻,我们不要提前变老


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 在ubuntu12.04下使用make-kpkg完美编译安装3.3.4内核
帖子发表于 : 2012-07-28 23:19 

注册: 2010-04-29 20:45
帖子: 18
系统: ubuntu 14.04,Windows
送出感谢: 6
接收感谢: 1
表示试过DEB,遇到双显卡这个坎儿了,bumblebee跟不上


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 在ubuntu12.04下使用make-kpkg完美编译安装3.3.4内核
帖子发表于 : 2012-07-29 1:30 
头像

注册: 2009-01-19 15:09
帖子: 1982
送出感谢: 4
接收感谢: 8
先mark下。


_________________
坚守在linux的天堂!


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 在ubuntu12.04下使用make-kpkg完美编译安装3.3.4内核
帖子发表于 : 2012-07-29 18:10 

注册: 2012-03-21 10:56
帖子: 214
送出感谢: 0 次
接收感谢: 0 次
楼上 明月


_________________
未来还很年轻,我们不要提前变老


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 在ubuntu12.04下使用make-kpkg完美编译安装3.3.4内核
帖子发表于 : 2013-03-06 11:04 

注册: 2012-03-27 11:02
帖子: 3
送出感谢: 0 次
接收感谢: 0 次
学习了!!!! :em11 :em11


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 在ubuntu12.04下使用make-kpkg完美编译安装3.3.4内核
帖子发表于 : 2013-11-26 22:47 
头像

注册: 2009-05-06 0:36
帖子: 1048
送出感谢: 1
接收感谢: 13
学习了,我编译3.12 ,好像大黄蜂有问题。。。。


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 在ubuntu12.04下使用make-kpkg完美编译安装3.3.4内核
帖子发表于 : 2013-11-27 4:20 

注册: 2010-01-13 23:26
帖子: 3173
送出感谢: 0 次
接收感谢: 12
为啥是这么特殊的一个版本?


_________________
Here I am.
Ubuntu 桌面培训 - 全中文官方文档,含汉化截图,提供PDF


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

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Youdao FeedFetcher 和 3 位游客


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

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

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