频道栏目
首页 > 资讯 > Linux > 正文

嵌入式Linux内核制作

15-12-03        来源:[db:作者]  
收藏   我要投稿
一.Linux内核简介
 
Linux系统架构分为内核空间和用户空间。它们之间切换条件:1.系统调用 2.硬件中断。
 
内核架构:1.系统调用接口 2.进程管理块 3.内存管理 4.体系结构相关代码 4.虚拟文件系统 5.网络栈 6.设备驱动
 
二.制作Linux内核
 
1.修改配置文件
 
make config --文本模式交互式的配置
 
make menuconfig --基于文本模式的菜单型配置(直观、简单、高效、推荐)
 
配置文件的选择:1.默认2.已有的配置文件,Linux系统下的/boot/目录下保存了当前系统的配置项 ,我们可以直接用。
 
2.编译源码
 
make zImage -- 内核小于512k时可以使用。
 
make bzImage (v=1)--编译成功后内核保存在arch/cpu/boot 目录下 的bzImage二进制文件(编译成功的前提是在源码文件目录下必须有.config文件)。
 
3.编译内核模块
 
make modules--生成内核模块(*.ko)。
 
make nodules --将分散在各个文件夹内的内核模块收集到根目录下的/lib/modules目录下 我这里文件夹名为2.6.39
4.制作ramdisk
 
mkinitrd rd-$version $version --例 mkinitrd rd-2.6.39 2.6.39
 
5.拷贝内核文件
 
cp linux-2.6.39/arch/x86/boot/bzImage /boot/vmlinuz-2.6.39
cp rd-2.6.39 /boot/
 
6.更改启动文件
 
vi /etc/grub.conf
 
我原先的内核是2.6.32-279.el6.i686,我这次制作的内核为2.6.39 上面则是我修改的内容。
 
7.重启更换内核
 
在计时页面按任意键则可进入到选择内核版本界面。
 
注:这里我们只是更改系统内核,未对用户空间的数据进行修改,所以系统启动后硬盘的数据不会发生变化。
(查看内核版本 uname -r)
 
8.清理内核源代码
 
make clean --之清理产生*.o文件
 
make distclean--清理*.o文件、配置文件、*.ko文件
 
三.制作嵌入式内核
 
方法与制作Linux内核无多大区别,只需要注意:
配置时命令-- make menuconfig ARCH=arm;
编译命令-- make uImage ARCH=arm CROSS_COMPILE=arm-linux-
通常在编译是会出现缺少mkimage文件 我们可在uboot源码的/tools/目录下找 将其拷贝到根目录的/bin目录下即可。
相关TAG标签
上一篇:linux下查看cpu物理个数、核数、逻辑cpu数
下一篇:使用Docker快速部署Storm环境
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站