分页: 1 / 1

《NetBSD指南-30.4.用build.sh交叉编译内核》

发表于 : 2010-03-08 3:14
leo
交叉编译内核除了可采用上一小节描述的手动方式外, 我们告诉大家一个更简单的方法,使用 build.sh。

内核配置文件的准备工作和上面描述的一样:

代码: 全选

$ cd /usr/src/sys/arch/sparc64/conf
$ cp GENERIC MYKERNEL
$ vi MYKERNEL 
接下来完成对 MYKERNEL 的编辑后, 就是使用 build.sh 来构建内核 (需要按照上面描述的内容配置它):

代码: 全选

$ cd /usr/src
$ ./build.sh -u -m sparc64 kernel=MYKERNEL
注意这里指定了update ("-u") 选项, 因为工具已经编译完毕, 没有理由再重新编译所有的工具。 一旦内核构建完成, build.sh 将输出相关的位置信息:

代码: 全选

...
===> Summary of results:
         build.sh command: ./build.sh -u -m sparc64 kernel=MYKERNEL
         build.sh started: Thu Dec  2 23:30:02 CET 2007
         No nonexistent/bin/nbmake, needs building.
         Bootstrapping nbmake
         MACHINE:          sparc64
         MACHINE_ARCH:     sparc64
         TOOLDIR path:     /usr/src/tooldir.NetBSD-4.0-i386
         DESTDIR path:     /usr/src/destdir.sparc64
         RELEASEDIR path:  /usr/src/releasedir
         Created /usr/src/tooldir.NetBSD-4.0-i386/bin/nbmake
         makewrapper:      /usr/src/tooldir.NetBSD-4.0-i386/bin/nbmake-sparc64
         Updated /usr/src/tooldir.NetBSD-4.0-i386/bin/nbmake-sparc64
         Building kernel without building new tools
         Building kernel:  MYKERNEL
         Build directory:  /usr/src/sys/arch/sparc64/compile/obj.sparc64/GENERIC
         Kernels built from MYKERNEL:
          /usr/src/sys/arch/sparc64/compile/obj.sparc64/MYKERNEL/netbsd
         build.sh started: Thu Dec  2 23:30:02 CET 2007
         build.sh ended:   Thu Dec  2 23:38:22 CET 2007
===> . 
这里构建内核的路径很有意思: /usr/src/sys/arch/sparc64/compile/obj.sparc64/MYKERNEL/netbsd, 可以采用如上所述的方法使用它。