linux实验四内核裁减和编译实验报告

时间:2025-04-07

linux实验四内核裁减和编译.doclinux实验四内核裁减和编译.doclinux实验四内核裁减和编译.doclinux实验四内核裁减和编译.doclinux实验四内核裁减和编译.doclinux实验四内核裁减和编译.doclinux实验四内核裁减和编译.doc

实验四 内核裁减和编译

一、实验目的

1.了解和掌握内核源代码的目录结构;

2.了解内核系统配置方式,了解Makefile和config.in脚本文件的作用;

3.了解内核各项内容;

4.熟悉make命令的使用。

二、实验环境

预装redhat9.0(内核版本2.4.x)的PC机一台,XScale嵌入式实验箱一台(已构建嵌入式linux系统),以太网线一根,交叉编译工具链。

三、实验步骤

察看和了解Linux内核的目录及内容;

察看和了解Linux内核的Makefile文件及作用;

察看和了解Linux内核的config.in文件及作用;

④使用menuconfig或xconfig察看内核编译选项及作用;

⑤开关某些编译选项,自己裁剪一个Linux内核;

A. [root @localhost ~]# cd XSBASE/xsbase/Kernel/2.4.18-rmk-pxal-XSBASE

[root @localhost 2.4.18-rmk-pxal-XSBASE]# make menuconfig

B. 设置开发板上的鼠标不能操作。

进入Input Core device,然后敲空格键,取消屏幕上的鼠标操作。

退出时并保存。

C. [root @localhost 2.4.18-rmk-pxal-XSBASE]# make dep

[root @localhost 2.4.18-rmk-pxal-XSBASE]# make zImage

[root @localhost 2.4.18-rmk-pxal-XSBASE]# cd arch/arm/boot/

[root @localhost 2.4.18-rmk-pxal-XSBASE]# cp zImage /tftp

D. 启动mini终端。

XSBase255> boot

[root @XSBASE /root]$ tfp 192.168.0.77

ftp>cd /

ftp>get /tftp/zImage

E. 这个时候在重启板子一下,板子就不能执行触摸屏上的鼠标操作了。

四、思考题

1.嵌入式操作系统内核为什么是可裁剪的?

答:一方面简化已有操作系统的功能与结构,以满足嵌入式系统对体积的要求;

另一方面是开发它的实时性能。对标准的操作系统裁剪就是将功能齐全的源代码,派生出适合于具体软硬件平台、功能减少(针对某种应用)、体系结构更紧凑、规模更精简的代码过程。具体需要裁剪的功能对象主要是:引导及初始化程序、操作系统的内核、设备驱动程序等。

2.内核裁剪的常用命令?

答:make mrproper

linux实验四内核裁减和编译.doclinux实验四内核裁减和编译.doclinux实验四内核裁减和编译.doclinux实验四内核裁减和编译.doclinux实验四内核裁减和编译.doclinux实验四内核裁减和编译.doclinux实验四内核裁减和编译.doc

该命令确保源代码目录下没有不正确的.o文件以及文件的互相依赖。由于我们使用刚 下载的完整的源程序包进行编译,所以本步可以省略。而如果你多次使用了这些源程序编译内核,那么最好要先运行一下这个命令。

make meuconfig

基于文本选单的配置界面,字符终端下推荐使用 需要ncurses库的支持。当然还有make xconfig (基于图形窗口模式的配置界面,Xwindow下推荐使用)make config 基于文本的最为传统的配置界面,会用的你超级郁闷了,不推荐使用。

make dep

实际上读取配置过程生成的配置文件,来创建对应于配置的依赖关系树,从而决定哪些需要编译而那些不需要。

make clean

完成删除前面步骤留下的文件,以避免出现一些错误。

make distclean

更近一步删除配置文件

make bzImage/zImage

make zImage和make bzImage则实现完全编译内核,二者生成的内核都是使用gzip压缩的,只要使用一个就够了,它们的区别在于使用make bzImage可以生成大一点的内核。建议大家使用make bzImage命令。make all 编译所有了,包括kernel 以及 modules了。

make modules

make modules_install

make modules和make modules_install

分别生成相应的模块和把模块拷贝到需要的目录中。严格说来,depmod -a命令和编译过程并没有关系,它是生成模块间的依赖关系,这样你启动新内核之后,使用modprobe命令加载模块时就能正确地定位模块。

make install 安装编译好的内核,他会在/boot 下安装vmlinuz 以及System.map文件。当然你也可以自己手动的方式进行cp了。

3.编译内核和模块加载的区别?

答:一样的设备,编译进内核要快些。而编译成模块,则可以只在使用时加载,常用的驱动尽量编译进内核,而对于一些偶尔使用的设备驱动,编译成模块就可以了。

…… 此处隐藏:234字,全部文档内容请下载后查看。喜欢就下载吧 ……
linux实验四内核裁减和编译实验报告.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219