内核配置与编译,内核移植

                 内核配置与编译

一、内核清除

  当我们拿到内核第一步需要做的就是先对内核进行清理,防止别人配置编译生成的中间文件对我们产生影响:

  1.配置过程生成的 .config
  2.编译生成 bzImage 中间文件(.o)和生成.ko 文件的中间文件(.o)

  make clean 清除.o 文件

  make distlean 清除.config 文件

二、内核配置

  1. make config:基于文本模式的交互式配置。

  

  2. make menuconfig:基于文本模式的菜单型配置。

  

  一般来说我选择第二种方法,简单明了。

这里面一般有三种菜单选项意义如下:

   <*>:所有的文件最后会被生成一个 uImage 内核映像运行在内存中

  <M>:内核模块各个模块生成一个文件夹(存储)需要使用时则拷贝到内存中使用可以达到节省内存的目的

  < >:不选择

2.2接下来配置linux内核

  首先将开发板制造商提供的config-file文件复制到linux内核目录下面改名为.config

  

  使用make menuconfig ARCH=arm命令

2.3内核配置结果

  

  内核配置通常在一个已有的配置文件基础上,通过修改得到新的配置文件,Linux 内核提供了一系列可供参考的内核配置文件,位于 Arch/$cpu/configs

  可以用命令 cd arch/arm/configs进入目录

  打开6410参考配置文件查看:vim s3c6400_defconfig

二、内核编译

  make   uImage   ARCH=arm   CROSS_COMPILE=arm-linux-

  

  编译内核失败原因:uboot 要求的可执行文件都有一个头这个头由 mkimage工具制作,生成 mkimage 工具在 uboot 里面 uboot/tools/拷贝到 bin 文件下面

   

2.1接着继续编译

  make   uImage   ARCH=arm   CROSS_COMPILE=arm-linux-

  出现以上错误是因为制作了根文件系统,只需取消了以下路径就可以了。

  执行:make menuconfig

  

  

执行:make   uImage   ARCH=arm   CROSS_COMPILE=arm-linux-等待20~30分钟

编译成功:

  

时间: 2024-08-26 13:27:28

内核配置与编译,内核移植的相关文章

嵌入式 Linux开发Kernel移植(二)——kernel内核配置和编译

嵌入式 Linux开发Kernel移植(二)--kernel内核配置和编译 本文选择linux 2.6.35.7版本kernel进行实践. 一.linux kernel源码目录分析 Kbuild,Kernel Build,管理内核编译的文件 Makefile,kernel工程的Makefile. arch,体系架构,arch目录下的子目录存放的是不同种类的架构 block,块设备,一般是存储设备,存放的块设备管理的相关代码 crypto,加密相关,存放加密算法实现代码 Documentation

[国嵌攻略][099][Linux内核配置与编译]

为什么要配置内核 基于硬件和软件的需求选出需要的功能,去掉不要的功能. 内核配置的方法 make config:基于文本交互的配置. make menuconfig:基于图形菜单的配置. make menuconfig配置方法 1.菜单项的分类 processor type and features   处理器类型 networking support            网络协议支持 device drivers                设备驱动支持 file systems     

Linux 内核配置和编译

一.配置内核 (1). 为什么要配置内核 1. 硬件需求 2. 软件需求 选出需要的,去掉不要的 (2). 如何配置内核 1. make  config 基于文本模式的交互式配置 2. make  menuconfig 基于文本模式的菜单式配置  优点:直观,简单,高效 <  > 不选择该功能  <m> 内核模块 不是随时随刻要使用的  B.o文件存到硬盘中,需要才添加到内存里面.节省内存  <*>B.O文件存到内存中,随时随地可使用的. (3). 内核配置结果 ls

Linux内核配置、编译及Makefile简述

Hi,大家好!我是CrazyCatJack.最近在学习Linux内核的配置.编译及Makefile文件.今天总结一下学习成果,分享给大家^_^ 1.解压缩打补丁 首先是解压缩你获取到的Linux内核.这里我用到的是linux.2.22.6版本的内核.在Linux下命令行通过tar xjf linux.2.22.6.tar.bz2解压内核.然后,如果你需要对这个内核打补丁的话,用patch命令:patch -px <../linux.2.22.6.patch.这里的px指的是忽略掉补丁文件中描述的

LINUX内核配置与编译

移植LINUX内核,就是为了让LINUX系统在自己的硬件平台上运行起来,能正常工作.其中最重要的还是驱动的移植,只有驱动程序能驱动硬件设备,上层的应用程序才能正常运行. 目前,LINUX支持内核的系列主要有以下,解压linux-3.5-20131028.tgz文件,进入到文件夹里面, 除了arch文件夹里面,都是大多数平台相同的文件: 在kernel文件夹里面,包含着一些内核的文件: 在arch文件里面是支持的各种平台文件,里面是一些芯片公司支持的一些驱动程序: 一般来说,LINUX系统剪裁都分

Linux内核@系统组成与内核配置编译

Linux系统由什么组成? 由用户空间(应用程序+GNU C标准库)和内核空间(系统调用接口+内核+内核架构代码)组成. Linux内核到底是什么?以及组成. ARM的七种操作级别? 内核网络协议栈(Network Stack)的作用? 为Linux提供了丰富的网络协议(TCP/IP.PPPOE)实现.将网络协议栈放在内核中为了提高网络性能,减少CPU开销. 虚拟文件系统的作用? 为了支持多种文件系统,并为它们提供统一的操作接口. Linux内核源代码结构 关于每个文件夹中的具体内容分析:参考h

Linux内核分析(一)---linux体系简介|内核源码简介|内核配置编译安装

原文:Linux内核分析(一)---linux体系简介|内核源码简介|内核配置编译安装 Linux内核分析(一) 从本篇博文开始我将对linux内核进行学习和分析,整个过程必将十分艰辛,但我会坚持到底,同时在博文中如果那些地方有问题还请各位大神为我讲解. 今天我们会分析到以下内容: 1.      Linux体系结构简介 2.      Linux内核源码简介 3.      Linux内核配置.编译.安装 l  Linux体系结构简介 1.       Linux体系结构(linux系统构成)

内核编译与移植(三)

在硕数的核心板上,使用的是SMSC公司的网卡芯片,型号为LAN9220.此芯片在Linux-3.0.99内核中可以支持,因此修改进来就方便多了.先修改文件arch/arm/mach-s3c2416/mach-smdk2416.c,用vi打开它,先在包含头文件部分加入一句“#include <linux/smsc911x.h>”,把SMSC LAN9220网卡的头文件包含进来.然后找到结构体“static struct platform_device *smdk2416_devices[] __

linux、内核源码、内核编译与配置、内核模块开发、内核启动流程(转)

linux是如何组成的?答:linux是由用户空间和内核空间组成的为什么要划分用户空间和内核空间?答:有关CPU体系结构,各处理器可以有多种模式,而LInux这样的划分是考虑到系统的安全性,比如X86可以有4种模式RING0~RING3  RING0特权模式给LINUX内核空间RING3给用户空间linux内核是如何组成的?答:linux内核由SCI(System Call Interface)系统调用接口.PM(Process Management)进程管理.MM(Memory Managem