嵌入式实验预习报告5内核裁减和编译实验

上传人:我*** 文档编号:136130752 上传时间:2020-06-24 格式:DOC 页数:4 大小:21KB
返回 下载 相关 举报
嵌入式实验预习报告5内核裁减和编译实验_第1页
第1页 / 共4页
嵌入式实验预习报告5内核裁减和编译实验_第2页
第2页 / 共4页
嵌入式实验预习报告5内核裁减和编译实验_第3页
第3页 / 共4页
嵌入式实验预习报告5内核裁减和编译实验_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《嵌入式实验预习报告5内核裁减和编译实验》由会员分享,可在线阅读,更多相关《嵌入式实验预习报告5内核裁减和编译实验(4页珍藏版)》请在金锄头文库上搜索。

1、实验五 内核裁减和编译实验的预习报告一 实验内容和背景实验背景:嵌入式驱动开发,内核开发,都无可避免的要使用Linux,尤其是做系统移植,在编译内核的时候,我们都需要把没用的内核模块给删除掉,以减少内核的文件大小,这也是嵌入式的一个特性。Linux为嵌入操作系统提供了一个极有吸引力的选择,它是个和Unix相似、以核心为基础、全内存保护、多任务、多进程的操作系统。可以支持广泛的计算机硬件,包括X86、Alpha、Sparc、MIPS、PPC、ARM、NEC、MOTOROLA等现有的大部分芯片。Linux的程序源码全部公开,任何人都可以根据自己的需要裁剪内核,以适应自己的系统。文章以将linux移

2、植到ARM920T内核的s3c2410处理器芯片为例,介绍了嵌入式linux内核的裁剪以及移植过程,文中介绍的基本原理与方法技巧也可用于其它芯片。Linux内核的移植可以分为板级移植和片级移植。对于Linux发行版本中已经支持的CPU通常只需要针对板级硬件进行适当的修改即可,这种移植叫做板级移植。而对于Linux发行版本中没有支持的CPU则需要添加相应CPU的内核移植,这种移植叫做片级移植。片级移植相对板级移植来说要复杂许多,需要对linux内核有详尽的了解,不适合于教学。本实验采用的Linux中已经包含S5PV210处理器的移植包。本次实验的目的:1、了解和掌握内核源代码的目录结构;2、了解

3、内核系统配置方式,了解Makefile和config.in脚本文件的作用;3、了解内核各项的内容;4、熟悉make命令的使用实验内容:1、察看和了解Linux内核的目录及内容;2、察看和了解Linux内核的Makefile文件及作用;3、察看和了解Linux内核的config.in文件及作用;4、使用menuconfig或Kconfig察看内核编译选项及作用;5、开关某些编译选项,自己裁剪一个Linux内核;cd /opt/cvtech/kernel-s5pv210ls 查看源码目录下的文件make menuconfig :出现配置界面,选择某些进行配置编译,会在顶层源码目录下生成.confi

4、g的配置文件。在顶层makefile中CROSS_COMPILE的位置加入交叉编译工具基本配置已经作好,保存退出执行make zImage命令生成内核,编译完成后 在arch/arm/boot路径下生成zImage, 拷贝它到tftp目录下,并通过tftp下载到扳子上运行6、重新尝试编译生成新的内核,并移植到目标板上;二 实验涉及的知识点知识点1:内核裁剪。Linux内核裁减 (1)安装新内核: i)将新内核copy到/usr/src下, #tar xzvf linux-2.6.38.4.tar.gz -解压缩. ii) 将名为linux的符号链接删掉,这是旧版本内核的符号链接. #ln -s

5、 linux-2.6.38.4 linux -建立linux-2.6.38.4的符号链接linux. (2)设置内核. # cd /usr/src/linux # make mrproper -删除不必要的文件和目录.#make menuconfig 生成一个.config文件 运行: 1)make config:进入命令行,可以一行一行的配置,这不好使用所以我们不具体介绍。 2)make menuconfig:进入我们熟悉的 menuconfig 菜单。 3)make xconfig:在2.4.X 以及以前版本中 xconfig 菜单是基于 TCL/TK 的图形库的。 知识点2:内核编译。内

6、核的编译 在完成内核的裁减之后,内核的编译就是一个非常简单的过程。执行以下几条命令: 1、 make clean 这条命令是在正式编译你的内核之前先把环境给清理干净。有时你也可以用 make realclean或 make mrproper 来彻底清除相关依赖,保证没有不正确的.o 文件存在。 2 、make dep 这条命令是编译相关依赖文件。 3 、make zImage 这条命令就是最终的编译命令。有时你可以直接用 make(2.6.X 版本上用)或 make bzImage(给 PC 机编译大内核时用) 4、 make install 这条命令可以把相关文件拷贝到默认的目录。当然在给嵌

7、入式设备编译时这步可以不要。因为具体的内核安装还需要你手工进行。 详细:1.打开终端2、进入下载到的内核所在的目录,将下载的内核移动到/usr/src/目录下 mv linux-3.12.6.tar.xz /usr/src3、切换到/usr/src/目录下,解压缩内核压缩包。 xz -d linux-3.12.6.tar.xz tar -xvf linux-3.12.6.tar将/usr/include/asm、/usr/inlude/linux、/usr/include/scsi链接到/usr/src/linux/include目录下的对应目录中cd /usr/includerm -rf a

8、sm linux scsiln -s /usr/src/linux-3.12.6/include/asm-generic asmln -s /usr/src/linux-3.12.6/include/linux linuxln -s /usr/src/linux-3.12.6/include/scsi scsi以上红色字体部分不是必做。清理内核源码中的残渣:cd /usr/src/linux-3.12.6make mrproper4、输入cd linux-3.12.6 进入解压后的目录下。内核的配置了:5、切换到root用户下,输入以下命令: tar zxvf ncurses-5.9.tar.

9、gz cd ncurses-5.9 ./configure make make install安装好了ncurses。6、接第四步。在终端输入以下命令: make menuconfig7、配置需要的内容。保存退出。8、配置完成以后,开始编译内核,在终端输入make命令即可。安装内核模块:9、输入命令 make modules_install10、输入命令 make install 此时,内核编译完成。修改启动程序配置,运行新的内核程序。11、将生成的bzImage文件和System.map文件拷贝到/boot/目录下,命令如下: cp /usr/src/linux-3.12.6/arch/x8

10、6/boot/bzImage /boot/ cp /usr/src/linux-3.12.6/System.map /boot/12、在终端输入命令:mkinitramfs 3.12.6 -o /boot/initrd/img-3.12.6建立镜像文件输入命令:update-initramfs -c -k 3.12.6再输入命令:update-grub2更新修改系统引导配置。13、进入引导程序(boot loader)的配置文件,对于不同的引导程序(LILO和GRUB),其配置文件所在路径不同。 对于LILO,路径为:/etc/lilo.conf 对于GRUB,路径为:/boot/grub/grub.cfg 内核编译就算全部完成,可以重启电脑。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号