Linux 内核配置

原创 2015年07月07日 10:43:00
一 Linux 内核配置 


(1)修改Makefile添加自己的交叉开发工具链 


#ARCH ?= $(SUBARCH)
#CROSS_COMPILE ?=
#CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)


#添加的自己的平台和开发工具链
ARCH = arm
CROSS_COMPILE = arm-cortex_a8-linux-gnueabi-


(2)添加配置文件
第一种方法:
[1]将平台默认的配置文件拷贝到Linux内核的顶层目录,命名为.config 


例如:
cp arch/arm/configs/s5pc100_defconfig .config


[2]通过make menuconfig命令配置一下内核


第二种方法:
[1]make  默认配置文件
例如:
make s5pc100_defconfig




注意:
通过make menuconfig需要确认:
[1]当前平台的是否正确
[2]是通过那个串口输出信息
[3]需要配置的设备驱动和服务


(3)make 编译内核 


顶层目录:vmlinux       elf格式的Linux内核
arch/arm/boot/Image    去掉elf头和符号信息之后的Linux内核
arch/arm/boot/zImage   通过gzip压缩后,添加了自解压代码之后的Linux内核
arch/arm/boot/compressed/vmlinux 通过gzip压缩后,添加了自解压代码之后的Linux内核(elf格式)


二 Kconfig和Makefile 


1.Makefile : 完成对文件编译
基本语法
[1]obj-y += dir/ 或 obj-y += file
   表示对应目录需要编译进内核或指定的文件需要编译进内核


[2]obj-CONFIG_XXX += dir/ 或 obj-CONFIG_XXX += file
   表示对应目录或文件是否需要编译进内核,取决于CONFIG_XXX宏的定义


2.Kconfig : 提供内核的配置菜单选项


配置选项
config 选项名
属性1
属性2 


[1]选项名 
config HELLO


展现的形式:CONFIG_HELLO,在.config文件中定义 


[2]属性 
(1)选择类型
<1>tristate   y:编译进内核  m:编译成模块  n:不编译 
   <2>bool       y:编译进内核  n:不编译 
<3>string     CONFIG_选项名="字符串"
<4>int        CONFIG_选项名=整数 
<5>hex        CONFIG_选项名=十六进制数

(2)提示字符串
  prompt "提示字符串"


(3)range  指定值的范围


(4)help   帮助信息
help 
 "test help ..."


(5)default  当没有进行配置的时候,默认的选择是什么
例如:
config HELLO 
tristate 
prompt "hello support"
default y 


(6)depends on  配置选项名 
 [1]depends on 配置选项名 
 [2]depends on 配置选项名1 || 配置选项名2 
 [3]depends on 配置选项名1 && 配置选项名3
 
 y:2  m:1  n:0
 && -> 最小值
 || -> 最大值


 注意:如果依赖的结果为0:不可见,2:三态,1:2态

(7)select  配置选项名
 当前配置选项被选中的时候,同时选择select 指定的配置型选项


注意:(1)和(2)必须有,其它可选择
版权声明:歡迎转载,转载请署名来源

Linux内核配置--蓝牙与WIFI

原文地址:http://blog.csdn.net/new_abc/article/details/7639326 1、蓝牙          [*]Networking supp...
  • zahuopuboss
  • zahuopuboss
  • 2014年09月09日 16:02
  • 1138

Linux内核配置(转)

2.5  Linux内核配置选项 下面以最新的Linux 2.6.20内核为例,介绍比较常用的一些Linux内核配置选项,其他选项读者可以参考系统提供的帮助信息。 需要说明的是,在内核配置中,某项选择...
  • iamxiaoguizi
  • iamxiaoguizi
  • 2015年08月18日 19:48
  • 822

linux 内核编译:内核配置原理与常见配置问题的解决方法&&内核版本控制解析

摘要:在进行内核编译的时候,内核配置无疑是其中最为重要的环节,直接决定了编译的内核是否能够满足要求。而且,对于新加入的内核特性,我们往往无法在make menuconfig中找到相应的选项。本文主要为...
  • RHEL_admin
  • RHEL_admin
  • 2015年06月02日 13:43
  • 1280

OK2440开发板 ------linux-2.6.12内核配置支持U盘,SD卡

配置内核 1.配置usb host Device Drivers  --->   SCSI device support  --->           SCSI disk s...
  • thinkpadlove
  • thinkpadlove
  • 2012年11月02日 16:56
  • 2489

Linux 内核配置和文件系统的构建

一、 实验目的 1.了解嵌入式系统的开发环境、内核的下载和启动过程; 2.了解Linux内核源代码的目录结构及各目录的相关内容,了解Linux内核各配置选项内容和作用,了解Linux内核各配置选项...
  • breezewin
  • breezewin
  • 2011年11月23日 00:34
  • 1981

2.6内核增加usb支持 - 配置简介

USB support  USB支持  Support for Host-side USB  主机端(Host-side)USB支持.通用串行总线(USB)是一个串行总线子系统规范,...
  • u011208567
  • u011208567
  • 2014年09月24日 09:58
  • 1567

Linux 内核调试 串口设置

调试好几天终于发现 能正常加载运行Image却不能运行zImage的原因: 如果加载压缩的内核映像时,串口设置一定 关闭FIFO,切记,切记,切记,否则,不能启动。...
  • liujia2100
  • liujia2100
  • 2013年02月28日 23:23
  • 1789

Linux内核配置参考

Linux 2.6内核配置说明 (国嵌)                Code maturity level options                  代码成熟度选项 Prompt ...
  • qq_27522735
  • qq_27522735
  • 2016年11月17日 22:31
  • 3509

Linux内核配置

随着 Linux 操作系统的广泛应用,特别是 Linux 在嵌入式领域的发展,越来越多的人开始投身到 Linux 内核级的开发中。面对日益庞大的 Linux 内核源代码,开发者在完成自己的内核代码后,...
  • dba2007
  • dba2007
  • 2007年01月13日 22:42
  • 867

嵌入式Linux下Camera编程--V4L2 (V4L2内核驱动配置、USB转串配置)

嵌入式Linux下Camera编程--V4L2  (2011-11-10 16:03:52 作者:Sam (甄峰)  sam_code@hotmail.com ...
  • gujintong1110
  • gujintong1110
  • 2014年03月26日 18:23
  • 2657
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux 内核配置
举报原因:
原因补充:

(最多只允许输入30个字)