嵌入式系统移植笔记(五) --内核的配置和编译

2019-07-12 16:02发布

现在Linux内核源码的ARM体系结构已经引入了设备树的概念。设备树是描述硬件的数据结构,将之前配置在内核源码中的一部分提取出来。所以分别对内核和设备树文件进行配置和编译。本章节仍然以三星的exy4412芯片为例。
  • 通过内核的配置文件可以对内核进行配置,可以通过make menuconfig来进行图形化配置
  • 设备树文件描述CPU与外围硬件的配置和连接信息,在 arch/arm/boot/dts/ 目录下
  首先将在Ubuntu环境中,添加交叉编译工具到PATH变量,永久有效。 root@linux:~/linux-3.14-fs4412# vim /etc/bash.bashrc  export PATH=/home/linux/soft/gcc-4.6.4/bin:$PATH
/home/linux/soft/ 是工具链的路径,添加到PATH的头部;写入/etc/bash.bashrc 中保证重启机器后变量仍然有效。  

内核配置编译流程

下载内核 linux-3.14.tar.xz https://www.kernel.org/   1.解压内核 tar -xvf  linux-3.14.tar.xz   2.进入目录,在Makefile中指定交叉编译工具 root@linux:~/linux-3.14-fs4412# vim Makefile ARCH            ?= arm CROSS_COMPILE   ?= arm-none-linux-gnueabi- ARCH指定默认索引路径,CROSS_COMPILE 指定交叉编译工具的前缀   3.导入三星公司对该芯片的配置文件 make exynos_defconfig     (arch/arm/configs/ 目录下,arch/arm/configs/exynos_defconfig)   4.也可以通过图形化的方式修改内核的配置文件 make menuconfig ps:如果提示缺少图形库文件,试一下这个命令   sudo apt-get install libncurses5-dev   5.编译内核 make uImage  

配置编译设备树

1.查看/修改设备树文件 vim arch/arm/boot/dts/exynos4412-fs4412.dts    2.编译设备树 make dtbs