ubuntu 14.04 下的 内核编译流程

  1. 下面只是个大体的流程,希望 初次尝试者 做好面对各种困难的准备。
    我的体会是:要一步步地走,做好‘打持久战’的准备:今天弄不完,改天有时间再弄,或
    啥时无聊了再来折腾折腾它解解闷儿。当遇到问题时,google下,如果没有理想的结果,那就去看文档吧。

  2. 获得源码 下载源码 kernel.org

  • 我保存到了我的home下
  • 你应该先去了解下版本号的意思
  • 我开始下了个 “linux-3.4.88.tar.xz”,在用‘make localmodconfig’配置时,发现我现在使用着的几个模块在这个版本的源码中没有,结果编译完用它启动后GUI特别卡,查看‘dmesg’中有“fail...”. 换成 “linux-3.14.2.tar.xz”后没事了。
  1. 直接右键“提取到此处”
  • 我提取到了我的home下
  • 强烈推荐:源码根目录中的 README
  1. 建立build目录用来存放编译时生成的文件
  • 这不是必须的,但我倾向于这样做 :)
b@T43:~$ mkdir build-kernel’
  1. 编译前 配置内核:定制内核的功能
   b@T43:~$ cd linux-3.14.2/
   b@T43:~/linux-3.14.2$ make O=~/build-kernel/ menuconfig
      #这里用的‘make menuconfig’可以用‘make help’查看说明
      #或者从源码根目录下的README中找到说明
      #它应该自动加载了系统现在所用内核的配置(如:/boot/config-版本号-generic)
      #从里面选择了我的CPU型号
          Processor type and features  ---> 
               Processor family (Pentium M)  --->
      #调高这个值提高 UI的响应  对于Server 这个值则应调低...看Help吧说的很明白
          Processor type and features  --->
               Timer frequency (1000 HZ)  --->
                   #调了这个值后‘爽多了’,真搞不明白为何Ubuntu 14.04 x86 用的3.13.0-24-generic 内核
                   #要把这个值调成250Hz :(  难倒是在SMP(多核CPU:对称多处理器) 上跑 250Hz就ok了?
                   #原来250Hz时,‘开始菜单’往外弹的时候就跟‘慢放’似得
      #最后保存退出  新配置被保存为‘~/build-kernel/.config’
  1. 强烈建立:只编译用得着的模块,节省时间
      b@T43:~/linux-3.14.2$ make O=~/build-kernel/ localmodconfig
        #我第一次编译差不多用了4小时(机器配置低+散热不好)  :(
        #运行‘localmodconfig’后,也就一个多小时吧....  :)
  1. 开始编译吧
   b@T43:~/linux-3.14.2$ make O=~/build-kernel/
      #这一条命令就把内核,模块都给编译了
      #也可以一个一个来:
         #编译内核后将它压缩
         b@T43:~/linux-3.14.2$ make O=~/build-kernel/ bzImage
         #编译模块   
         b@T43:~/linux-3.14.2$ make O=~/build-kernel/ modules
  1. 安装内核
 b@T43:~/linux-3.14.2$ sudo cp ~/build-kernel/arch/x86/boot/vmlinuz /boot/vmlinuz-3.14.2
  1. 安装模块
b@T43:~/linux-3.14.2$ sudo make O=~/build-kernel/ modules_install
  1. 建立initrd.img
   #我没建也从新内核启动起来了,读者随便吧
   #但我后来还是建上了,因为我看原来的内核也带着这文件
   b@T43:~/linux-3.14.2$ sudo mkinitramfs -v 3.14.2 -o /boot/initrd.img-3.14.2
  1. 更新GRUB选单
   #我Google了好多看了,试了都不对(应该是那些说明都太老了)
   #最后搞明白了,so easy...

   #先备份下原来的配置文件 以防万一
   b@T43:~/linux-3.14.2$ sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.old
   
   #自动生成新的配置文件
   b@T43:~/linux-3.14.2$ sudo grub-mkconfig  --output=/boot/grub/grub.cfg
      #GRUB把开机选单中的‘Ubuntu’配置为引导新的内核
      #你可以从‘Ubuntu高级选项’中选择想要引导的内核
  1. “Reboot with the new kernel and enjoy.” ----- 引自内核源码根目录下的README

end.如有错误欢迎指正,转载请注明出处。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容

  • 我们说的Linux其实指的就是 内核(kernel)而已。这个内核控制你主机的所有硬件并提供系统所有的功能,所以它...
    Zhang21阅读 7,376评论 0 18
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,126评论 9 467
  • 1:InputChannel提供函数创建底层的Pipe对象 2: 1)客户端需要新建窗口 2)new ViewRo...
    自由人是工程师阅读 5,239评论 0 18
  • 4.x86 CPU架构设计 4.1.x86硬件需求 对于通用交换机硬件需求,请参阅“交换机硬件需求”章节描述。 x...
    半天妖阅读 5,368评论 0 1
  • 这个星期都在看著名教育和尚寂静法师的书,虽然之前听过很多次音频,但是都没有这次看书看的深刻。 有一篇是讲《点燃孩子...
    谢静之妈妈阅读 189评论 0 0