试制OpenBSD稳定版ISO镜像

OpenBSD的安装、升级、更新等日常问题。

版主: chenjun天地乾坤

回复
头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

试制OpenBSD稳定版ISO镜像

帖子 leo » 2010-03-16 8:14

说明:
此外如果你有很多机器需要同时新安装或更新成稳定版不一定非要采用光盘安装的形式,完全可以采用FTP或http的方式。
另外如果仅有一台主机需要更新则可以直接将这些/usr/rel目录里生成的文件拷贝到需要升级的主机根目录下释放就行了。

为什么有快照版的ISO以及为什么OB不发行稳定版的ISO呢?—— 如果它的FTP上有稳定版的ISO镜像文件你还买它的原版CD吗?
以下内容参照了 OpenBSD FAQ——制作自己的发行版
我是先将CVS库保存在了本地的服务器上,这样在更新和重新安装系统时可以减少网络占用且速度更快,如果读者没有在本地建立CVS库,请自行修改下面CVS服务器的地址。

步骤1:
获取CVS源代码(你只需第一次运行更新时这样做,如果已经获取了源代码请直接执行的步骤2)

代码: 全选

# cd /usr
# export CVSROOT=/home/cvs
# cvs -d$CVSROOT checkout -rOPENBSD_4_6 -P src ports xenocara
步骤2:
(有安全补丁发布时执行此步骤) 更新系统和X源代码:

代码: 全选

# cd /usr/src
# cvs -d$CVSROOT up -rOPENBSD_4_6 -Pd 

代码: 全选

# cd/usr/xenocara
# cvs -d$CVSROOT up -rOPENBSD_4_6 -Pd
如果你要加入自行制作的port,请自行参阅FAQ

步骤3:
构建内核

代码: 全选

# cd /usr/src/sys/arch/i386/conf
# config GENERIC
# cd ../compile/GENERIC
# make clean && make depend && make
    [...lots of output...]
# make install
这是需要重新启动应用内核文件

步骤4:
构建用户岛

清空 /usr/obj 目录并且重建符号链接:

代码: 全选

# rm -rf /usr/obj/*
# cd /usr/src
# make obj 
确保所有相关目录已经被建立了。

代码: 全选

# cd /usr/src/etc && env DESTDIR=/ make distrib-dirs
构建用户岛:

代码: 全选

# cd /usr/src
# make build

步骤5:
构建发行版二进制包

现在, 我们定义我们的DESTDIR 和 RELEASEDIR 环境变量:

代码: 全选

# export DESTDIR=/usr/dest
# export RELEASEDIR=/usr/rel
我们现在清空DESTDIR 并创建所需目录:

代码: 全选

# test -d ${DESTDIR} && mv ${DESTDIR} ${DESTDIR}.old && rm -rf ${DESTDIR}.old &

代码: 全选

# mkdir -p ${DESTDIR} ${RELEASEDIR}
RELEASEDIR目录是否清空并不您影响制作发行版, 但是如果发行版内的文件或文件名称发生了变化, 将不会覆盖原来的旧文件, 如此一来您的制作的发行版可能含有没用的文件, 所以您应该在构建发行版以前也将这个目录清空。

我们现在来制作发行版:

代码: 全选

# cd /usr/src/etc
# make release
发行版制作完毕后, 您最好再检查一下, 确保tar压缩文件和DESTDIR目录里的文件匹配, 执行这个命令后屏幕输出的内容应该很少。

代码: 全选

# cd /usr/src/distrib/sets
# sh checkflist
步骤6:
构建 X (Xenocara)
因为我们前面已经获取并更新了X的源码,所以直接构建X:

代码: 全选

# cd /usr/xenocara
# rm -rf /usr/xobj/*
# make bootstrap
# make obj
# make build
构建X的发行版二进制包

代码: 全选

# export DESTDIR=/usr/dest
# export RELEASEDIR=/usr/rel
# test -d ${DESTDIR} && mv ${DESTDIR} ${DESTDIR}- && rm -rf ${DESTDIR}- &
# mkdir -p ${DESTDIR} ${RELEASEDIR}
# make release
上面的步骤全完成后,会在/usr/rel目录下生成4.6稳定版的二进包

代码: 全选

