返回列表 发帖

[站长原创] 跟我学嵌入式基础知识篇 -认识Linux内核

[站长原创] 跟我学嵌入式基础知识篇 -认识Linux内核

跟我学嵌入式基础知识篇 -认识Linux内核

嵌入式开发联盟www.mcuos.com

Osboy站长原创

QQ:82475491

Mcuos.com@gmail.com

(1)如何下载linux内核

ftp://ftp.kernel.org/pub/linux/kernel

下载相应的版本。

其实还有一种下载方式,git clone,就不介绍了,目前大家还用不上。

(2)Linux是如何开发出来的?

Linux是社区开发模式,majordomo@vger.kernel.org,这个是开发邮件列表,全世界各地的内核开发者都订阅此邮件,以后每个人向这个邮件发代码补丁,讨论问题,其他人都可以看到,订阅此开发列表就是发 ”subscribe linux-kernel“ 邮件内容到email地址:majordomo@vger.kernel.org。Linux的创始人linus通过这个邮件检查开发者的补丁,如果得到他的认可,就会把此补丁发布到下一个版本中。

(3)Linux内核代码的主要目录介绍



我们学习的是arm,所以我们重点看:arch/arm下面的目录:


(4)Linux内核是如何配置的?

可以使用两种方法进行配置。

1)将指定的配置文件,放到arch/arm/configs/目录下,比如:mcuos_6410_build_defconfig文件,下载地址:http://www.kuaipan.cn/file/id_49010112332825045.html。放到arch/arm/configs/目录下,然后直接:make mcuos_6410_build_defconfig,你的内核就按这我的这个文件配置了。

2)直接将mcuos_6410_build_defconfig,配置文件修改成.config文件。然后make menuconfig看看,是不是已经是我的默认配置啦?

3)如果想自己动手配置内核,那么就直接输入命令:make menuconfig,然后自己配置内核,然后保存退出,这个时候你自己对内核的配置就会保存在当前目录的.config文件中,注意config前面要有个"."点。这个是隐藏文件,可以用linux命令ls -a 查看该隐藏文件。

(5)Linux内核是如何编译的?

内核的编译使用make命令,如果是编译的arm平台,还要制定ARCH=arm,指定你具体的编译器工具链的前缀名字,比如CROSS_COMPILE=arm-linux-.

正确的编译arm linux的内核应该为:

make ARCH=arm CROSS_COMPILE=arm-linux-。

那么为什么我们的6410的linux3.0不需要后面的ARCH和arm-linux-呢?因为我们在内核的Makefile中已经手动的写死了这个设置了,这样就没有必要每次都写那么多的命令,累不累啊。你可以打开Linux目录下的Makefile,你能看到:

ARCH?= arm#$(SUBARCH)

CROSS_COMPILE?= arm-linux-#$(CONFIG_CROSS_COMPILE:"%"=%)这里其实是我都写好了的。

附件: 您需要登录才可以下载或查看附件。没有帐号?本站只开放邀请码注册,QQ:82475491,索要邀请码
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

请教第2步如何实现订阅
我向majordomo@vger.kernel.org发了subscribe linux-kernel 怎么没给我订阅?

TOP

直接发subscribe linux-kernel,不要写subject。

TOP

已掌握

Makefile可以用别人改好的

TOP

返回列表
网页右侧QQ悬浮滚动在线客服
网页右侧QQ悬浮滚动在线客服