|
Á¦ ¸ñ : ³ª¸¸ÀÇ FreeBSD ISO À̹ÌÁö ¸¸µé±â
ÀÛ¼ºÀÚ : ÁÁÀºÁøÈ£(truefeel, http://coffeenix.net/ )
ÀÛ¼ºÀÏ : 2012.7.11(¼ö)
¼öÁ¤ÀÏ : 2013.1.28(¿ù) FreeBSD 9 ȯ°æ Ãß°¡
FreeBSD 9¿¡¼´Â generate-release.sh ½ºÅ©¸³Æ®ÀÇ µîÀåÀ¸·Î FreeBSD 8¹öÀü°ú´Â ISOÆÄÀÏ ¸¸µå´Â ¹æ¹ýÀÌ ´Ù¸£´Ù.
FreeBSD 9´Â ´ÙÀ½ µÎ°¡Áö ¹æ¹ý Áß¿¡ Çϳª¸¦ ¼±ÅÃÇÑ´Ù.
1. FreeBSD 9¿¡¼ make release·Î CD À̹ÌÁö ¸¸µé±â
1) buildworld¿Í buildkernel Çϱâ
|
root@fb91:/root # cd /usr/src
root@fb91:/usr/src # make buildworld buildkernel
| |
buildÇϱâ Àü¿¡ /usr/src/ ¾Æ·¡¿¡ ÆÐÄ¡ÇÒ ¼Ò½º¸¦ ³Ö¾îµÎ¸é, ÆÐÄ¡°¡ Àû¿ëµÈ ³ª¸¸ÀÇ ISO ¹öÀüÀ» ¾òÀ» ¼ö ÀÖ´Ù.
¡Ø ¼¹ö¿¡ ÀÖ´Â ¼Ò½º°¡ ¾Æ´Ñ »õ·Ó°Ô ¹Þ¾Æ¿Í¼ release À̹ÌÁö¸¦ ¸¸µå·Á¸é buildworld Àü¿¡ ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÑ ÈÄ¿¡ ÁøÇàÇÑ´Ù.
svn co svn://svn.freebsd.org/base/stable/9 /usr/src
2) release »ý¼º
|
root@fb91:/usr/src # cd release
root@fb91:/usr/src/release # make release
root@fb91:/usr/src/release # make install DESTDIR=/data/release91
| |
/data/release91/ µð·ºÅ丮¿¡ ³ª¸¸ÀÇ release ¹öÀüÀÌ »ý¼ºµÇ¾î ÀÖ´Ù.
|
-rw-r--r-- 1 root wheel 149882880 Jan 28 18:58 bootonly.iso
drwxr-xr-x 2 root wheel 512 Jan 28 18:56 ftp
-rw-r--r-- 1 root wheel 700948480 Jan 28 18:58 memstick
-rw-r--r-- 1 root wheel 655753216 Jan 28 18:57 release.iso
| |
2. FreeBSD 9¿¡¼ generate-release.sh ½ºÅ©¸³Æ®·Î CD À̹ÌÁö ¸¸µé±â
release¿ë ½ºÅ©¸³Æ® /usr/src/release/generate-release.sh °¡ ÀÖ´Ù. generate-release.shÀº subversion(SVN)À» »ç¿ëÇϹǷΠ½ºÅ©¸³Æ® ½ÇÇàÀü¿¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. /usr/ports/devel/subversion/ ¿¡¼ make install clean.
1) buildworld ÇÒ ¶§¿Í buildkernelÇÒ ¶§ make ¿É¼Ç¿¡ -j8À» Æ÷ÇÔ½ÃŲ´Ù.
±×¸®°í ports ¿Í doc´Â ºôµå¿¡¼ Á¦¿ÜÇÑ´Ù.
[ g.sh ]
|
#!/bin/sh
export WORLD_FLAGS=-j8
export KERNEL_FLAGS=-j8
export NOPORTS=1
export NODOC=1
cd /usr/src/release
sh -x ./generate-release.sh stable/9 /data/release91 > /data/make_release_result.txt
| |
À§ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇϸé SVNÀ¸·Î svn://svn.freebsd.org/base/stable/9 ¼Ò½º¸¦ /data/release91/ ¾Æ·¡·Î ¹Þ¾Æ¿Â´Ù. ±×¸®°í, build -> release -> install °úÁ¤À» Çѹø¿¡ ó¸®ÇØÁØ´Ù. ISO À̹ÌÁö´Â /data/release91/R/ ¾Æ·¡¿¡ »ý¼ºµÈ´Ù.
2) generate-release.sh ½ÇÇàÁß¿¡ ´ÙÀ½°ú °°Àº ¿¡·¯°¡ ³´Ù¸é.
|
+ make installworld distribution DESTDIR=/data/release91
ERROR: Required auditdistd user is missing, see /usr/src/UPDATING.
*** [installcheck_UGID] Error code 1
Stop in /data/release91/usr/src.
*** [installworld] Error code 1
Stop in /data/release91/usr/src.
| |
auditdistd ID¸¦ »ý¼ºÇÑ ÈÄ generate-release.sh¸¦ ´Ù½Ã ½ÇÇàÇØÁÖ¸é µÈ´Ù.
|
# pw useradd -n auditdistd -u 78 -g audit -c "Auditdistd unprivileged user" -d /var/empty -s /usr/sbin/nologin
| |
3. FreeBSD 8¿¡¼ ISO CD À̹ÌÁö ¸¸µé±â
1) FreeBSD cvs ¹Þ¾Æ¿À±â
/usr/share/examples/cvsup/cvs-supfile ÆÄÀÏÀ» º¹»çÇØ¼ ¼öÁ¤ÇÑ´Ù. cvsup ¼¹ö´Â °³ÀÎÀûÀ¸·Î cvsup.freebsd.org ¶Ç´Â cvsup.jp.freebsd.org »ç¿ëÇϰí ÀÖ´Ù.
|
# cp -p /usr/share/examples/cvsup/cvs-supfile cvs-supfile2
| |
[ cvs-supfile2 ÀϺΠ]
|
*default host=
*default base=/data/db
*default prefix=/data/ncvs
*default release=cvs
*default delete use-rel-suffix
src-all
ports-all
doc-all
cvsroot-all
# ´ÙÀ½ 2°³´Â ÁÖ¼® ó¸®
## www
## projects-all
| |
cvsup -g -L 2 cvs-supfile2 ¸í·ÉÀ¸·Î FreeBSD ¼Ò½º¸¦ ¹Þ¾Æ¿Â´Ù.
2) buildworld
|
# cd /usr/src
# make buildworld
| |
3) make release
|
# cd /usr/src/release
# make release CHROOTDIR=/data/release83 CVSROOT=/data/ncvs RELEASETAG=RELENG_8_3 KERNEL_FLAGS=-j8 WORLD_FLAGS=-j8 NOPORTS=1 NODOC=1 MAKE_ISOS=1
| |
FreeBSD 8.3¼Ò½º·Î ºôµå(8.x ÃÖ½ÅÀ¸·Î ÇÏ·Á¸é RELENG_8) ÇÑ´Ù. ±×¸®°í make kernelÇÒ ¶§ -j8 ¿É¼ÇÀ», make buildworldÇÒ ¶§ -j8 ¿É¼ÇÀ» »ç¿ëÇÑ´Ù. ports¿Í doc´Â ºôµåÇÏÁö ¾ÊÀ¸¸ç CD À̹ÌÁö¸¦ »ý¼ºÇÑ´Ù. MAKE_ISOS= ¿É¼ÇÀÌ ¾øÀ¸¸é CDÀ̹ÌÁö¸¦ »ý¼ºÇÏÁö ¾Ê´Â´Ù. make release°¡ ¿Ï·áµÇ¸é /data/release83/R/ ¾Æ·¡¿¡ ³ª¸¸ÀÇ ¹èÆ÷ÆÇÀÌ »ý¼ºµÇ¾î ÀÖ´Ù.
|
# ls -al R/
total 10
drwxr-xr-x 5 root wheel 512 Jul 11 13:21 .
drwxr-xr-x 18 root wheel 512 Jul 11 12:25 ..
drwxr-xr-x 8 root wheel 1024 Jul 11 13:22 cdrom
drwxr-xr-x 14 root wheel 512 Jul 11 13:21 ftp
drwxr-xr-x 9 root wheel 512 Jul 11 13:21 stage
... »ý·« ...
# ls -al R/cdrom/
total 1530356
drwxr-xr-x 8 root wheel 1024 Jul 11 13:22 .
drwxr-xr-x 5 root wheel 512 Jul 11 13:21 ..
-rw-r--r-- 1 root wheel 58738688 Jul 11 13:21 FreeBSD-8.3-20120711-SNAP-amd64-bootonly.iso
-rw-r--r-- 1 root wheel 427085824 Jul 11 13:21 FreeBSD-8.3-20120711-SNAP-amd64-disc1.iso
-rw-r--r-- 1 root wheel 354304 Jul 11 13:21 FreeBSD-8.3-20120711-SNAP-amd64-disc2.iso
-rw-r--r-- 1 root wheel 354304 Jul 11 13:22 FreeBSD-8.3-20120711-SNAP-amd64-disc3.iso
-rw-r--r-- 1 root wheel 724948992 Jul 11 13:22 FreeBSD-8.3-20120711-SNAP-amd64-dvd1.iso
-rw-r--r-- 1 root wheel 501 Jul 11 13:22 FreeBSD-8.3-20120711-SNAP-amd64-iso.CHECKSUM.MD5
-rw-r--r-- 1 root wheel 711 Jul 11 13:22 FreeBSD-8.3-20120711-SNAP-amd64-iso.CHECKSUM.SHA256
-rw-r--r-- 1 root wheel 356595712 Jul 11 13:22 FreeBSD-8.3-20120711-SNAP-amd64-livefs.iso
drwxr-xr-x 3 root wheel 512 Jul 11 13:21 bootonly
drwxr-xr-x 4 root wheel 512 Jul 11 13:21 disc1
drwxr-xr-x 2 root wheel 512 Jul 11 13:21 disc2
drwxr-xr-x 2 root wheel 512 Jul 11 13:21 docs
drwxr-xr-x 18 root wheel 1024 Jul 11 13:21 dvd1
drwxr-xr-x 17 root wheel 512 Jul 11 13:21 livefs
| |
4. °ü·Ã ÀÚ·á
* ¸ÇÆäÀÌÁö man release
http://www.freebsd.org/cgi/man.cgi?query=release&apropos=0&sektion=0&manpath=FreeBSD+9.1-RELEASE&arch=default&format=html
* FreeBSD Release Engineering : Release Building
http://www.freebsd.org/doc/en/articles/releng/release-build.html
* auditdistd user is missing in make kernel
http://forums.freebsd.org/showthread.php?t=36454
|