Turn FreeBSD into a Multimedia Workstation
Pages: 1, 2, 3
Once the build is finished, I'll remount that floppy and copy over the remaining files:
mount -t msdos /dev/fd0 /floppy
cp /floppy/cvs-supfile ~
cp /floppy/make.conf /etc/
cd /usr/local/etc
mkdir cvsup
cd cvsup
mkdir sup
cd sup
cp /floppy/refuse .
umount /floppy
If you've never done a CVSup before, you'll want to read the CVSup section
of the handbook first.
I was both intimidated and intrigued when I was first introduced to the
whole CVSup concept. Now, I couldn't live without it, and the knowledge
that my operating system is completely up-to-date in security and
functionality and that all of my installed applications are the latest and
greatest. The handbook will show you how to customize the files needed to
use CVSup; mine look like this:
more /root/cvs-supfile
*default host=cvsup.ca.freebsd.org
*default base=/usr/local/etc/cvsup
*default prefix=/usr
*default tag=RELENG_4_6_2_RELEASE
*default release=cvs delete use-rel-suffix compress
src-all
ports-all tag=.
doc-all tag=.
more /usr/local/etc/cvsup/sup/refuse
doc/es*
doc/fr*
doc/ja*
doc/ru*
doc/zh*
ports/biology
ports/chinese
ports/french
ports/german
ports/hebrew
ports/japanese
ports/korean
ports/russian
ports/ukranian
ports/vietnamese
more /etc/make.conf
# $FreeBSD: src/etc/defaults/make.conf,v 1.97.2.67
# 2002/06/02 16:07:01 matusita Exp $
#
CFLAGS= -O -pipe
#
# To avoid building various parts of the base system:
NO_BIND= true # do not build BIND
NO_FORTRAN= true # do not build g77 and related libraries
NO_I4B= true # do not build isdn4bsd package
NO_LPR= true # do not build lpr and related programs
NOPROFILE= true # Avoid compiling profiled libraries
NOUUCP= true # do not build uucp related programs
DOC_LANG= en_US.ISO8859-1
Once you have created your own customized files, invoke CVSup like so:
cvsup -g -L 2 ~/cvs-supfile
The CVSup utility will do its thing, and the results will be displayed to
your screen. The first time you run this program, you will download a lot
of changes to src; this means you'll also be rebuilding your world. (What
did you do on Saturday? Oh, nothing much, just rebuilt the world ... ) You
don't have to rebuild the world everytime you CVSup, just when there are
changes to src. Once your system is up-to-date, src rarely changes;
usually this only occurs when there is a security-related patch. The handbook
gives instructions on how to cron your CVSup; I prefer to do mine by hand, so I
can watch the output to see if src has changed.
The CVSup utility will also download all of the new ports changes. Ports change
on a daily basis, so I like to CVSup every day or so to keep my ports collection
up-to-date. I then use the portupgrade utility found in the sysutils section
of the ports collection to keep my already installed ports up-to-date.
Michael Lucas wrote an excellent article on the portupgrade utility, which should get you started.
Since I'm on a new system, I'll rebuild the world once CVSup is finished.
Again, if you've never built a world, a careful read of that section of the handbook is in order.
Since this a fresh install, I don't have any data to back up. If I ever
need to rebuild the world on a working system, I'll definitely take a few
minutes and back up /etc and my home directory:
cd /etc
tar czvf /dev/fd0 .
tar czvf etc.tar .
I take extra care with /etc and back it up to both a floppy and a file. I
then email myself that file, just in case things go terribly wrong. I tend
to be less diligent with my home directory, as I usually don't have any data
that I would shed tears over if it was lost. Except for my bookmarks; I
always email myself a copy of my bookmarks. If you're attached to your
data, back up your home directory.
The first time you build world, follow the handbook's instructions
carefully and be prepared for it to take a while. Also, use the generic
kernel; wait until you have a new world before you customize your kernel.
On a fresh install, I go straight into single user mode, which means I
can't do anything else on that computer for a few hours. On a working
system, I tend to cheat a little and not go into single user mode until it's
time to actually install the world.
shutdown now
cd /usr/src (enters single user mode)
make -j4 buildworld (this is the step that takes the longest;
it took about 2 hours on a freshly installed
P3 with 320 MB of RAM)
make buildkernel
make installkernel
make installworld
shutdown -r now
Once my system reboots, I have a totally up-to-date operating system,
which means I can start installing my favorite applications. I'll start
with the latest release of XFree86, as many of the multimedia
applications use it. I've found the easiest way to install is to
download the sources directly and use the built-in install script. Since I
haven't installed any applications yet, I'll download these files the
old-fashioned way. But first, I'll create a directory to hold the files
and cd into that directory before starting the ftp:
mkdir /usr/XFree86-4
cd /usr/XFree86-4
ftp ftp.xfree86.org
Connected to ftp.xfree86.org.
220 ftp.xfree86.org FTP server (Version wu-2.6.1(1) Wed Dec 5 13:09:53 EST
2001) ready.
Name (ftp.xfree86.org:genisis): anonymous
331 Guest login ok, send your complete e-mail address as password.
Password: dlavigne6@cogeco.ca
ftp> cd pub
ftp> cd XFree86
ftp> cd 4.3.0
ftp> cd binaries
ftp> cd FreeBSD-4.x
ftp> get Xinstall.sh
ftp> get extract
ftp> get Xbin.tgz
ftp> get Xlib.tgz
ftp> get Xman.tgz
ftp> get Xdoc.tgz
ftp> get Xfnts.tgz
ftp> get Xfenc.tgz
ftp> get Xetc.tgz
ftp> get Xvar.tgz
ftp> get Xxserv.tgz
ftp> get Xmod.tgz
ftp> bye
Now, it's a simple matter of invoking the script:
sh Xinstall.sh
and answering the questions as they appear. (Pressing enter for the
default answer works, if you're unsure of the correct answer.)