Linux内核制作
来源:互联网 发布:linux https 编辑:程序博客网 时间:2024/05/19 19:13
一、Linux内核简介
1.1 Linux系统架构
Linux体系结构:用户空间(用户接口、C库),内核空间(系统调用、内核、结构支持内核代码)。
分成两个结构,可以使操作系统本身的到充分的保护。内核空间与用户空间是程序执行的两种不同状态,通过系统调用和硬件中断能够完成从用户空间到内核空间的转移。
1.2 Linux内核架构
1.3 Linux内核源码
www.kernel.org
Linux内核源代码采用树形结构进程组织,非常合理的把功能相关的文件都放在同一个子目录下,使得程序更具可读性。 arch目录:内核所支持的CPU体系,在该目录下都有对应的子目录。每个CPU的子目录,又进一步分解为boot,mm,kernel等子目录,分别包含控制系统引导,内存管理,系统调用等
fs目录:存放各种文件系统的实现代码。每个子目录对应一种文件系统的实现,公用的源程序用于实现虚拟文件系统vfs。
net目录:网路协议的实现代码
二、Linux内核配置与编译
2.1 为什么要配置内核
1. 硬件的需求
3.1 嵌入式系统构成
3.2 内核制作步骤
编译后报错:
赋值uboot的tools/mkimage到/bin目录下。重新编译
没有制作文件系统
1.1 Linux系统架构
Linux体系结构:用户空间(用户接口、C库),内核空间(系统调用、内核、结构支持内核代码)。
分成两个结构,可以使操作系统本身的到充分的保护。内核空间与用户空间是程序执行的两种不同状态,通过系统调用和硬件中断能够完成从用户空间到内核空间的转移。
1.2 Linux内核架构
1.3 Linux内核源码
www.kernel.org
Linux内核源代码采用树形结构进程组织,非常合理的把功能相关的文件都放在同一个子目录下,使得程序更具可读性。 arch目录:内核所支持的CPU体系,在该目录下都有对应的子目录。每个CPU的子目录,又进一步分解为boot,mm,kernel等子目录,分别包含控制系统引导,内存管理,系统调用等
fs目录:存放各种文件系统的实现代码。每个子目录对应一种文件系统的实现,公用的源程序用于实现虚拟文件系统vfs。
net目录:网路协议的实现代码
二、Linux内核配置与编译
2.1 为什么要配置内核
1. 硬件的需求
2. 软件的需求
选出需要的,去掉不要的!
2.2 内核配置方法
2.2 内核配置方法
make config:基于文本模式的交互式配置。
make menuconfig:基于文本模式的菜单型配置。
2.3 内核配置的结果在哪里?
刚编译的在内核文件下的.config。 内核配置通常在一个已有的配置文件基础上,通过修改得到新的配置文件,Linux内核提供了一系列可供参考的内核配置文件,位于Arch/$cpu/configs
2.4 内核编译--make zImage--make bzImage
2.5 编译内核模块
编译内核模块:make modules
2.7 安装内核(x86)
1、cp arch/x86/boot/bzImage
三、嵌入式内核制作2.3 内核配置的结果在哪里?
刚编译的在内核文件下的.config。 内核配置通常在一个已有的配置文件基础上,通过修改得到新的配置文件,Linux内核提供了一系列可供参考的内核配置文件,位于Arch/$cpu/configs
2.4 内核编译--make zImage--make bzImage
*区别:在X86平台,zImage只能用于小于512K的内核
*如需获取详细编译信息,可使用:
make zImage V=1
make bzImage V=1
** 编译好的内核位于arch//boot/目录下 **
2.5 编译内核模块
编译内核模块:make modules
将编译好的内核模块,从内核源代码目录复制至/lib/modules下**,为打包做好准备: make modules_install
2.6 制作init ramdisk
方法:mkinitrd initrd-$version $version
2.6 制作init ramdisk
方法:mkinitrd initrd-$version $version
例:mkinitrd initrd-2.6.32 2.6.32
*$version /lib/modules 可以通过查询下的目录得到
2.7 安装内核(x86)
1、cp arch/x86/boot/bzImage
/boot/vmlinuz-$version
2、cp initrd-$version /boot/
3、修改/etc/grub.conf
2.8 清理内核
make clean:清理的是*.o,配置文件.config
make distclean:清理的是*.ko和*.o,配置文件.config
2.8 清理内核
make clean:清理的是*.o,配置文件.config
make distclean:清理的是*.ko和*.o,配置文件.config
3.1 嵌入式系统构成
3.2 内核制作步骤
2、配置内核
x86: make menuconfig
arm: make menuconfig ARCH=arm
3、编译内核
x86: make bzImage
arm: make uImage ARCH=arm CROSS_COMPILE=arm-linux-
编译后报错:
- Kernel: arch/arm/boot/zImage is ready
- UIMAGE arch/arm/boot/uImage
- "mkimage" command not found - U-Boot images will not be built
- Image arch/arm/boot/uImage is ready
点击(此处)折叠或打开
- Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
- Backtrace:
- [] (dump_backtrace+0x0/0x10c) from [] (dump_stack+0x18/0x1c)
- r7:c380c0cb r6:c04f4d80 r5:c380c000 r4:c381df40
- [] (dump_stack+0x0/0x1c) from [] (panic+0x4c/0x12c)
- [] (panic+0x0/0x12c) from [] (mount_block_root+0x178/0x234)
- r3:00000000 r2:c38313ec r1:c381df40 r0:c0446f9c
- [] (mount_block_root+0x0/0x234) from [] (mount_root+0xb0/0xf4)
- [] (mount_root+0x0/0xf4) from [] (prepare_namespace+0x104/0x19c)
- r7:00000000 r6:c002483c r5:c002483c r4:c04f4744
- [] (prepare_namespace+0x0/0x19c) from [] (kernel_init+0xc8/0xf4)
- r6:c00236dc r5:c0023274 r4:c00236dc
- [] (kernel_init+0x0/0xf4) from [] (do_exit+0x0/0x620)
- r7:00000000 r6:00000000 r5:00000000 r4:00000000
0
上一篇:u-boot新手入门
下一篇:根文件系统制作
相关热门文章
- SHTML是什么_SSI有什么用...
- 查看linux中某个端口(port)...
- 卡尔曼滤波的原理说明...
- shell中字符串操作
- 关于java中的“错误:找不到或...
给主人留下些什么吧!~~
评论热议
阅读全文
0 0
- linux内核制作
- 嵌入式linux内核制作
- 嵌入式linux内核制作
- 嵌入式linux内核制作
- 嵌入式linux内核制作
- 嵌入式Linux内核制作
- 嵌入式linux内核制作
- linux内核的制作
- 嵌入式 Linux 内核制作
- Linux内核制作
- mkimage制作linux内核映像
- mkimage制作linux内核映像
- arm平台Linux内核制作
- 嵌入式linux内核制作流程
- 嵌入式Linux内核的制作
- 制作最小linux内核(1)
- 制作最小linux内核(2)
- 制作最小linux内核(3)
- 网络并发服务器设计
- 守护进程
- Spring MVC 处理请求流程
- Python build finished, but the necessary bits to build these modules were
- u-boot新手入门
- Linux内核制作
- 三种memcached的JAVA客户端比较
- java注解解析
- BZOJ 4337 树的同构(树的hash)
- Alpha测试、Beta测试和验收测试的含义与区别
- Java集合---HashMap源码剖析
- Linux内核模块开发
- oracle 数据库 结果集字符串拼接的简单解决方式
- Linux内核子系统
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
加洛林窗帘
加洛林文艺复兴
加洛特
控温加热器
工业去湿器
工业加湿器厂家
离心加湿器
加湿器生产厂家
纺织厂加湿器厂家
纺织厂工业加湿器
工业加湿器排名
电子厂加湿器厂家
加湿器一般多少钱
工业加湿器价格
无尘车间加湿器
工业用的加湿器
工业加湿器报价
喷雾式加湿器
印刷车间加湿器
工业雾化加湿器
什么样的加湿器适合家庭用
微雾加湿器
工业喷雾加湿器
纺织厂用加湿器
什么品牌的加湿器好
哪个牌子的加湿器好用
工厂车间加湿器
工业加湿器多少钱
卧室加湿器
纺织用加湿器
离心式加湿器价格
超声波雾化工业加湿器
印刷工业加湿器
大功率加湿器
冷雾加湿器
蔬菜喷雾加湿器
车间用加湿器
工厂加湿器
小型超声波加湿器
纺织车间加湿器
家用加湿器生产厂家