分页: 1 / 1

《NetBSD指南-30.使用build.sh交叉编译NetBSD》

发表于 : 2010-03-08 3:10
leo
目录

30.1. 构建交叉编译器
30.2. 手动配置内核
30.3. 手动交叉编译内核
30.4. 用build.sh交叉编译内核
30.5. 交叉编译用户岛
30.6. 交叉编译X Window系统
30.7. 改变build操作
30.7.1. 改变目标目录
30.7.2. 静态编译
30.7.3. 使用build.sh选项
30.7.4. 编译过程中使用make(1)变量
当我们的目标是提供一个被植入平台的产品时, 并非所有的开发工具全可以运行在该平台上。 目前常采用一些交叉编译的方式。NetBSD 1.6和更早的版本用自带的framework来构建该平台的操作系统内核和所有的用户岛, 或采用交叉编译的方式为不同平台构建系统内核和用户岛。 交叉编译需要 assembler, linker, compiler 等. 要完成对目标平台的编译工作. 新的编译方案将负责为特定平台创建这些工具,并且是它们可用于开发工作。

在本章, 我们将告诉你如何使用 build.sh 先创建一个交叉编译工具链, 包括 cross-compiler, cross-assembler, cross-linker 等等。 因为本地编译内核已经在 Chapter 31, 编译内核 中描述了, 这些工具将用于另一个不同平台的手动配置和交叉编译, 接着教你如何用 build.sh 作为一种方便的替代. 然后将编译整个NetBSD用户岛, 并包装为NetBSD发行版的格式。本例中我们将 Sun UltraSPARC ("sparc64") 64-bit 作为目标平台, 同样可以通过指定名称将任何NetBSD支持的其它平台作为目标平台(参 /usr/src/sys/arch).

开始前, 说明一下,本例中使用的"netbsd-4-0"分支源代码已经保存在 /usr/src ,过程详 Chapter 29, 获取源代码.

更多关于build.sh framework的详细解释在Luke Mewburn和Matthew Green的 paper 和 他们的BSDCon 2003 presentation 上,也可以在 /usr/src/BUILDING 里找到。