# cd /usr/rel
# ls -la
total 502600
drwxr-xr-x   2 root  wheel       512 Mar 15 01:16 .
drwxr-xr-x  21 root  wheel       512 Mar 15 01:06 ..
-rw-r--r--   1 root  wheel     97368 Mar 14 18:39 INSTALL.i386
-rw-r--r--   1 root  wheel     22356 Mar 14 18:29 INSTALL.linux
-rw-r--r--   1 root  wheel      1632 Mar 14 18:39 SHA256
-rw-r--r--   1 root  wheel  48450940 Mar 14 18:29 base46.tgz
-rwxr-xr-x   1 root  wheel   7237701 Mar 14 18:29 bsd
-rwxr-xr-x   1 root  wheel   7257116 Mar 14 18:29 bsd.mp
-rwxr-xr-x   1 root  wheel   6059199 Mar 14 18:39 bsd.rd
-rw-r--r--   1 root  wheel   6176768 Mar 14 18:39 cd46.iso
-r-xr-xr-x   1 root  wheel     44980 Mar 14 18:29 cdboot
-r-xr-xr-x   1 root  wheel      2048 Mar 14 18:29 cdbr
-rw-r--r--   1 root  wheel   3012608 Mar 14 18:39 cdemu46.iso
-rw-r--r--   1 root  wheel  90686961 Mar 14 18:30 comp46.tgz
-rw-r--r--   1 root  wheel    515971 Mar 14 18:30 etc46.tgz
-rw-r--r--   1 root  wheel   1474560 Mar 14 18:39 floppy46.fs
-rw-r--r--   1 root  wheel   1474560 Mar 14 18:39 floppyB46.fs
-rw-r--r--   1 root  wheel   1474560 Mar 14 18:39 floppyC46.fs
-rw-r--r--   1 root  wheel   2619909 Mar 14 18:30 game46.tgz
-rw-r--r--   1 root  wheel   8240616 Mar 14 18:30 man46.tgz
-rw-r--r--   1 root  wheel   2936114 Mar 14 18:30 misc46.tgz
-r-xr-xr-x   1 root  wheel     53532 Mar 14 18:29 pxeboot
-rw-r--r--   1 root  wheel  10428728 Mar 15 01:15 xbase46.tgz
-rw-r--r--   1 root  wheel     69162 Mar 15 01:15 xetc46.tgz
-rw-r--r--   1 root  wheel  35582050 Mar 15 01:16 xfont46.tgz
-rw-r--r--   1 root  wheel  20262208 Mar 15 01:16 xserv46.tgz
-rw-r--r--   1 root  wheel   2931302 Mar 15 01:16 xshare46.tgz
#
步骤7:
生成ISO镜像文件。

这些文件就可以用来制作你自己的稳定版ISO镜像,用这些文件替换掉原ISO镜像文件中的二进制包,OpenBSD下你可以用cdrtools来制作ISO,FAQ上也提供了一些工具,因为以前没有用过这些工具,加上最近没有时间,我这里采用的方法是在windows下用UltraISO将原来的intsall46.ISO里面的源文件替换掉,希望熟悉这些OpenBSD光盘操作工具的朋友可以提供具体在OpenBSD下制作ISO的方法,替换过程中发现原ISO中的文件名全为大写,但是你不需要在OpenBSD里更改,UltraISO会替你做了,此外原光盘镜像内的一些文件在/usr/rel目录内并没有提供,为了保险起见,我还是保留了,而且我没有将/usr/rel/目录里原光盘内没有文件拷贝到光盘里,例如,pxeboot,INSTALL.linux,但是估计放进去问题也不大,有兴趣的朋友可以自行试试。

镜像保存后,你可以直接刻录光盘,如果在虚拟机中运行OpenBSD也可以直接挂载这个镜像文件。

步骤8:
用生成的ISO镜像(或刻录的光盘)安装一个新系统,这里略去安装步骤,不熟悉的朋友请参阅我翻译的FAQ
我仅提供一个安装后的截图,大家可以注意一下图中的版本号:
附件
test46s-2010-03-15-19-09-30.png

wosl2001
钾 K
帖子: 13
注册时间: 2011-01-09 17:16

帖子 wosl2001 » 2011-01-09 17:37

写的不错 我感觉应该先把apache的并发连接改了之后在做stable
尘羽星翔!

回复

在线用户

正浏览此版面之用户: 没有注册用户 和 1 访客