分页: 1 / 1

自制NetBSD稳定版镜像

发表于 : 2011-04-05 9:39
leo
不愿意看解释的,直接按照下面的步骤操作即可:

代码: 全选

# cd /usr
# ftp ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-release-5-0/tar_files/src.tar.gz
# ftp ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-release-5-0/tar_files/xsrc.tar.gz
# tar zxf src.tar.gz
# tar zxf xsrc.tar.gz
# export CVS_RSH="ssh"
# export CVSROOT="[email protected]:/cvsroot"
# cd /usr/src
# cvs update -Pd
# cd /usr/xsrc
# cvs update -Pd
# echo "LDSTATIC=-static" >> /etc/mk.conf
# mkdir /usr/obj
# cd /usr/src
# ./build.sh -m i386 tools
# cd /usr/src/sys/arch/i386/conf
# cp GENERIC JIARUN
# vi JIARUN
# /usr/src/tooldir.NetBSD-5.0.2-i386/bin/nbconfig JIARUN
# cd /usr/src
# ./build.sh -u -m i386 kernel=JIARUN
# ./build.sh -u -m i386 release
# ./build.sh -x -u -m i386 release
# cd /usr/src
#./build.sh iso-image
自制NetBSD发行版
一.安装NetBSD 5.02
此处步骤略去,不清楚的请自行参阅NetBSD指南中文版

二.获取发行版源代码
我们这里考虑到5.1的pkgsrc还没有处理好(时间咋那长?呵呵),所以更新到netnsd 5.02的稳定版。

安装好NetBSD5.02后,将发行版源代码下载到 /usr 目录下

代码: 全选

ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-release-5-0/tar_files/src.tar.gz
ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-release-5-0/tar_files/src.tar.gz.MD5
ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-release-5-0/tar_files/src.tar.gz.SHA1
ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-release-5-0/tar_files/xsrc.tar.gz
ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-release-5-0/tar_files/xsrc.tar.gz.MD5
ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-release-5-0/tar_files/xsrc.tar.gz.SHA1
然后释放源代码

代码: 全选

# cd /usr
# tar zxf src.tar.gz
# tar zxf xsrc.tar.gz
我们先看一下 /usr/src 目录,这里包含所有的基本系统和用户岛的源代码

代码: 全选

# cd /usr/src && ls
BUILDING     bin          dist         games        regress      tests
CVS          build.sh     distrib      gnu          rescue       tools
Makefile     common       doc          include      sbin         usr.bin
Makefile.inc compat       etc          lib          share        usr.sbin
UPDATING     crypto       external     libexec      sys          x11
三. 更新源代码
先设置CVS服务器路径:

代码: 全选

# export CVS_RSH="ssh"
# export CVSROOT="[email protected]:/cvsroot"
然后更新到5.02stable,我们这里因为最终要构建发行版,所以也要更新xsrc

代码: 全选

# cd /usr/src
# cvs update -Pd
# cd /usr/xsrc
# cvs update -Pd
四. 构建编译工具
如果你按照OpenBSD的思路直接config时系统会提示你"config的版本过低。"——这点NetBSD和OpenBSD不同,每次新建系统前可能都需要先重新构建编译工具。(累)
4.1 设置静态编译选项

代码: 全选

# echo "LDSTATIC=-static" >> /etc/mk.conf
4.2 首先先创建 /usr/obj 目录

代码: 全选

# mkdir /usr/obj
4.3 开始构建编译工具链
"工具链"是NetBSD的术语,可以理解为构建发行版所需的工具,它包含了兼容BSD的make(1), C/C++编译器, linker, assembler, config(8)及其它很多工具。

代码: 全选

# cd /usr/src
# ./build.sh -m i386 tools
如果以前构建过编译工具,这里仅需构建所需更新的编译工具,用这个命令

代码: 全选

# ./build.sh -u -m i386 tools
这里的两个i386是指为那个平台构建编译工具,目前JR的会员好像都是PC平台吧?所以这里也没有什么疑议了。
构建完成后系统会有一个提示:

代码: 全选

