TL138-EVMLinux内核编译方法

Revision History
Draft Date Revision No. Description
2017/06/16 V1.2 1.增加编译模块modules的方法。
2016/03/02 V1.1 1.模板修改。
2013/12/25 V1.0 1.初始版本。

目 录
1 编译内核 3
1.1 编译linux-3.3内核 3
1.1.1 清理内核 3
1.1.2 配置内核 4
1.1.3 编译内核 5
1.1.4 编译模块modules 6
1.2 编译linux-2.6.37内核 8
1.2.1 清理内核 8
1.2.2 配置内核 8
1.2.3 编译内核 9
1.3 编译linux-2.6.33内核 11
1.3.1 清理内核 11
1.3.2 配置内核 11
1.3.3 编译内核 12
更多帮助 14

1编译内核
光盘中提供的内核源代码共有三个版本:linux-3.3、linux-2.6.37和linux-2.6.33,此文档同时提供了三个源码的编译方法。各版本内核支持特性和维护信息见光盘"Linux/linux-feture-support.xls"文件。三个版本内核的基本区别如下:
linux-3.3:对应MCSDK双核开发包,使用SYSLINK组件,DSP端使用SYS/BIOS。
linux-2.6.37:对应DVSDK双核开发包,使用DSPLINK组件,DSP端使用DSP/BIOS。
linux-2.6.33:没有对应的软件包,使用DSPLINK组件,DSP端使用DSP/BIOS。
推荐使用linux-3.3内核和MCSDK/SYSLINK进行开发,其他版本不推荐使用。广州创龙现阶段主要维护基于linux-3.3内核和MCSDK/SYSLINK开发的相关代码。
mkimage工具是用来生内核镜像uImage的,没有它只能生成zImage镜像。由于系统默认是没有安装mkimage工具的,Ubuntu10.04可以通过网络安装mkimage工具,安装命令:sudo apt-get install uboot-mkimage。假如没有网络的话,可以将光盘tools目录下的mkimage拷贝到交叉编译工具链的bin目录下,例如:/home/tl/arm-2009q1/bin,再重新登录系统。
1.1编译linux-3.3内核
1.1.1清理内核
进入linux-3.3内核源码的顶层目录,然后执行以下命令:(内核源码目录路径请参考《4-1-搭建OMAPL138的Linux开发环境》)
Host# make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- distclean

图 1

这样就清理了整个内核源码编译目录,"arch/arm/boot"目录内核uImage镜像同时会被删除。

make clean、make mrproer、make distclean的区别:
删除的文件范围从小到大依次为:make clean < make mrproper< make distclean。
make clean:删除大多数的编译生成文件,但会保留.config内核配置文件。
make mrproper:删除所有的编译生成文件,同时删除内核配置文件以及各种备份文件。
make distclean:删除所有的编译生成文件,同时删除内核配置文件以及各种备份文件和补丁文件,清除最完整。
1.1.2配置内核
执行以下命令配置内核:
Host# make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- da850_omapl138_tl_defconfig

TL138-EVMLinux内核编译方法_第1张图片

Host# make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig
执行命令后弹出以下界面:

TL138-EVMLinux内核编译方法_第2张图片

点击不通过图形化界面修改配置,然后点击退出修改。用户也可以在修改配置后点击保存新的配置。

1.1.3编译内核
执行以下命令编译内核:
Host# make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage -j4

TL138-EVMLinux内核编译方法_第3张图片

TL138-EVMLinux内核编译方法_第4张图片

编译完成后可以在内核源码的"arch/arm/boot"目录下找到uImage。

图6

可以将uImage拷贝到正常使用的SD系统启动卡的FAT32格式的boot分区,方便以后SD卡启动方式时被U-Boot加载或者被烧写到NAND FLASH分区。

1.1.4编译模块modules
Host# make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules -j4

TL138-EVMLinux内核编译方法_第5张图片

将modules安装到系统卡roofs分区。
将系统卡插入PC机,在UBUNTU上确认是否挂载了系统卡,将编译的模块安装到系统卡roofs分区,执行如下命令:
Host# df //确认SD卡挂载的路径和名称为/media/roofs
Host# sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules_install INSTALL_MOD_PATH=/media/roofs //为确认路径

TL138-EVMLinux内核编译方法_第6张图片

注意:如需生成制卡工具里面的压缩包,可以把modules安装到UBUNTU其他目录,而非SD卡roofs,然后再进入安装目录打包成压缩包即可。

更多帮助
销售邮箱:[email protected]
技术邮箱:[email protected]
创龙总机:020-8998-6280
技术热线:020-3893-9734
创龙官网:www.tronlong.com
技术论坛:www.51ele.net
线上商城:https://tronlong.taobao.com
TMS320C6748、OMAPL138交流群:227961486、324023586
TI中文论坛:http://www.deyisupport.com/
TI英文论坛:http://e2e.ti.com/
TI官网:www.ti.com
TI WIKI:http://processors.wiki.ti.com/

你可能感兴趣的:(创龙)