|Front | Info | Lists | Newsfeeds | Study Guide | What is BSD?|
By Jeremy C. Reed
(This article was originally published in Tekbug magazine in 2002.)
Over the past few years, open source software has become accepted by most leading-edge IT departments, top hardware manufacturers are supporting open source, and many governments' offices and educational institutions are actively switching over to open source software. It's said that proprietary, closed standards-based computing is coming to its end. For example, it's been widely publicized that IBM invested $1 billion in Linux and open source. And Apple rewrote its operating system -- basing its Mac OS X on freely-available BSD.
BSD, previously known as the Berkeley Software Distributions, means two things: licensed software that can be freely used, modified, and shared; and a family of operating systems based on rewritten Unix. BSD code is re-used in a variety of other software, like FTP and TCP/IP on Windows systems.
One of main projects focused on enhancing BSD is NetBSD. Known as the most portable operating system, NetBSD is a complete Unix-type operating system that is available over the internet. Based on code developed for over ten years, the NetBSD project started in the early 1990's and, since then, it has been continuously developed.
Just like other popular open source operating systems, NetBSD includes a full suite of Unix shells, command-line tools, network servers, X11, manual pages, firewalls, software RAID, and various other standard software. The base operating system -- before adding third-party software -- only takes up around 500 megabytes of disk space. It includes popular software like XFree86, Kerberos, Sendmail and Postfix mail servers, IPsec, OpenSSH, OpenSSL, the GNU Compiler Collection, BIND (DNS), NTP, IP Filter, Vi, Groff, and various BSD and GNU tools.
Because NetBSD follows standard Posix and Unix specifications, almost all Unix and Linux software can be easily built and used under NetBSD. Also, a package collection is provided for easily installing third-party software, such as KDE and KOffice, GNOME, Apache HTTPD, Perl, Python, MySQL, OpenOffice.org, StarOffice, Mozilla, Netscape, Samba, and around 3,000 other software packages.
In addition to these ready-to-use packages which can be installed from CD or over the internet, a package source collection (aka pkgsrc) is available for easily building this third-party software from source on your own systems. The pkgsrc collection contains various categories, such as audio, databases, fonts, games, and security, containing instructions on where to download the original source code, patches (if necessary), and details on how to configure, build and install the software. In addition, it can automatically retrieve, build, and install any needed prerequisites.
With a commitment to open standards, the source code, building tools, and documentation for NetBSD are also easily available. The complete operating system, including the NetBSD kernel, can be compiled from one source tree. This source code is organized so GNU or similar less-free licensed software can be easily excluded.
NetBSD is available for around 60 different system architectures, ranging from Acorn, Algorithmics and Alpha to Sun, VAX and x86-64 hardware. NetBSD can resurrect hardware from the 1970's, while taking advantage of new handhelds and today's leading edge computers. Because of the portability and design of the source code, NetBSD cas be quickly ported to new hardware platforms.
NetBSD also includes standard USB support (including hot swapping), Plug-and-Play BIOS support, and hardware support for a variety of SCSI and RAID controllers, sound cards, TV and radio cards, IrDA (for cordless infrared connections), network cards, multiport serial cards and other devices.
The NetBSD build tools allow cross-compiling; for example, you can use a standard i386 system to build NetBSD binaries for Amiga hardware.
In addition, the NetBSD build tools provide capabilities to build NetBSD on a non-NetBSD host environment. For example, you could build the NetBSD operating system under another Unix or even Windows.
Just like the other BSDs, the NetBSD operating system is known for its amazing stability. Many well-used NetBSD systems have been reported to run for years without any reboots.
Because of its great range of hardware support, excellent (free) licensing, proven stability, and organized source building environment, NetBSD is popular and ideal for embedded systems. In fact, NetBSD is used on PC/104 platforms to help measure microgravity for NASA on the International Space Station.
NetBSD has binary compatibility support for various other operating systems for certain applicable hardware architectures, such as Linux, AT&T System V.4 UNIX, SunOS 4.1, FreeBSD, HP/UX, IRIX, and Digital UNIX (although some has limited ability). To use binary compatibility, system libraries -- often commercial -- may also be needed. For example, with the SuSE libraries, you can run Netscape, Opera, and Star Office for Linux under NetBSD (and this can all be easily installed via the packages collection).
Getting started with NetBSD is quite easy. The base system can be installed via CD in about 20 minutes. (ISO images are available on the internet or CDs can be cheaply purchased). It can be also installed over the internet -- you need to download two floppy images and place them on to floppy disks first.
Basically, after booting with the disk(s), the installer confirms that you want to overwrite your harddisk, partitions it, builds new filesystems (formats the disk), and allows you to choose what base sets to install (like for X server or compilers). It also allows you to do a few minor configurations like network card setup and setting the root (administrator) password.
Then the main system setup is done via the command-line or by using a text editor (like with the included vi). It is quite easy to configure the network interfaces or choose which network services or features to start at boot-time by editing the /etc/rc.conf configuration file. For example, to run the BIND DNS server at boot-time, you can just have "named=YES" at the end of your /etc/rc.conf file. Or to configure some of your network devices by using DHCP, you can set "dhclient=YES".
You can quickly install additional software from the packages (or applications) CD by using the pkg_add command. For example, (after mounting the appropriate CD and going into the packages directory) you can run "pkg_add gimp" to install the GIMP and its various prerequisites, like the GNOME and GTK+ libraries.
To learn more about the NetBSD operating system and project, visit http://www.netbsd.org/.
DiscussionDiscuss this article below.
BSD Links· Advocacy
· User Groups