网站大量收购闲置独家精品文档,联系QQ:2885784924

Linux内核配置编译实验概述.ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux内核配置、编译分析实验 Linux内核配置、编译分析实验 Linux内核的配置系统结构介绍 内核的编译 内核的烧写方法 在内核配置中添加一个编译模块 在内核配置中添加对USB输入设备设备的支持 Linux内核的配置系统由三个部分组成: Makefile:分布在?Linux?内核源代码中的?Makefile,定义?Linux?内核的编译规则? 配置文件(config.in, Kconfig):给用户提供配置选择的功能 配置工具: 包括配置命令解释器(对配置脚本中使用的配置命令进行解释) 配置用户界面: 基于字符的界面 make?config 基于?Ncurses?的文本模式图形用户界面make?menuconfig 基于?Xwindows?图形界面的用户配置界面make?xconfig (1)基于字符界面的 make?config (2)基于?Ncurses?图形界面的 make?menuconfig (3)基于?Xwindows?图形界面的make?xconfig Linux内核配置系统的结构 Makefile: 顶层?Makefile?读取?.config 中的配置选项 CROSS_COMPILE ?= /usr/local/arm-linux/bin/arm-linux- 指定编译内核所使用的编译器 include?arch/(ARCH)/Makefile,包含了特定?CPU?体系结构下的?Makefile,指定了平台相关的信息。 各个子目录下的 Makefile:比如 drivers/Makefile,负责所在子目录下源代码的编译管理。 .config:内核配置文件,包含由用户选择的配置选项,用来存放内核配置后的结果,利用宏表示选中与否(如 make menuconfig) Config.in:各级子目录下的内核配置选项文件,被配置脚本调用 Rules.make:规则文件,被所有的 Makefile 使用 kernel-2410s\arch\arm\def-configs (利用缺省的配置基础上进行修改) Linux内核的编译 Linux内核的编译 vmlinuz与vmlinux vmlinuz是可引导的、压缩的、可执行的内核。 老的zImage解压缩内核到低端内存(第一个640K),bzImage解压缩内核到高端内存(1M以上)。如果内核比较小,那么可以采用zImage或bzImage之一,两种方式引导的系统运行时是相同的。大的内核采用bzImage,不能采用zImage。 vmlinux是未压缩的内核,vmlinuz是vmlinux的压缩文件 内核映象的烧写 两种烧写方式: 1、使用vivi中提供的xmodem协议下载 load flash kernel x 2、在开发板的linux系统启动后,使用imagewrite工具: imagewrite /dev/mtd/0 zImage:192k 实验:编译并烧写内核影像 如何在内核配置中添加一个编译模块(1) 1、在内核的驱动目录下编写驱动模块代码 本例中kernel-2410s/drivers/char /demo.o 2、在该级目录下的Config.in中添加对该模块的编译条件变量 如:CONFIG_S3C2410_DEMO 该变量可以设置为三种状态: Y----将该功能模块编译进内核 N ---不将该功能模块编译进内核 M ---将该功能编译成模块的方式,可以在需要时动态插入到内核中的模块 如何在内核配置中添加一个编译模块(2) 3、在Makefile中将编译选项与具体要编译的代码相关联,根据编译选项变量的状态决定编译 # Object file lists. obj-y := obj-m := obj-n := obj-$(CONFIG_S3C2410_DEMO) += demo.o 4、使用make menuconfig对该功能模块进行配置,设置完成后,会生成更新的.config文件 拷贝demo.o,运行测试程序test_demo 实验:以[*]和[M] 方式编译demo驱动,并下载测试 实验验证 观察现象: /dev/input/下面出现mouse 插入一usb鼠标 Cat /dev/input/event0 或hexdump /dev/input/event0 滑动鼠标,会发现数据变化 ? 2005 博创科技 # make menuconfig ----配置编译选项 # make dep ----生成变量依赖关系信息(2.4以前) # make clean ----删除生成的模块和目标文件. # make zImage

文档评论(0)

花仙子 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档