linux内核编译for-arm基础

本文介绍了Linux内核源代码的目录结构,包括arch、include、init、mm等关键目录的功能。讲解了内核配置的基本结构,如Makefile、配置文件和配置工具。并列举了编译内核的常用命令,如make config、make dep、make clean等。此外,文章还提到了内核移植的准备工作,包括下载内核、BusyBox和交叉编译器,以及移植的基本步骤,如修改Makefile、配置内核和生成内核镜像。
摘要由CSDN通过智能技术生成

一 :基础知识


Linux
内核源代码可以从网上下载,一般主机平台的Linux (如红旗Linux)源代码在根目录下的/usr/src/linux目录下。内核源代码的文件按树形结构进行组织的,在源代码树最上层的主要可以看到如下的一些目录:
1)、archarch子目录包括所有与体系结构相关的内核代码。arch的每一个子目录都代表一个Linux所支持的体系结构。
2)、includeinclude子目录包括编译内核所需要的头文件。与ARM相关的头文件在include/asm-arm子目录下。
3)、init这个目录包含内核的初始化代码,但不是系统的引导代码,其中所包含main.cVersion.c文件是研究Linux内核的起点。
4)、mm该目录包含所有独立于CPU体系结构的内存管理代码,如页式存储管理内存的分配和释放等。与ARM体系结构相关的代码在arch/arm/mm中。
5)、Kernel这里包括主要的内核代码,此目录下的文件实现大多数Linux的内核函数,其中最重要的文件是sched.c。与Xscale体系结构相关的代码在arch/arm-pxa/kernel目录中。
6)、Drives此目录存放系统所有的设备驱动程序,每种驱动程序各占一个子目录。
a)、/block:块设备驱动程序。块设备包括IDEscsi设备。
b)、/char:字符设备驱动程序。如串口、鼠标等。
c)、/cdrom:包含Linux所有的CD-ROM代码。
d)、/pciPCI卡驱动程序代码,包含PCI子系统映射和初始化代码等。
e)、/scsi:包含所有的SCSI代码以及Linux所支持的所有的SCSI设备驱动程序代码。
f)、/net:网络设备驱动程序。
g)、/sound:声卡设备驱动程序。
7)、lib目录放置内核的库代码;
8)、net目录包含内核与网络的相关的代码;
9)、ipc目录包含内核进程通信的代码;
10)、fs目录是所有的文件系统代码和各种类型的文件操作代码,它的每一个子目录支持一个文件系统,如JFFS2
11)、scripts目录包含用于配置内核的脚本文件等。每个目录下一般都有depend文件和一个makefile文件,他们是编译时使用的辅助文件,仔细阅读这两个文件对弄清各个文件之间的相互依托关系很有帮助。

     内核的配置的基本结构

Linux
内核的配置系统由四个部分组成
1)、Makefile分布在Linux

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值