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

这样就清理了整个内核源码编译目录,"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

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

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

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

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

可以将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

将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 //为确认路径

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

更多帮助
销售邮箱:sales@tronlong.com
技术邮箱:support@tronlong.com
创龙总机: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/

TL138-EVMLinux内核编译方法相关推荐

  1. 龙芯1B核心板,内核编译方法:实现usb转串口,即pl2303驱动的模块化安装使用

    龙芯1B核心板,内核编译方法,以usb转串口的方法为例 usb转串口的驱动,惯例使用的是pl2303驱动,在龙芯1B中也不例外,龙芯1B中使用的内核版本号是linux3.18,其中本身就带有pl230 ...

  2. AM5728 linux内核编译方法

    一.编译 Linux 内核 在 Linux 内核源码安装目录下,执行如下命令编译 Linux 内核: Host# make ARCH=arm CROSS_COMPILE=arm-linux-gnuea ...

  3. Ubuntu内核编译教程-编译Linux4.5.0内核

    转自http://www.linuxidc.com/Linux/2016-04/129955.htm 实验环境:Ubnuntu 64位(推荐使用14.04)+Xshell Linux云服务器很好用的, ...

  4. 树莓派交叉编译 内核编译 - HQ

    树莓派交叉编译 & 内核编译 - HQ 文章目录 树莓派交叉编译 & 内核编译 - HQ @[toc] 注意 树莓派交叉编译 引入 交叉编译工具链的安装 交叉编译使用举例 树莓派源码分 ...

  5. Linux内核的编译方法及如何往内核中增加程序

    2019独角兽企业重金招聘Python工程师标准>>> ARM Linux的系统调用实现原理是采用swi软中断从用户(usr)模式陷入管理模式(svc). 内核空间和用户空间这两个名 ...

  6. uClinux 内核编译常见错误及解决方法(zt)

    uClinux 内核编译常见错误及解决方法(uClinux kernel compile Troubleshooting) uClinux kernel compile Troubleshooting ...

  7. Linux centos7升级内核(两种方法:内核编译和yum更新)

                Linux centos7升级内核(两种方法:内核编译和yum更新) Linux的内核概念不用说大家也很清楚,正是内核版本的不同,才有Linux发行版本的说法,现在主流的cen ...

  8. 错误linux autocof.h,【技巧】一种提高 [ 定位Linux内核编译错误 ] 效率的方法

    前言:在编译一些非标准linux内核时,常会出现一些错误导致编译中止.这其中的大部分都能通过根据编译器报出的错误定位来查阅源码.找到相关的依赖配置,然后修正配置状态来解决.但也有时候从依赖逻辑中无法发 ...

  9. android8.1内核编译,Android8.1.0安卓源码编译

    换中科大源18.04 由于新安装的Ubuntu默认配置为Ubuntu官方源,基本软件包下载速度较慢,下面修改软件源: 备份下sources.list sudo cp /etc/apt/sources. ...

最新文章

  1. STL源码剖析读书笔记--第6章第7章--算法与仿函数
  2. xampp php源码的路径,php – XAMPP中的根路径
  3. 由Lucnene 对于预治疗的文字,全角半角转换器(可执行)
  4. github和pypi_如何将GitHub用作PyPi服务器
  5. 分布式任务调度平台一站式讲解
  6. linux tcb,在Linux中从潜藏密码迁移至tcb怎么做?
  7. Python zip() 函数--多个迭代器取元素组合成一个新的迭代器
  8. RabbitMQ ACK 机制的意义
  9. 2021年中国一次性防护服市场趋势报告、技术动态创新及2027年市场预测
  10. 我是直接学Swift还是Objective-C?
  11. gyp安装,及breakpad上的使用方法
  12. plesk 打不开php,如何在 Plesk 中管理 PHP
  13. linux 为动态分配的Virtualbox虚拟硬盘扩容
  14. 检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 8000401a 因为配置标识不正确
  15. 徐思201771010132《面向对象程序设计(java)》第六周学习总结
  16. Linux中rpm详解
  17. 如何解决注塑成型中的毛边问题?
  18. 逆水寒2021最新服务器,【图片】《逆水寒》2021年1月21日更新公告【逆水寒ol吧】_百度贴吧...
  19. 联想天逸 510S 2022怎么样
  20. python3 yield

热门文章

  1. SV660PCB,伺服驱动器PCB,原理图,和BOM
  2. 光缆在线监测系统研究
  3. 《机械制造业智能工厂规划设计》——第2章 2.0智能工厂设计通则
  4. 2020年10月虹科Pico汽车示波器简报
  5. 杰理之开启经典蓝牙 HID 手机的显示图标为键盘设置【篇】
  6. Unity程序化地形教程 第二期 噪声图的完善和更多细节添加
  7. c#推箱子小游戏代码_C# 推箱子游戏源码(带音效/关卡)
  8. 微信公众平台天气查询,火车票查询,快递查询,小黄鸡,翻译,公交查询的实现
  9. 15 设计电影租借系统
  10. 简单的RPG游戏制作教程