linux-kernel移植

一、
Linux内核移植,首先Linux系统和Linux内核是不一样的东西。
在这里插入图片描述
像shell这些工具,内核都是不能用的。比如如果你的板子上面只有内核,那么基本的shell命令是用不了的。不挂载跟文件系统,和设备树这些你的串口和网路都用不了。
Linux内核包含那些东西呢?
在这里插入图片描述
上面就是一个kernel的示意图,内核里面有
1)process management:进程线程管理
2)memory management :存储管理
3)file system type:文件管理系统
4)device control:设备管理
5)notworking:网络管理

既然内核有设备管理系统,那末问什么还要挂载设备树(device tree)?
因为要让一个设备正常工作,Linux内核只做了一部分,就是管理设备,而设备的硬件信息通过设备树来管理。
比如我硬件的地址是多少等等。。
———————————————————————————
二、内核移植步骤

1、在linux官网上下载源码,并解压到ubunt里面。
在这里插入图片描述
arch:架构,里面有很多Linux的支持的架构,arm,x86等。arm下有各大厂商的arm发行的芯片支持内核。
FS;文件管理 net:网络管理 dirvers :驱动 kenerl:内核的内核 。。。。。。。。。。。。。。。。

2、指定我们的架构和编译工具,以及我们的处理器类型
Makefile :ARCH = arm
CROSS_COMPILE =amr-none-linux-gnueabi-
make exynos_defconfig

3、配置内核。
在目录下有一个.config文件,用 ls -a可以看到
这个文件就是可以选择你要配置你要上面模块,Y/N,但是他一个模块有很多组成而且顺序特别乱,所以我用一个图形化界面的一个程序去配置他。
make menuconfig
在这里插入图片描述
你要上面功能的模块选上就可以了,比如你要网络里面的cm9000的接口,你在设备驱动里面的网络里面的cm9000就可以了。

4、选择好了就可以编译内核。
make uIMage

编译之后你会发现,有一个error
并且提示少了‘mkimage’的命令,这是因为我们的linux少了这个工具,可以在u-boot里面找到
在这里插入图片描述
——————————————————————————————————
编译设备树

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值