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

实验六 Linux内核编译实验.doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验六 Linux内核编译 讲师:杨行 【实验目的】 1、掌握Linux内核编译 2、了解Linux内核Makefile 3、了解Linux内核Kbuild系统 【实验原理】 网站可以下载标准内核文件; 本次实验使用的内核源码详见,ARM裸板驱动开发课程所发的arm_linux文件夹; 编译内核 1 内核源码目录分析 2 内核编译主要过程; du -hs linux-.tar.gz tar xzvf linux--mini2440tar.gz -C / find -name * | wc –l tree cp config_mini2440_w35 .config make menuconfig make zImage 3 编译主要过程讲解 将所有目标连接为: LD vmlinux 去除vmlinux生成纯二进制文件 OBJCOPY arch/arm/boot/Image 提示镜像文件编译生成 Image Kernel: arch/arm/boot/Image is ready 汇编编译程序启动头 AS arch/arm/boot/compressed/head.o 压缩源码Image: GZIP arch/arm/boot/compressed/piggy.gz 汇编编译产生压缩程序 AS arch/arm/boot/compressed/piggy.o 链接 LD arch/arm/boot/compressed/vmlinux 纯二进制文件生成: OBJCOPY arch/arm/boot/zImage 最终生成: Kernel: arch/arm/boot/zImage is ready /linux-/arch/arm/boot$ du -hs Image /linux-/arch/arm/boot$ du -hs zImage 4 运行内核 copy zImage 到tftpboot目录中; tftp 下载zImage到0到0址后; 使用bootm 0启动内核; 查看内核是否可以正常启动; 未能启动内核的原因有两种: 第一种:未配置网络文件系统; 第二种:未正确设置u-boot启动参数; 4.1 配置nfs文件系统 1. sudo apt-get install nfs-kernel-server 2. sudo vim /etc/exports + /nfsroot *(rw,sync,no_root_squash) 3. sudo /etc/init.d/portmap restart 4. sudo /etc/init.d/nfs-kernel-server restart 5. showmount –e 切换到/home/spring/arm_linux/mini2440/src目录下: 6 sudo tar xvf nfsroot.tar -C / 4.2 设置u-boot的启动参数 在u-boot命令行模式下: set bootargs root=/dev/nfs rw nfsroot=:/nfsroot ip=30 console=ttySAC0,115200 save 5 编写测试程序hello.c #includestdio.h int main() { printf(hello world!\n); while(1); } 5.1 在PC机上面编译hello.c arm-linux-gcc –c helo.c –o hello.o arm-linux-gcc hello.o –o hello cp hello /nfsroot 5.2 在mini2440平台上后台运行hello,并使用命令杀死hello进程 /sq1415 # ls hello /sq1415 # ./hello /sq1415 # hello world! /sq1415 # /sq1415 # ps -a |grep hello 729 0 0:50 ./hello 731 0 0:00 grep hello /sq1415 # kill -9 729 /sq1415 # jobs [1]+ Killed ./hello /sq1415

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档