===> Tools built to /usr/src/tooldir.NetBSD-5.0.2-i386
===> build.sh ended:   Mon Apr  4 08:17:24 CDT 2011
===> Summary of results:
         build.sh command: ./build.sh -m i386 tools
         build.sh started: Mon Apr  4 08:11:38 CDT 2011
         NetBSD version:   5.0.2_PATCH
         MACHINE:          i386
         MACHINE_ARCH:     i386
         Build platform:   NetBSD 5.0.2 i386
         HOST_SH:          /bin/sh
         No /usr/src/tooldir.NetBSD-5.0.2-i386/bin/nbmake, needs building.
         Bootstrapping nbmake
         TOOLDIR path:     /usr/src/tooldir.NetBSD-5.0.2-i386
         DESTDIR path:     /usr/src/destdir.i386
         RELEASEDIR path:  /usr/src/releasedir
         Created /usr/src/tooldir.NetBSD-5.0.2-i386/bin/nbmake
         makewrapper:      /usr/src/tooldir.NetBSD-5.0.2-i386/bin/nbmake-i386
         Updated /usr/src/tooldir.NetBSD-5.0.2-i386/bin/nbmake-i386
         Tools built to /usr/src/tooldir.NetBSD-5.0.2-i386
         build.sh ended:   Mon Apr  4 08:17:24 CDT 2011
===> .
这个提示很详细,给出了构建平台、NetBSD版本、平台类型、工具链目录、DESTDIR目录以及发行版目录等。
编译工具构建完成后我们再看一下它们包括什么工具:

代码: 全选

# ls /usr/src/tooldir.NetBSD-5.0.2-i386/bin
i386--netbsdelf-addr2line    nbcat                        nbmkcsmapper
i386--netbsdelf-ar           nbcksum                      nbmkdep
i386--netbsdelf-as           nbcompile_et                 nbmkesdb
i386--netbsdelf-c++          nbconfig                     nbmklocale
i386--netbsdelf-c++filt      nbcrunchgen                  nbmknod
i386--netbsdelf-cpp          nbctags                      nbmktemp
i386--netbsdelf-dbsym        nbdb                         nbmsgc
i386--netbsdelf-fdisk        nbdisklabel-i386             nbmtree
i386--netbsdelf-g++          nbeqn                        nbnroff
i386--netbsdelf-gcc          nbfile                       nbpax
i386--netbsdelf-gcc-4.1.3    nbgenassym                   nbpaxctl
i386--netbsdelf-gccbug       nbgencat                     nbpic
i386--netbsdelf-gcov         nbgmake                      nbpwd_mkdb
i386--netbsdelf-install      nbgroff                      nbrefer
i386--netbsdelf-ld           nbhexdump                    nbrpcgen
i386--netbsdelf-lint         nbhost-mkdep                 nbsed
i386--netbsdelf-mdsetimage   nbindxbib                    nbsoelim
i386--netbsdelf-nm           nbinstall-info               nbstat
i386--netbsdelf-objcopy      nbinstallboot                nbstrfile
i386--netbsdelf-objdump      nbjoin                       nbsunlabel
i386--netbsdelf-ranlib       nblex                        nbtbl
i386--netbsdelf-readelf      nblorder                     nbtexi2dvi
i386--netbsdelf-size         nbm4                         nbtexi2pdf
i386--netbsdelf-strings      nbmake                       nbtexindex
i386--netbsdelf-strip        nbmake-i386                  nbtsort
nbasn1_compile               nbmakefs                     nbuudecode
nbatf-compile                nbmakeinfo                   nbyacc
nbawk                        nbmakewhatis                 nbzic
nbcap_mkdb                   nbmenuc
#
可能有的朋友对某些工具比较陌生,但起码里面的nbconfig和nbmake是我们构建新内核所需要的。

五. 手动配置新内核
我们这里假设新内核名为JIARUN

代码: 全选

# cd /usr/src/sys/arch/i386/conf
# cp GENERIC JIARUN
# vi JIARUN
# /usr/src/tooldir.NetBSD-5.0.2-i386/bin/nbconfig JIARUN
平台为多CPU或多核CPU的朋友这里注意了,NetBSD平台没有专门的多核内核配置文件。

六. 构建新内核
先抱怨一下,NetBSD指南这里写的有点乱,告诉你一大堆方法(有的还失效了,有的还有错误的地方,lionux兄也不上去反映反映?;)),个人看法:实际上有一个简单有效地基本方法就行了,以后如果玩熟了可能各人也会有自己的方法。
我们这里还是采用build.sh构建:

代码: 全选

# cd /usr/src
# ./build.sh -u -m i386 kernel=JIARUN
还请注意这里的 "-u" 选项,因为我们已经编译过工具链了,所以这里仅更新所需的工具即可。
我这里花费的时间不太长,6分钟左右新内核就OK了。

