一、运行在TQ2440开发板上的linux内核编译

1、获取源码并解压

  直接使用天嵌移植好的“linux-2.6.30.4_20100531.tar.bz2”源码包。

  解压(天嵌默认解压到/opt/EmbedSky/linux-2.6.30.4/中)

tar xvjf linux-2.6.30.4_20100531.tar.bz2 -C /

2、获取默认配置文件

 可以使用“config_EmbedSky_W43”作为默认配置文件

cp config_EmbedSky_W43 .config

3、配置(根据需要修改部分选项)

笔者认为只要有一个适合自己开发板的“.config”,这一步也不需要,直接使用这个配置文件去编译内核即可。

至于这一步的意义,其实也就是为了生成一个适合自己开发板的“.config”,决定哪些模块需要编译进内核(裁剪内核)。

默认配置文件的意义就在于,为我们提供了一种参考,通常选择的默认配置文件是与我们的开发板很相似的。由于配置选项太多,多达上千项,使用默认配置文件,只需要修改那些默认配置文件与我们开发板不一样的选项即可,这肯定是节省时间和体力的捷径。

 make menuconfig

4、编译内核

  make zImage

5、编译modules(内核驱动)模块

 make modules 

  可在内核中挂载使用生成的“*.ko”文件

二、运行在X86平台上的linux内核编译和安装

1、获取源码并解压

  可以从http://www.kernel.org/选择一个想要的版本,例如“linux-3.2.55.tar.xz”,并解压到“/usr/src”(/usr/src目录下是专门存放内核源代码的)。

sudo tar -xvf linux-3.2.55.tar.xz -C /usr/src

  解压后源码大小几百MB。

2、 获取默认配置文件

  比如说:/boot/config-3.2.0-55-generic-pae(Ubuntu当前内核的配置文件)

cp /boot/config-3.2.0-55-generic-pae .config

3、配置

make menuconfig

此命令会调取各级目录中的kconfig生成一个菜单,通过这个菜单,我们可以配置linux内核。配置完成后的信息,保存在“.config”中。在编译内核的时候,会读取这个配置文件,从而决定以什么样的方式编译内核,编译内核的那些模块等等。

4、编译内核和模块

 编译内核

make

 此过程长达几个小时,编译完后源码包就有5、6个G,所以在编译之前确保你的虚拟磁盘剩余容量足够大,不够的话参考修改虚拟机linux硬盘的大小 进行磁盘扩容,否则在编译过程中将出现“磁盘空间不足”的问题。生成的内核镜像在arch/x86/boot目录下。

安装模块

make modules_install 

  make modules_install命令用于安装可装载模块,安装的目的目录时/lib/modules/3.2.55

5、安装

make install

  make install命令执行三个操作:复制内核镜像到/boot目录下;生成initrd-img;更新grub。命令成功执行成功后,新的内核已可以使用,并且列在引导菜单中。

    /boot目录下的内容

6、重启检查

  重启系统,grub引导选项中多了我们新编译的内核选择,选择新内核引导。“Previous Linux version”为更新内核前的内核启动项。

进入系统后执行命令uname -r 查看当前的内核版本。

uname -r

后记

倘若想卸载自己编译的内核,可以参考linux下删除内核 进行操作。

参考网页:linux内核学习之二:编译内核

自己编译linux内核

转载于:https://www.cnblogs.com/amanlikethis/p/3592009.html

