- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
配置编译内核
;Linux内核简介
Linux内核源码结构
Linux内核配置、编译
Linux内核配置系统
内核配置选项
;从技术上说 Linux 是一个内核
“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。
通常我们使用的 Linux 系统是一个集 Linux 内核、工具集、各种库、桌面管理器、应用程序等一体的一个发布包 (发行版)?
;主流的 Linux 发行版
Debian GNU/Linux
Red Hat Linux
Fedora Core
Ubuntu Linux
SUSE Linux
Gentoo Linux
Asianux
Slackware Linux
Turbo Linux
CentOS
;Linux 内核的特性
可以移植,支持的硬件平台广泛
有MMU和没有MMU的处理器均支持
32 bit 处理器 (arch/ subdirectories)?:alpha, arm, cris, frv, h8300, i386, m68k, m32r,m68knommu, mips, parisc, ppc, s390, sh, sparc, um, v850
64 处理器:ia64, mips64, ppc64, sh64, sparc64, x86_64
更多的细节看Documentation/arch/ (arch为处理器类型如 ”arm“)
高可扩展性
可剪裁、可扩展,可以运行在大型主机,也可以运行在个人计算机上
;高可靠性、稳定性
稳定性是linux鲜明特点,安装了linux系统的主机,连续运行一年不宕机是很平常的事情
超强的网络功能
真正的多任务,多用户系统
多个用户可以同时登录到系统同时工作
耗费的资源相对较少
模块化设计
模块可以动态加载,卸载,可以减少系统体积,同时可以用来解决冲突问题,模块调试
遵循GPL开源许可协议的,开放系统
编程更加简单,资源丰富
;GPL相关资料
GPL = General Public License
/copyleft/copyleft.html
/licenses/gplfaq.html
;Linux内核子系统
进程管理
内存管理
文件系统
网络协议
设备管理
;源码获取
/
/pub/linux/kernel/v3.x/
$ wget -c /pub/linux/kernel/v3.x/linux-3.14.25.tar.xz
mainline:是主线版本
stable:是稳定版
longterm:是长期支持版;Linux内核源码结构;Linux内核源码结构;Linux内核源码结构;Linux内核源码结构;查看帮助
$ make ARCH=arm help
……
exynos_defconfig - Build for exynos
……
生成默认配置并修改配置
$ make ARCH=arm exynos_defconfig
$ make menuconfig
或
$ cp arch/arm/configs/exynos_defconfig .config
$ make menuconfig;Linux内核配置、编译;Linux内核配置、编译;Linux内核配置、编译;
编译
$ make ARCH=arm uImage -j2
$ make ARCH=arm dtbs
如果不想每次都在命令行中输入ARCH=arm,则可以通过修改顶层的Makefile文件来实现(也可以设置交叉编译工具链前缀)。
将:ARCH ?= $(SUBARCH)
改为:ARCH ?= arm
;make zImage
make uImage
make dtbs
make modules
make modules_install
;编译生成的文件
vmlinux
未压缩的Linux内核
arch/arch/boot/zImage
经zlib压缩后的Linux内核
arch/arch/boot/bzImage
经zlib压缩后的Linux内核,b是指big,压缩比更高
arch/arch/boot/uImage
Uboot格式的内核文件(会用到uboot工具mkimage)
;编译生成的文件
System.map
内核符号地址
modules.order
编译生成的模块名称
/lib/modules/version
缺省模块安装路径
modules.dep
模块依赖文件
arch/arch/boot/dts/*.dtb
编译生成的设备树文件
;其他编译选项
查看帮助
make help
查看完整命令行
make V = 1
删除生成的文件
make clean
文档评论(0)