Linux内核设计与实现 之二 从内核出发

 
获取内核源代码:
从Linux官方内核网站可以随意获取 http://www.kernel.org

安装内核源代码:

解压缩:
tar xvjf linux-x.y.z.tar.bz2

不要把 /usr/src/linux 目录下的源码作为开发

使用补丁:
patch-pl < ../patch-x.y.z

编译内核:
1.配置:
可以配置的各种选项,以CONFIG_FEATURE形式表示,这些配置项要么是二选一,要么是三选一。二选一就是YES或NO,三选一就是Yes,No,module,module意味着该配置项被选定了,但编译的时候这部分功能的实现代码是以模块的形式生成的,驱动程序一般都用三选一的配置项。
配置选项也可以是字符串或整数,这些选项并不控制编译过程,而只是指定内核源码可以访问的值。
内核提供了各种不同的工具来简化内核配置,
最简单的一种是一个基于文本的命令行工具: make config
该工具会挨个遍历所有配置项,要求用户选择yes,no,module,由于这个过程往往要耗费很多时间,所以建议你利用

基于ncurse库编制的图形界面系统:
make menuconfig

或者,用基于X11的图形工具:
make xconfig

或者,用基于GTK+的图形工具
make gconfig

通过一条命令可以为你的体系结构创建一个默认配置(据说是Linus的配置)
make defconfig

这些配置项会存放在内核代码树根目录下的config文件中,

2、编译内核:
 make

3、多个文件同时编译
 把编译任务分成多个同时编译的作业,能有效提高效率,在实际中,每个处理器上一般分配1个或2个任务,例如在一个双处理器上,可以输入以下命令:
 make -j4

4、安装内核



二、内核开发的特点

1、不能访问C库
2、必须使用GNU C
3、没有内存保护机制
4、浮点数很难使用
5、内核只有一个很小的定长堆栈
6、时刻注意同步和并发
7、要考虑可移植的重要性
    










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值