运行在TQ2440开发板上以及X86平台上的linux内核编译相关推荐

  1. android移植 开发板,Android在TQ2440开发板上的移植

    原标题:Android在TQ2440开发板上的移植 一.目前进展 1.已经可以通过NFS在开发板上运行 最近自己编译了android的文件系统,并在TQ上运行了,比熊猫版的bin程序多些,基本功能已经 ...

  2. Android在TQ2440开发板上的移植(转)

    一.目前进展 1.Android已经可以通过NFS在TQ2440开发板上运行 最近自己编译了android的文件系统,并在TQ上运行了,比熊猫版的bin程序多些,基本功能已经实现,大家可以从: htt ...

  3. linux开发板led怎么亮,TQ2440开发板上实现按键点亮LED(转载)

    //声明:该文章是在网上搜到的,对作者表示感谢. 文章记录了作者在TQ2440开发板上实现按键点亮LED驱动开发的详细过程,还记录了一些容易出现的错误,以及怎么解决这些错误. 一.驱动开发流程 二.驱 ...

  4. linux内核添加usb键盘驱动,配置USB外设 - linux-2.6.32在mini2440开发板上移植_Linux编程_Linux公社-Linux系统门户网站...

    linux-2.6.32在mini2440开发板上移植 配置USB外设 [日期:2013-04-08] 来源:Linux社区 作者:ssdsafsdsd [字体:大 中 小] 编者:因为LINUX内核 ...

  5. 编译linux tq2440,QT4.8.2在TQ2440开发板上的移植(一)--编译和安装

    主机版本:Ubuntu 11.04 交叉编译器版本:4.3.3 移植的主要工作就是编译在ARM板上运行的qt库,并且把这些库做到根目录中.需要的文件tslib-1.4.tar.gz qt-everyw ...

  6. linux在开发板LCD上显,W35型LCD驱动移植 - linux-2.6.32在mini2440开发板上移植_Linux编程_Linux公社-Linux系统门户网站...

    编者注:本移植主要步骤还是按照手册来,里面讲解了一些有用的基础知识.但书册上提供了集中屏幕的方案,我们这里主要就用一种,也就是开发板自带的W35型号.液晶驱动的源程序在src/drivers/vide ...

  7. Liunx树莓派(ARM)开发篇—第十四章、树莓派Linux内核编译步骤(超详细、图文结合)

    对树莓派内核源码进行配置后,下一步要进行树莓派Linux内核编译 以下步骤均在PC端虚拟机上完成 准备材料:PC端虚拟机.树莓派交叉编译工具.树莓派内核(交叉编译工具.内核下载步骤见树莓派内核源码) ...

  8. 将linux内核烧进arm板,ARM开发板上uClinux内核移植

    <ARM开发板上uClinux内核移植>由会员分享,可在线阅读,更多相关<ARM开发板上uClinux内核移植(19页珍藏版)>请在人人文库网上搜索. 1.纷傲掌秀悸篷益哑檀扬 ...

  9. ubuntu如何在开发板上挂载文件

    一.在ubuntu系统中安装nfs服务 1.安装nfs软件包 sudo apt-get install nfs-kernel-server sudo apt-get install nfs-commo ...

最新文章

  1. 隐马尔可夫模型维特比算法与前向算法区别
  2. Scala模式匹配的亮点——Martin Odersky访谈(四)
  3. anaconda更换镜像源
  4. (转载)linux如何设置为低内核启动(降核)
  5. Asp.net在线压缩和解压缩简单实现(附项目源码)
  6. mysql 碎片率_MySQL数据碎片的整理和分析
  7. 筛法求素数c 语言,位筛法求素数,有段代码看不懂,有大佬可以来说一下
  8. Linux|Qt工作笔记-linux系统下安装qt4.5.3版本的详细步骤
  9. 跨过山和大海的地铁外放党们有人管了,明年开始!网友:没收手机么?
  10. Java基础-final关键字
  11. Fedora CoreOS to CentOS7 问题汇总1
  12. (转)栈与堆栈的区别
  13. ssh java_java中的SSH的各自作用是什么-百度经验
  14. 程序关闭是总是出异常解决方法
  15. 求教:.Net Framework 3.5 SP1安装失败
  16. selenium万能选择器
  17. ubuntu下查看opencv版本
  18. 小众软件(持续更新)
  19. python中常用的utils
  20. PTA 1069 微博转发抽奖(Python3)

热门文章

  1. Dll学习一_Dll 创建并动态引用窗体且释放窗体Demo
  2. html节点上下移动,关于前端:数组元素上下移动
  3. ACRush 楼天城回忆录
  4. arachni web mysql数据库_Web安全扫描工具Arachni
  5. 初探儿童编程,如何学习编程及幼儿逻辑训练的必要性
  6. 服务器多核性能排行,服务器内存多核性能
  7. antd From 中 Form.Item里含有自己封装的组件,获取不到值的解决方法
  8. Ajax jquery的库的简化版本
  9. Bootstrap警告框
  10. html 语义化标签拾遗