《NetBSD指南-31.4.2.生成依赖包并手动重新编译》
发表于 : 2010-03-08 3:34
生成依赖包并编译内核通过下面的命令实现:
有可能出现错误导致编译中断; 这可能因为很多原因,但是最常见的原因是 config(8)未能发现配置文件中的某个错误. 有时编译失败是因为硬件问题 (常常是因为有缺陷的RAM芯片): 编译过程对系统的消耗不同于一般的应用程序. 另一个典型的错误原因是: 激活选项B时, 要求禁用选项A。全部的编译过程可能持续数分钟到几个小时不等, 要看你的硬件。
make目录成功后会在编译目录下生成一个准备用于安装的 netbsd 文件。
代码: 全选
$ cd ../compile/MYKERNEL
$ make depend
$ make
make目录成功后会在编译目录下生成一个准备用于安装的 netbsd 文件。
交叉编译的注意事项
对交叉编译一个sparc64内核来说, 应该使用交叉编译器工具链中的 nbmake-sparc64 shell wrapper, 它会让 make(1) 应用所有交叉编译sparc64平台的所需设定:
这个过程需要折腾一会儿, 然后会析出一个内核:代码: 全选
% cd ../compile/MYKERNEL/ % /usr/src/tooldir.NetBSD-4.0-i386/bin/nbmake-sparc64 depend % /usr/src/tooldir.NetBSD-4.0-i386/bin/nbmake-sparc64
现在你可以将这个名为 netbsd 的内存传送到一台UltraSPARC 机器(通过NFS, FTP, scp等)的硬盘上并启动, 也可以直接使用NFS在交叉编译的机器上启动。代码: 全选
... text data bss dec hex filename 5016899 163728 628752 5809379 58a4e3 netbsd % ls -l netbsd -rwxr-xr-x 1 feyrer 666 5874663 Dec 2 23:17 netbsd % file netbsd netbsd: ELF 64-bit MSB executable, SPARC V9, version 1 (SYSV), statically linked, not stripped