zoukankan      html  css  js  c++  java
  • Linux内核编译配置过程

    这两天帮一同学折腾HIP,需要重新编译内核。现在把编译配置内核的过程记录下来。

    操作系统:Ubuntu 10.04

    步骤:

    1 下载所需的内核包,解压到/usr/src/下;

    2 cd到内核源码根目录下,运行make mrproper,清理上次编译的结果文件以及配置文件;[可选]

    3   进入到内核源码根目录下,运行make oldconfig,让内核按常用配置生成;
         - 这里面还有其他一些选项,如defconfig,是默认配置

    4 运行make menuconfig (需要ncurses软件包),这是在菜单模式下进行内核配置,可以选择将其编译built-in(设置为*)或是内核模块(设置为M);
         - 还有其他的菜单配置,如xconfig

    5   确认依赖性make dep; [可选]

    6 编译内核映像文件,make bzImage,这步大约耗时0.5~1小时;

    7   编译内核模块,之前选择为内核模块的组件现在被编译,执行make modules;

    8 安装内核模块,执行make modules_install,这步就是把编译好的内核模块放到/lib/modules/内核版本号/下,以便于新内核启动后加载对应的内核模块;

    9   建立要载入的内核映像文件,这步是把编好的内核放到/boot目录下,执行mkinitramfs -o /boot/initrd-linux2.6.XX.img 2.6.XX;

    10 安装内核,执行make install,将内核相关的文件全部复制到/boot下;

    11 最后一步,配置grub,使系统从新的内核引导。一般来说,这步因系统而异,在ubuntu10.04中需要修改/boot/grub/grub.cfg(以前的版本是修改menu.lst),语法规则很好懂,一看便知。
           - 需要注意的是,有时候改完了未必加载成功,可能仍然需要把系统根目录(即/)下的两个软链接vmlinuz和initrd.img一并修改为/boot下对应的新内核映像文件,才可以成功加载。

  • 相关阅读:
    从输入URL到页面加载发生了什么
    JS常用操作方法图表
    前端面试技巧与技术栈准备梳理
    ES6学习笔记(二)—— 通过ES6 Module看import和require区别
    我所理解的event loop
    在npm上发布一个自己的包
    微信小程序--登录流程梳理
    CSS3动画和JS动画的比较
    基于Inception搭建MySQL SQL审核平台Yearing
    MySQL数据库主从切换脚本自动化
  • 原文地址:https://www.cnblogs.com/peteryj/p/1944882.html
Copyright © 2011-2022 走看看