Notes on FreeBSD Overview and Installation

1.    FreeBSD is an advanced BSD UNIX operating system for "PC-compatible" computers. FreeBSD has advanced networking features, great performance, security, and compatability with some other unix-like OS. For more information refer to www.freebsd.org , actually this is a quote from there.

2.    FreeBSD runs many of the popular free server software packages such as apache web server, sendmail, radius, named and bind, samba, and has built-in NFS, NIS/YP servers and clients. There are ports of apache web server by itself, or with SSL for security, microsoft frontpage support for end-user ease of use, and PHP3 for database support. Sendmail can be configured to work with procmail for advanced mail processing, or with smtpfeed for fast mail delivery to large number of recipients.  Radius server software is part of the ports collection for freebsd and is in use by many ISPs.  DNS services are provided with named/bind which is shipped in default distribution.   Samba also works great for file sharing in Microsoft Networking, as well as NFS and NIS/YP are great when working with other unix peers.  For more information see http://www.freebsd.org/applications.html and  http://www.freebsd.org/ports/

3.    Installation of FreeBSD is usually easy.  It can be installed from FTP and NFS servers, DOS partition, CD, floppy disks, and some other exotic methods. Installation consists from several steps. For detailed instructions see http://www.freebsd.org/handbook/install.html but here are couple quick steps for installation from a dos partition:

    a. using your favorite ftp program open ftp.freebsd.org/pub/FreeBSD/3.2-RELEASE

    b. Into the root directory of your dos partition download bin, des, manpages, src, ports directories as a minimum, XF86333 if you want X-windows.  also get the following files

        fdimage.exe from tools

        kern.flp and mfsroot.flp from floppies

    c. get two 1.44Mb floppies to be used as installation boot disks, and put floppy images on them by running these commands from the dos prompt.

        fdimage -v kern.flp a:

        fdimage -v mfsroot.flp a:

    d. reboot the computer using kern.flp and then insert mfsroot.flp when prompted.

    e. enter the configuration menu in full screen visual mode, and remove the devices that are not present in your computer. You can also set interrupts and io addresses that your hardware uses at this time.

    f. once you boot into the system installation menu pick 2 for the Novice installation path.

    g. use fdisk like interface to delete (D) partitions, create (C) freebsd partitions
and set bootable (S) a newly created partition. If you can use entire hard drive,
just press (A) to use entire disk.

    i. install boot manager if you want to boot to multiple OS's, or the standard boot
record will always boot FreeBSD.

    j. when using disklabel, just press (A) to use the default values. If this is a
special purpose server, you may want to modify the default layout of filesystems.
For example for the mail server, you want to have /var/spool/mqueue and /var/mail
as separate file systems, to ease backup, and to prevent overfilling of other
(especially /) filesystems.

    k. when picking distributions, X-Kern-Developer is the most
popular since it has enough source code to recompile kernel for optimal performance
and includes X-Windows.

    l. if you are US resident you may want to use DES cryptography for passwords so that
you can share the password file with other non-freebsd unixes.

    m. ports collection is a valuable source of preconfigured makefiles for a huge
number of ported software. Installation is as easy as typing "make install" in the
right directory.

    n. after picking the X-Windows components you want to install (basic is essential)
return to previous menu by picking the last option from the menu.

    o. the installation will ask you for the source of the FreeBSD files, if you pick FTP
or NFS, you will be given choice to configure your ethernet interfaces/or modem ppp
If your ethernet wasn't detected on when the kernel booted, you will need to restart
the setup and modify kernel configuration during the boot process to recognize the card.
When using cd or ms-dos partition as the source of the files, no networking questions will be
asked.

    p. you will be given last option to change your mind, before installation program will
begin formatting the disks and copying FreeBSD on them.

    r. after the first reboot installation is compelete, and in most cases you will want to recompile the kernel to support all of the hardware in your machine, optimize for pentium and above processors, and remove unnecessary hardware drivers to reduce the size of the kernel. For instructions on how to do this, see http://www.freebsd.org/handbook/kernelconfig-building.html and http://www.freebsd.org/handbook/kernelconfig-config.html . Click here to see the config file for my laptop.

Well, after all this make sure you explore ports collection in /usr/ports (internet connectivity is usually necessary to get any of the ports down to the machine).

4.     There are simularities between FreeBSD and Linux:

    a. both are open source

    b. high performance

    c. good built-in tcp/ip

    d. majority of open source software such as apache, mysql, perl, etc is supported

    d. both are actively involved in projects such as "wine" and "coda"

        There are also differences between FreeBSD and Linux:

    a. completely different origins. FreeBSD is a descendant of UCB's BSD Unix.

    b. about 50 people participate in FreeBSD project coordination, when Linus is pretty much doing this alone for Linux kernel.

    c. just one distribution of FreeBSD (actually more than one, but the distributions are the same), just different number of packages/ports shipped with the distribution. Linux has several distributions with different look and feel.

    d. FreeBSD is more picky about the hardware. Not everything is supported, just the most popular hardware, when there is a driver for almost anything for Linux.

    e. FreeBSD can run BSDI's binaries natively, and Linx binaries with linux emulation loaded (execpt for some software with dependencies on OS specific stuff like special devices in /dev ).