linux内核编译过程及配置说明解释(1)--Kernel Configuration

Linux内核编译配置详解:从Kernel Configuration开始
本文介绍了Linux内核编译过程,包括下载内核源码、使用make menuconfig进行配置,并详细解释了配置界面的选项含义,如模块支持、块设备、处理器类型、电源管理等。在配置时,遇到软件包解析问题,通过更新源和清理缓存得以解决。

最近比较闲,定了一个任务就是学习linux的内核原理,网上找了些资料进行了汇总和记录如下:

1、找到ubuntu网站(https://launchpad.net/ubuntu/+source/linux/3.8.0-19.29)下载内核源码linux_3.8.0.orig.tar.gz

解压到本地文件夹;

2、本文采用make menuconfig方式进行内核的编译(方法有很多种);

    即 apt-get install libncurses5-dev,安装后进入解压的文件夹,运行命令make menuconfig即可出现图形化界面;

得到如下图所示的界面:


以上则表示进入了内核的配置界面。

这过程中也遇到了一个问题,libncurses5-dev 无法安装的问题(无法解析软件包文件 /var/lib/apt/lists/cn.archive.......),主要是源太旧了,需要apt-get update 一下,网上的方法可以解决问题,即:

正在读取软件包列表… 有错误!
   
    E: Encountered a section with no Package: header
   
    E: Problem with MergeList /var/lib/apt/lists/cn.archive.ubuntu.com_ubuntu_dists_
   
    natty_main_i18n_Translation-en

E: 无法解析或打开软件包的列表或是状态文件。
   
    问题:软件包出错
   
    解决方案:
   
    sudo rm /var/lib/apt/lists/* -vf
   
    sudo apt-get update

下一步翻译和分析下配置选项的含义和作用:

A:最上面说明翻译如下:

箭头表示含有子菜单

enter选择子菜单

高亮的字母表示热键

<Y>表示包含

<N>表示除外

<M>模块化功能

按 Esc Esc 两次退出

<?>表示帮助

</>表示查询

图例:[*] 内置;[ ] 除外;<M> 模块;< >模块 capable

B:帮助选项中的概览说明如下:

这个接口让你可以选择需要的功能和参数进行编译。功能可以是内置的,模块化的或者直接忽略。参数必须以十进制或十六进制或文本的方式进行输入。

菜单选项中的行首括号代表的含义如下:

[ ] 表示可以内置或者移除

<>表示可以内置,模块化或者移除

{ }表示内置或模块化(根据其他功能选择)

- - 根据其他功能选择

但 括号中为*,M或者空白时表示内置,以模块编译或者单独的执行

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值