七. 构建用户岛和创建发行版

代码: 全选

# ./build.sh -u -m i386 release
如果当前用户不是superuser,请自行加上-U选项。如果你没有修改 /usr/src/build.sh 这个文件,默认的输出路径是 DESTDIR=/usr/src/destdir.i386 和 RELEASEDIR=/usr/src/releasedir
这个过程在我的计算机上要1小时30分钟,如果你的配置较低要有耐心。
输出的结果:

代码: 全选

===> Summary of results:
         build.sh command: ./build.sh -u -m i386 release
         build.sh started: Mon Apr  4 09:12:49 CDT 2011
         NetBSD version:   5.0.2_PATCH
         MACHINE:          i386
         MACHINE_ARCH:     i386
         Build platform:   NetBSD 5.0.2 i386
         HOST_SH:          /bin/sh
         TOOLDIR path:     /usr/src/tooldir.NetBSD-5.0.2-i386
         DESTDIR path:     /usr/src/destdir.i386
         RELEASEDIR path:  /usr/src/releasedir
         makewrapper:      /usr/src/tooldir.NetBSD-5.0.2-i386/bin/nbmake-i386
         Updated /usr/src/tooldir.NetBSD-5.0.2-i386/bin/nbmake-i386
         Successful make release
         build.sh ended:   Mon Apr  4 10:45:39 CDT 2011
===> .
这会在 /usr/src/releasedir/ 目录下生成一个 i386的子目录内容如下:

代码: 全选

