- 12
- 0
- 约4.43千字
- 约 6页
- 2017-05-12 发布于河南
- 举报
linux实验三
实验三 分步构建交叉编译链
实验目的
1、理解交叉编译的原理,了解交叉编译工具链
2、掌握分步构建交叉编译工具链的方法
实验内容
实验在理解交叉编译原理和交叉编译工具链的基础上,分步构建交叉编译工具链,主要步骤如下:
准备工作:下载好所需要的软件包,准备好内核头文件、组织好目录。
编译Binutils:这个软件包的编译相对简单,一般容易实现。
编译辅助gcc编译器:对gcc进行简单配置后,编译gcc,使其不依赖glibc,只对C语言支持,为后面glibc的编译做准备。
编译glibc库:首先对解压的内核头文件进行配置。在上一步的编译过程中,已经生成arm-linux-gcc工具,利用该工具编译glibc库。
重新编译完整的gcc:完整的gcc的编译需要glibc库的支持,在第一步的时候glibc还未被编译,所以只能简单配置,生成辅助的gcc,而在这一步,glibc库已经编译,可以使用,实现对gcc的完整编译。
编译gdb调试器:调试器与前面的那些软件是相互独立的,因此最后编译。
实验过程
(1)准备工作:根据课本上编译工具链所需资源列表,下载所需的软件包并解压,放置在一特定文件夹中,通过设置实现虚拟机与物理机的文件共享。本实验中的共享文件夹为“Linux”。所需软件包如下:
(2)详细过程
1、建立工作目录
当前的用户为root,在用户目录下首先建立一个工作目录(armlinux),建立工作目录的命令行操作如下:
# cd /root
# mkdir armlinux
在armlinux下建立3个目录 build-tools、kernel 和 tools。具体操作如下:
# cd armlinux
# mkdir build-tools kernel tools
其中build-tools 用来存放下载的binutils、gcc、glibc等源代码和用来编译这些源代码的目录;kernel 用来存放内核源代码;tools 用来存放编译好的交叉编译工具和库文件。
2、建立环境变量
建立环境变量主要是用来将其定义为经常使用的路径,来代替直接路径,避免重复输入冗长的命令,简化输入过程,降低输错路径的概率。
具体命令如下:
3、编译、安装Binutils
首先解压binutils-2.16.1tar.bz2包,命令如下:
# cd $PRJROOT/build-tools
# tar –xjvf binutils-2.16.1.tar.bz2
接着配置Binutils工具,具体操作如下:
# cd $PRJROOT/build-tools
# mkdir build-binutils
# cd build-binutils
# ../ binutils-2.16.1/configure --target=$TARGET --prefix=$PREFIX
其中选项–target的意思是制定生成的是 arm-linux 的工具,--prefix 是指出可执行文件安装的位置。执行上述操作会出现很多check信息,最后产生 Makefile 文件。
接下来执行make和安装操作,命令如下:
# make
# make install
安装完成后查看/home/mike/armlinux/tools/bin目录下的文件,如果查看结果如下,表明此时Binutils工具已经安装结束。
4、获得内核头文件
(1)在kernel目录下解压linux-2.6.15.tar.gz内核包,执行命令如下:
# cd $PRJROOT/kernel
# tar –xvzf linux-2.6.15.tar.gz
(2)接下来配置编译内核使其生成正确的头文件,执行命令如下:
# cd linux-2.6.15
# make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig
在出现的界面中选择三星的S3C2410(System Type-ARM System Type-/Samsung S3C2410)配置完退出并保存,检查一下内核目录中的include/linux/version.h和include/linux/autoconf.h文件是不是生成了,这是编译glibc时要用到的,如果version.h 和 autoconf.h 文件存在,说明生成了正确的头文件。界面如下:
复制头文件到交叉编译工具链的目录,首先需要在/home/mike/armlinux/tools/arm-linux目录下建立工具的头文件目录inlcude,然后复制内核头文件到此目录下,具体操作如下:
# mkdir –p $TARGET_PREFIX/include
# cp –r $PRJROOT/kern
您可能关注的文档
- cad电子教案1.doc
- CAD阶段考试1.doc
- CAD考证练习5、6.doc
- CAD自己设定菜单文件.doc
- CB程序示例.doc
- CC2.doc
- cdr9主要快捷键.doc
- cad2007操作指南.doc
- ch35_ok.doc
- CE6.0安装方法.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 部编版六年级语文下册全册一课一练同步练习题配知识点归纳(含答案).pdf VIP
- 预制空心内夯载体桩技术.pdf VIP
- 2025版《全基础题型》高考数学-基础题(721例题型).docx VIP
- (正式版)DB21∕T 4190-2025 《既有住宅适老化改造建筑设计规程》.pdf VIP
- T_NBSC 001-2026(可口革囊星虫养殖技术规范).pdf
- 餐饮业食品安全管理八项制度.pptx VIP
- 法医学中的法医现场勘查学 .pdf VIP
- 中风的中医诊疗方案.pdf VIP
- 2025年自来水供应专属承包合同样本版.docx VIP
- (2025春新教材)人教版PEP版三年级英语下册全册教案件 .pdf
原创力文档

文档评论(0)