一、系统开发平台介绍
本次试验是基于九鼎创展公司嵌入式开发板x210v3, 核心处理器是ARM Cortex–A8架构的S5PV210,主频1GHz。 PC机Linux版本:Ubuntu Kylin 14.04 内核版本:3.13
二、Linux内核配置和编译
2.1 基本原理介绍
2.1.1目录简介
Linux目录基于“文件系统层次标准”(FHS),目录为树形结构。该标准定义了不同目录的结构和功能。基本目录如下:
arch:architecture的缩写,包含与体系结构相关的内核代码,实验中我们用到的是ARM体系结构;
drivers:设备驱动程序,如block:部分块设备驱动程序,char:字符设备驱动程序,其他的还有cdrom、pci、scsi、net、sound等;
fs:存放各种文件系统的实现代码。每个子目录对应一种文件系统,如:
||devpts-/dev/pts虚拟文件系统 ||ext2-第二扩展文件系统
||fat-fat32文件系统 ||isofs-iso9660光盘cd-rom上的文件系统
include:含内核所需头文件;
init:含内核初始化代码;
ipc:进程间通信的实现代码;
kernel:Linux大多数关键的核心功能都是在这个目录实现;
(调度程序,进程控制,模块化)
lib目录:库文件代码;
Mm:用于实现内存管理中与体系结构无关的部分(与体系结构相关的部分在arch下);
Net:网络协议的实现代码。如:
||802-802无线通讯协议核心支持代码 ||ipv4-ip协议族V4版32未寻址模式
||ipv6-ip协议族V6版
Scripts:含配置内核的脚本文件;
2.1.2 内核配置的基本结构
Linux内核的配置系统由三部分(或者四部分,区别在于分类方式)组成:
1) Makefile:分布在 Linux 内核源代码中的 Makefile,定义 Linux 内核的编译规则,在顶层及各子目录下都有。顶层 Makefile 有两个主要的任务:产生 vmlinux 文件和内核模块(module); 另一个文件Rules.make 为规则文件,定义了所有 Makefile 共用的编译规则。
2) 配置文件(config.in):给用户提供配置选择的功能。文件中有许多的配置变量等式,用来说明用户配置的结果。例如 CONFIG_MODULES=y 表明用户选择了 Linux 内核的模块功能。
3) 配置工具:包括配置命令解释器(对配置脚本中使用的配置命令进行解释)和配置用户界面(提供基于字符界面、基于 Ncurses 图形界面以及基于 Xwindows 图形界面的用户配置界面,各自对应于 Make config、Make menuconfig 和 make xconfig)。本次实验使用的是make menuconfig
2.2 内核配置过程
1.利用tar 指令解压内核并进入解压出的内核文件夹,试验中使用的内核是已经移植好的与开发板配套的内核;
2.ExportARCH=arm ;选择处理器构架为arm平台,执行完该指令之后Makefile 将使用以arm平台为基础的代码
3&#