total 994
-r--r--r--  1 root  wheel  238670 Apr  4 10:43 INSTALL.html
-r--r--r--  1 root  wheel  203018 Apr  4 10:43 INSTALL.more
-r--r--r--  1 root  wheel  311111 Apr  4 10:43 INSTALL.ps
-r--r--r--  1 root  wheel  193932 Apr  4 10:43 INSTALL.txt
drwxr-xr-x  4 root  wheel     512 Apr  4 10:43 binary
drwxr-xr-x  6 root  wheel     512 Apr  4 10:43 installation
-rw-r--r--  1 root  wheel       0 Apr  4 11:00 ling
./binary:
total 4
drwxr-xr-x  2 root  wheel  512 Apr  4 10:45 kernel
drwxr-xr-x  2 root  wheel  512 Apr  4 10:45 sets
./binary/kernel:
total 31956
-rw-r--r--  1 root  wheel      784 Apr  4 10:45 MD5
-rw-r--r--  1 root  wheel     1972 Apr  4 10:45 SHA512
-r--r--r--  1 root  wheel  5073818 Apr  4 10:44 netbsd-GENERIC.gz
-r--r--r--  1 root  wheel   242488 Apr  4 10:44 netbsd-GENERIC.symbols.gz
-r--r--r--  1 root  wheel  3087064 Apr  4 10:44 netbsd-INSTALL_FLOPPY.gz
-r--r--r--  1 root  wheel   145606 Apr  4 10:44 netbsd-INSTALL_FLOPPY.symbols.gz
-r--r--r--  1 root  wheel  2960700 Apr  4 10:44 netbsd-INSTALL_XEN2_DOMU.gz
-r--r--r--  1 root  wheel  2974199 Apr  4 10:44 netbsd-INSTALL_XEN3PAE_DOMU.gz
-r--r--r--  1 root  wheel  2968766 Apr  4 10:44 netbsd-INSTALL_XEN3_DOMU.gz
-rw-r--r--  1 root  wheel  4510694 Apr  4 10:43 netbsd-XEN2_DOM0.gz
-rw-r--r--  1 root  wheel  1937354 Apr  4 10:43 netbsd-XEN2_DOMU.gz
-rw-r--r--  1 root  wheel  1950220 Apr  4 10:43 netbsd-XEN3PAE_DOMU.gz
-rw-r--r--  1 root  wheel  4650785 Apr  4 10:43 netbsd-XEN3_DOM0.gz
-rw-r--r--  1 root  wheel  1944962 Apr  4 10:43 netbsd-XEN3_DOMU.gz
./binary/sets:
total 108726
-rw-r--r--  1 root  wheel       761 Apr  4 10:45 MD5
-rw-r--r--  1 root  wheel      2147 Apr  4 10:45 SHA512
-rw-r--r--  1 root  wheel  26978082 Apr  4 10:44 base.tgz
-rw-r--r--  1 root  wheel  38928517 Apr  4 10:45 comp.tgz
-rw-r--r--  1 root  wheel    367954 Apr  4 10:45 etc.tgz
-rw-r--r--  1 root  wheel   3149915 Apr  4 10:45 games.tgz
-rw-r--r--  1 root  wheel   5073969 Apr  4 10:43 kern-GENERIC.tgz
-rw-r--r--  1 root  wheel   4510806 Apr  4 10:43 kern-XEN2_DOM0.tgz
-rw-r--r--  1 root  wheel   1937462 Apr  4 10:43 kern-XEN2_DOMU.tgz
-rw-r--r--  1 root  wheel   1950422 Apr  4 10:43 kern-XEN3PAE_DOMU.tgz
-rw-r--r--  1 root  wheel   4650934 Apr  4 10:43 kern-XEN3_DOM0.tgz
-rw-r--r--  1 root  wheel   1945102 Apr  4 10:43 kern-XEN3_DOMU.tgz
-rw-r--r--  1 root  wheel  11952187 Apr  4 10:45 man.tgz
-rw-r--r--  1 root  wheel   3406489 Apr  4 10:45 misc.tgz
-rw-r--r--  1 root  wheel   3188995 Apr  4 10:45 tests.tgz
-rw-r--r--  1 root  wheel   2937297 Apr  4 10:45 text.tgz
./installation:
total 8
drwxr-xr-x  2 root  wheel  512 Apr  4 10:44 cdrom
drwxr-xr-x  2 root  wheel  512 Apr  4 10:44 floppy
drwxr-xr-x  2 root  wheel  512 Apr  4 10:44 miniroot
drwxr-xr-x  2 root  wheel  512 Apr  4 10:44 misc
./installation/cdrom:
total 12804
-rw-r--r--  1 root  wheel      104 Apr  4 10:44 MD5
-rw-r--r--  1 root  wheel      302 Apr  4 10:44 SHA512
-r--r--r--  1 root  wheel  6526976 Apr  4 10:44 boot-com.iso
-r--r--r--  1 root  wheel  6526976 Apr  4 10:44 boot.iso
./installation/floppy:
total 9444
-rw-r--r--  1 root  wheel      261 Apr  4 10:44 MD5
-rw-r--r--  1 root  wheel      756 Apr  4 10:44 SHA512
-r--r--r--  1 root  wheel  3686400 Apr  4 10:44 boot-big.fs
-r--r--r--  1 root  wheel  1474560 Apr  4 10:44 boot-com1.fs
-r--r--r--  1 root  wheel  1474560 Apr  4 10:44 boot-com2.fs
-r--r--r--  1 root  wheel  1474560 Apr  4 10:44 boot1.fs
-r--r--r--  1 root  wheel  1474560 Apr  4 10:44 boot2.fs
./installation/miniroot:
total 1028
-rw-r--r--  1 root  wheel       55 Apr  4 10:44 MD5
-rw-r--r--  1 root  wheel      154 Apr  4 10:44 SHA512
-r-xr-xr-x  1 root  wheel  1023446 Apr  4 10:44 miniroot.kmod
./installation/misc:
total 292
-rw-r--r--  1 root  wheel    533 Apr  4 10:44 MD5
-rw-r--r--  1 root  wheel   1523 Apr  4 10:44 SHA512
-r--r--r--  1 root  wheel  45528 Apr  4 10:04 dosboot.com
-r--r--r--  1 root  wheel   7019 Apr  4 10:04 pfdisk.doc
-r--r--r--  1 root  wheel  17542 Apr  4 10:04 pfdisk.exe
-r--r--r--  1 root  wheel  23630 Apr  4 10:04 pfdisktc.zip
-r--r--r--  1 root  wheel  45828 Apr  4 10:05 pxeboot_ia32.bin
-r--r--r--  1 root  wheel  94226 Apr  4 10:04 rawr32.zip
-r--r--r--  1 root  wheel  26707 Apr  4 10:04 rawr32src.zip
-r--r--r--  1 root  wheel   5069 Mar  7  2007 rawrite.c
-r--r--r--  1 root  wheel   2224 Apr  4 10:04 rawrite.doc
-r--r--r--  1 root  wheel  13052 Apr  4 10:04 rawrite.exe
八. 构建X及其发行版

代码: 全选

# ./build.sh -x -u -m i386 release
这个步骤同样也比较费时间,将近一个小时。
输出结果:

