mkdir -p /usr/local/etc/cvsup
cp /usr/share/examples/cvsup/cvs-supfile /usr/local/etc/cvsup/ncvs
Edit the file:
* default host=cvsup5.de.freebsd.org
* default base=/usr
* default prefix=/home/storage/ncvs
* default release=cvs
* default delete use-rel-suffix
- If your network link is a T1 or faster, comment out the following line.
* default compress
- Add these
src-all
src-crypto
src-eBones
src-secure
src-sys-crypto
ports-all
doc-all
- www
cvsroot-all
Now checkout the sources:
mkdir /home/storage/ncvs
cvsup -g -L2 ncvs
Now compile your own system:
cd /usr/src
make buildworld
Create now the release files:
cd /usr/src/release
/etc/rc.d/adjkerntz start
adjkerntz -i
make release CHROOTDIR=/home/storage/ownfreebsd BUILDNAME=test \\
CVSROOT=/home/storage/ncvs RELEASETAG=RELENG_6 MAKE_ISOS=1
Build a Custom CD
Delete /usr/src and check it out from your local repository:
cd /usr
rm -R src
mkdir -p /usr/src
cd /usr
cvs -R -d /home/storage/ncvs co -P -r RELENG_6 src
cd /usr/
cp -pR src src.orig
Then apply your changes to /usr/src (kernel config files, patches everything you need). We will use a unattened install procedure to install the own build kernels so we don’t have to modify the sysinstall package. To use our own install script edit:
- /usr/src/usr.sbin/sysinstall/Makefile
and add:
CFLAGS+= -DLOAD_CONFIG_FILE=install.cfg
Now create a install.cfg file in /usr/src/release for an example see here.
Create a directory for own packages that will be included to the CD:
mkdir -p /root/ownpackages/disc1
Now copy all packages to the directory /root/ownpackages/disc1.
Make a diff with:
cd /usr
diff -Nur src.orig src >/root/patch.diff
You can try if the patch works with:
mkdir -p /home/storage/ownfreebsd/usr
cd /home/storage/ownfreebsd/usr && cvs -R -d /home/storage/ncvs co -P -r RELENG_6 src
patch -s -d /home/storage/ownfreebsd/usr/src < /root/patch.diff
cd /usr/src
make buildworld
cd /usr/src/release
make release KERNELS_BASE="I4B I4BSMP GENERIC SMP" \\
CHROOTDIR=/home/storage/ownfreebsd BUILDNAME=FreeBSD-I4B \\
CVSROOT=/home/storage/ncvs RELEASETAG=RELENG_6 MAKE_ISOS=1 \\
CD_PACKAGE_TREE=/root/ownpackages \\
KERNEL_FLAGS=-j4 WORLD_FLAGS=-j4 \\
LOCAL_PATCHES=/root/patch.diff PATCH_FLAGS=-p1 KERNELS="I4B I4BSMP" |tee /root/build.log
make release CHROOTDIR=/home/storage/ownfreebsd BUILDNAME=FreeBSD-I4B \\
CVSROOT=/home/storage/ncvs RELEASETAG=RELENG_6 MAKE_ISOS=1 \\
KERNEL_FLAGS=-j4 WORLD_FLAGS=-j4 \\
LOCAL_PATCHES=/root/patch.diff PATCH_FLAGS=-p1 KERNELS="I4B I4BSMP GENERIC SMP" |tee /root/build.log
For Quick Build
make release -DNOPORTS -DNODOC KERNELS_BASE="I4B I4BSMP GENERIC SMP" \\
CHROOTDIR=/home/storage/ownfreebsd BUILDNAME=FreeBSD-I4B \\
CVSROOT=/home/storage/ncvs RELEASETAG=RELENG_6 MAKE_ISOS=1 \\
KERNEL_FLAGS=-j4 WORLD_FLAGS=-j4 \\
LOCAL_PATCHES=/root/patch.diff PATCH_FLAGS=-p1 KERNELS="I4B I4BSMP" |tee /root/build.log
If you want that the new generated kernel should be installed you have to edit /usr/src/release/Makefile and replace GENERIC with your kernel.
Rebuild changes
cd /usr/src/release
make rerelease -DRELEASENOUPDATE -DNOPORTS -DNODOC KERNELS_BASE="I4B I4BSMP GENERIC SMP" \\
CHROOTDIR=/home/storage/ownfreebsd BUILDNAME=FreeBSD-I4B \\
CVSROOT=/home/storage/ncvs RELEASETAG=RELENG_6 MAKE_ISOS=1 \\
KERNEL_FLAGS=-j4 WORLD_FLAGS=-j4 \\
KERNELS="I4B I4BSMP" |tee /root/build.log
Rebuild only the Kernels
cd /usr/src/release
make release.3 CHROOTDIR=/home/storage/ownfreebsd BUILDNAME=FreeBSD-I4B \\
CVSROOT=/home/storage/ncvs RELEASETAG=RELENG_6 MAKE_ISOS=1 \\
LOCAL_PATCHES=/root/patch.diff PATCH_FLAGS=-p1 KERNELS="I4B I4BSMP" \\
-DNOCLEAN -DNO_CLEAN | tee /root/build.log
Replace install.cfg
We replace now the install.cfg with a new version:
cd /mnt
mkdir img
cd /usr/home/storage/ownfreebsd/R/cdrom/disc1/floppies
Dec 15 | Airvideo | 1 min read |
Dec 15 | Courier IMAP | 1 min read |
Dec 15 | Cups | 1 min read |
Dec 15 | Davical | 1 min read |
Dec 15 | Exim | 1 min read |