代码: 全选

===> build.sh ended:   Mon Apr  4 11:44:50 CDT 2011
===> Summary of results:
         build.sh command: ./build.sh -x -u -m i386 release
         build.sh started: Mon Apr  4 10:49:15 CDT 2011
         NetBSD version:   5.0.2_PATCH
         MACHINE:          i386
         MACHINE_ARCH:     i386
         Build platform:   NetBSD 5.0.2 i386
         HOST_SH:          /bin/sh
         No /usr/src/obj/tooldir.NetBSD-5.0.2-i386/bin/nbmake, needs building.
         Bootstrapping nbmake
         TOOLDIR path:     /usr/src/obj/tooldir.NetBSD-5.0.2-i386
         DESTDIR path:     /usr/src/obj/destdir.i386
         RELEASEDIR path:  /usr/src/obj/releasedir
         Created /usr/src/obj/tooldir.NetBSD-5.0.2-i386/bin/nbmake
         makewrapper:      /usr/src/obj/tooldir.NetBSD-5.0.2-i386/bin/nbmake-i386
         Updated /usr/src/obj/tooldir.NetBSD-5.0.2-i386/bin/nbmake-i386
         Successful make release
         build.sh ended:   Mon Apr  4 11:44:50 CDT 2011
根据输出信息我们可以看出来X发行版的目录与内核和用户到发行版的目录略有不同,这个和OpenBSD似乎有些差别,OpenBSD里这些系统组件时放在同一个目录里的。
我们看一下目录里的文件,结果发现实际上是指向 /usr/obj的一个链接:

代码: 全选

lrwxr-xr-x    1 root  wheel      9 Apr  4 10:49 obj -> /usr/obj/
列一下文件:

代码: 全选

# pwd
/usr/obj/releasedir
# ls -lR
total 2
drwxr-xr-x  4 root  wheel  512 Apr  4 11:43 i386
./i386:
total 994
-r--r--r--  1 root  wheel  238670 Apr  4 10:43 INSTALL.html
-r--r--r--  1 root  wheel  203018 Apr  4 10:43 INSTALL.more
-r--r--r--  1 root  wheel  311111 Apr  4 10:43 INSTALL.ps
-r--r--r--  1 root  wheel  193932 Apr  4 10:43 INSTALL.txt
drwxr-xr-x  4 root  wheel     512 Apr  4 11:42 binary
drwxr-xr-x  6 root  wheel     512 Apr  4 11:42 installation
./i386/binary:
total 4
drwxr-xr-x  2 root  wheel  512 Apr  4 11:44 kernel
drwxr-xr-x  2 root  wheel  512 Apr  4 11:44 sets
./i386/binary/kernel:
total 31956
-rw-r--r--  1 root  wheel      784 Apr  4 11:44 MD5
-rw-r--r--  1 root  wheel     1972 Apr  4 11:44 SHA512
-r--r--r--  1 root  wheel  5073818 Apr  4 11:42 netbsd-GENERIC.gz
-r--r--r--  1 root  wheel   242488 Apr  4 11:42 netbsd-GENERIC.symbols.gz
-r--r--r--  1 root  wheel  3087070 Apr  4 11:42 netbsd-INSTALL_FLOPPY.gz
-r--r--r--  1 root  wheel   145606 Apr  4 11:42 netbsd-INSTALL_FLOPPY.symbols.gz
-r--r--r--  1 root  wheel  2960705 Apr  4 11:43 netbsd-INSTALL_XEN2_DOMU.gz
-r--r--r--  1 root  wheel  2974200 Apr  4 11:43 netbsd-INSTALL_XEN3PAE_DOMU.gz
-r--r--r--  1 root  wheel  2968768 Apr  4 11:43 netbsd-INSTALL_XEN3_DOMU.gz
-rw-r--r--  1 root  wheel  4510694 Apr  4 11:42 netbsd-XEN2_DOM0.gz
-rw-r--r--  1 root  wheel  1937354 Apr  4 11:42 netbsd-XEN2_DOMU.gz
-rw-r--r--  1 root  wheel  1950219 Apr  4 11:42 netbsd-XEN3PAE_DOMU.gz
-rw-r--r--  1 root  wheel  4650785 Apr  4 11:42 netbsd-XEN3_DOM0.gz
-rw-r--r--  1 root  wheel  1944962 Apr  4 11:42 netbsd-XEN3_DOMU.gz
./i386/binary/sets:
total 172698
-rw-r--r--  1 root  wheel      1017 Apr  4 11:44 MD5
-rw-r--r--  1 root  wheel      2898 Apr  4 11:44 SHA512
-rw-r--r--  1 root  wheel  26978735 Apr  4 11:43 base.tgz
-rw-r--r--  1 root  wheel  38928284 Apr  4 11:43 comp.tgz
-rw-r--r--  1 root  wheel    367956 Apr  4 11:43 etc.tgz
-rw-r--r--  1 root  wheel   3149851 Apr  4 11:43 games.tgz
-rw-r--r--  1 root  wheel   5073969 Apr  4 11:42 kern-GENERIC.tgz
-rw-r--r--  1 root  wheel   4510811 Apr  4 11:42 kern-XEN2_DOM0.tgz
-rw-r--r--  1 root  wheel   1937463 Apr  4 11:42 kern-XEN2_DOMU.tgz
-rw-r--r--  1 root  wheel   1950422 Apr  4 11:42 kern-XEN3PAE_DOMU.tgz
-rw-r--r--  1 root  wheel   4650935 Apr  4 11:42 kern-XEN3_DOM0.tgz
-rw-r--r--  1 root  wheel   1945099 Apr  4 11:42 kern-XEN3_DOMU.tgz
-rw-r--r--  1 root  wheel  11951359 Apr  4 11:44 man.tgz
-rw-r--r--  1 root  wheel   3406485 Apr  4 11:44 misc.tgz
-rw-r--r--  1 root  wheel   3189040 Apr  4 11:44 tests.tgz
-rw-r--r--  1 root  wheel   2937274 Apr  4 11:44 text.tgz
-rw-r--r--  1 root  wheel   6715913 Apr  4 11:44 xbase.tgz
-rw-r--r--  1 root  wheel  13961304 Apr  4 11:44 xcomp.tgz
-rw-r--r--  1 root  wheel     18774 Apr  4 11:44 xetc.tgz
-rw-r--r--  1 root  wheel  32460458 Apr  4 11:44 xfont.tgz
-rw-r--r--  1 root  wheel  12268285 Apr  4 11:44 xserver.tgz
./i386/installation:
total 8
drwxr-xr-x  2 root  wheel  512 Apr  4 11:43 cdrom
drwxr-xr-x  2 root  wheel  512 Apr  4 11:43 floppy
drwxr-xr-x  2 root  wheel  512 Apr  4 11:43 miniroot
drwxr-xr-x  2 root  wheel  512 Apr  4 11:43 misc
./i386/installation/cdrom:
total 12804
-rw-r--r--  1 root  wheel      104 Apr  4 11:43 MD5
-rw-r--r--  1 root  wheel      302 Apr  4 11:43 SHA512
-r--r--r--  1 root  wheel  6526976 Apr  4 11:43 boot-com.iso
-r--r--r--  1 root  wheel  6526976 Apr  4 11:43 boot.iso
./i386/installation/floppy:
total 9444
-rw-r--r--  1 root  wheel      261 Apr  4 11:43 MD5
-rw-r--r--  1 root  wheel      756 Apr  4 11:43 SHA512
-r--r--r--  1 root  wheel  3686400 Apr  4 11:43 boot-big.fs
-r--r--r--  1 root  wheel  1474560 Apr  4 11:43 boot-com1.fs
-r--r--r--  1 root  wheel  1474560 Apr  4 11:43 boot-com2.fs
-r--r--r--  1 root  wheel  1474560 Apr  4 11:43 boot1.fs
-r--r--r--  1 root  wheel  1474560 Apr  4 11:43 boot2.fs
./i386/installation/miniroot:
total 1028
-rw-r--r--  1 root  wheel       55 Apr  4 11:43 MD5
-rw-r--r--  1 root  wheel      154 Apr  4 11:43 SHA512
-r-xr-xr-x  1 root  wheel  1023450 Apr  4 11:43 miniroot.kmod
./i386/installation/misc:
total 292
-rw-r--r--  1 root  wheel    533 Apr  4 11:43 MD5
-rw-r--r--  1 root  wheel   1523 Apr  4 11:43 SHA512
-r--r--r--  1 root  wheel  45528 Apr  4 10:04 dosboot.com
-r--r--r--  1 root  wheel   7019 Apr  4 10:04 pfdisk.doc
-r--r--r--  1 root  wheel  17542 Apr  4 10:04 pfdisk.exe
-r--r--r--  1 root  wheel  23630 Apr  4 10:04 pfdisktc.zip
-r--r--r--  1 root  wheel  45828 Apr  4 10:05 pxeboot_ia32.bin
-r--r--r--  1 root  wheel  94226 Apr  4 10:04 rawr32.zip
-r--r--r--  1 root  wheel  26707 Apr  4 10:04 rawr32src.zip
-r--r--r--  1 root  wheel   5069 Mar  7  2007 rawrite.c
-r--r--r--  1 root  wheel   2224 Apr  4 10:04 rawrite.doc
-r--r--r--  1 root  wheel  13052 Apr  4 10:04 rawrite.exe
#
也许你会有似曾相识的感觉,呵呵。

九. 制作一个安装或启动的CD
因为我们前面已经编译过了内核、用户岛和X的发行版,所以我们在这里直接生成发行版的镜像,新手看手册别以为再重新编译一次,感觉这里手册写的实在是乱七八糟,一个更新或升级的步骤是操作系统运行时很重要的,还分成几个人来写, 而且谁也写的不全面,这不是挖坑吗?:p
生成镜像文件的命令很简单:

代码: 全选

# cd /usr/src
#./build.sh iso-image
......
===> Summary of results:
         build.sh command: ./build.sh iso-image
         build.sh started: Mon Apr  4 15:00:05 CDT 2011
         NetBSD version:   5.0.2_PATCH
         MACHINE:          i386
         MACHINE_ARCH:     i386
         Build platform:   NetBSD 5.0.2 i386
         HOST_SH:          /bin/sh
         TOOLDIR path:     /usr/src/obj/tooldir.NetBSD-5.0.2-i386
         DESTDIR path:     /usr/src/obj/destdir.i386
         RELEASEDIR path:  /usr/src/obj/releasedir
         makewrapper:      /usr/src/obj/tooldir.NetBSD-5.0.2-i386/bin/nbmake-i386
         Updated /usr/src/obj/tooldir.NetBSD-5.0.2-i386/bin/nbmake-i386
         Successful make iso-image
         build.sh ended:   Mon Apr  4 15:00:15 CDT 2011
尽管NetBSD用户指南上的说的“build.sh的iso-image命令将在RELEASEDIR/MACHINE/installation里构建一个CD-ROM镜像”,但是生成的镜像文件并不在这个目录内而是 /usr/obj/releasedir/iso/i386cd.iso 这个文件,所以我的理解是手册上这句也很容易误导咱这样的新手。

代码: 全选

# pwd
/usr/obj/releasedir/iso
# ls -la
total 234820
drwxr-xr-x  2 root  wheel        512 Apr  4 15:00 .
drwxr-xr-x  4 root  wheel        512 Apr  4 15:00 ..
-r--r--r--  1 root  wheel  240367616 Apr  4 15:00 i386cd.iso
#
十. 刻录ISO镜像文件
此处略去,留给大家自己发挥了,如果不清楚自行参阅NetBSD指南。

回复: 自制NetBSD稳定版镜像

发表于 : 2011-04-05 20:44
leo
昨天还在 http://www.gobsd.org/showpost.php?p=4866&postcount=8 这个帖子里抱怨NetBSD不正规,并不是所有时候都提供内存安装内核 netbsd-INSTALL.gz 这个文件,今天仔细看了一下自己的这个帖子,发现也制作过程也没有生成 netbsd-INSTALL.gz 这个文件,看来是build.sh的设置问题,我再琢磨一下如何生成这个文件,对网络安装来说,如果有这个内存安装内核毕竟方便了很多。;)

回复: 自制NetBSD稳定版镜像

发表于 : 2011-04-05 20:53
leo
网上找到一个方法,需要的朋友请自行消化,http://people.defora.org/~khorben/place/blog/11

把lionux发在聊天灌水的帖子复制过来了

发表于 : 2011-04-25 9:04
lionux
netbsd-INSTALL.gz是一个内核,用内核编译方法生成。

代码: 全选

build.sh -O ../obj -T ../tools kernel=INSTALL

回复: 自制NetBSD稳定版镜像

发表于 : 2011-04-25 9:37
lionux

回复: 自制NetBSD稳定版镜像

发表于 : 2012-03-30 17:18
chrdn
正需要这方面的知识,学习了,多谢。