LDP/LDP/howto/docbook/Win+BSD+Linux-Install-HOWTO...

790 lines
75 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<book>
<bookinfo>
<title>
Windows+BSD+Linux Installation Guide</title>
<authorgroup>
<author>
<firstname>Subhasish</firstname>
<surname>Ghosh</surname>
<affiliation>
<address><email>subhasish_ghosh([A][T])linuxwaves[DOT]com</email></address>
</affiliation>
</author>
</authorgroup>
<revhistory>
<revision>
<revnumber>1.2</revnumber>
<date>2004-01-5</date>
<revremark>Chapter "Troubleshooting" updated. Information on Linux updated to cover Red Hat Linux 8.0 (Psyche Edition) and FreeBSD to FreeBSD 5.1-RELEASE.</revremark>
</revision>
<revision>
<revnumber>1.1</revnumber>
<date>2004</date>
<revremark>Corrections made and information added. Information on FreeBSD -RELEASE updated to cover 4.8-RELEASE. Chapter "Installing NetBSD 1.6.1" added and a few minor modifications made to the guide.</revremark>
</revision>
<revision>
<revnumber>1.0</revnumber>
<date>2004</date>
<revremark>Initial release, reviewed by Linux Documentation Project (LDP). A few structural changes and minor corrections made; Chapters "Troubleshooting" and "Installing OpenBSD 3.2-RELEASE" added.</revremark>
</revision>
</revhistory>
<abstract>
<para>
Welcome! This document explains how three different operating systems can be installed and configured on the same hard disk of a computer. The reader may choose from: Microsoft Windows 95/98(Second Edition)/Millennium Edition(ME)/NT/2K/XP + FreeBSD 5.1-RELEASE/OpenBSD 3.2-RELEASE/NetBSD 1.6.1 + Linux. Only Intel architecture multi-booting is discussed and GNU GRUB is the boot loader of choice. If you have any questions or comments, feel free to contact me by e-mail at this address: subhasish_ghosh@linuxwaves.com. Thank you!</para>
</abstract>
</bookinfo>
<preface>
<title>Notice</title>
<important>
<para>In the Organization section, readers must choose to execute Chapter 3 or Chapter 4 or Chapter 5.</para>
</important>
</preface>
<chapter>
<title>Introduction</title>
<section>
<title>Purpose of this Guide</title>
<para>
Though many of us prefer using only one operating system on our personal computers for our daily tasks, there may be times when we would like to install two or more operating systems on the same computer. Let us suppose, you are required to use MATLAB 6.0 for your engineering applications; design, program and implement a web site using PHP and the back-end database using MySQL (as a part of an enterprise-application development project) and also learn how to configure a packet-filtering Firewall using IPFW. As it so happens, the MATLAB software runs on Microsoft Windows platform, the MySQL database you want to implement on the Linux operating system and last but not the least, your professor at the university is teaching "how to configure a packet-filtering Firewall using IPFW" using the FreeBSD operating system software. In such situations, you can safely fall back on the "multiple-booting" mechanism and of course refer to this guide from time to time.</para>
<para>
This document represented in the form of a Guide, is intended to help those Windows, Linux and FreeBSD/OpenBSD/NetBSD users who believe in the method of "learning by doing". Multiple-booting systems is not an exact science. You come across a document, you read it, find it interesting, do it yourself, make mistakes and then finally you achieve the desired aim. That is how you are supposed to learn. That is how I learnt. That is how the Unix experts learnt a long time back. By the time a reader finishes reading this guide, he would have a clear understanding of the basic topics required for successfully installing and configuring three different operating systems on the same hard disk of a computer. I have tried my level best to describe each and every topic in a clear and easily understandable simple language.</para>
<para>
Most installation HOWTOs and guides (for Linux, FreeBSD and OpenBSD operating systems) which are available on the Internet are incomplete because they assume too much leaving the reader to do most of the difficult stuff themselves. In this guide, I illustrate every step thereby making the entire process a simple walk through.</para>
</section>
<section>
<title>
What is Multiple-booting?</title>
<para>
The Webster's New World Computer Dictionary (9th edition) by Bryan Pfaffenberger, defines the term "dual-booting" as: 'A computer that enables the user to choose between two operating systems at boot time'. Rightly so. Considering this definition as our boilerplate, we may frame our own definition of a "multiple-booting" or (in short) a multi-boot system i.e., a computer that enables the user to choose between more than 2 operating systems at boot time.</para>
<para>
This document explains how three varying operating systems can be successfully installed and configured on the same hard disk of a computer thus enabling it to become a "multi-boot" system. The operating systems chosen for this illustration include: either Microsoft Windows 95/98 (Second Edition)/Millennium Edition (ME)/NT/2K/XP, FreeBSD 5.1-RELEASE/OpenBSD 3.2-RELEASE/NetBSD 1.6.1 and Red Hat Linux 8.0. I would install a Microsoft Windows operating system first, then either FreeBSD 5.1-RELEASE or OpenBSD 3.2-RELEASE or NetBSD 1.6.1 and finally round-off by installing Red Hat Linux 8.0 (Psyche). GNU GRUB is the boot loader used for booting these three operating systems.</para>
</section>
<section>
<title>
Multi-booting Pros and Cons</title>
<para>
An idea or thought as: "Hey! Dual and multi-booting computer systems only has advantages and absolutely no disadvantages" is wrong. Often an important question which readers do ask is: Where does it make sense to multi-boot a PC? The answer to this question is simple: Multi-booting systems only makes sense where you would like to experiment with a number of configurations (or operating systems in general) than you have computers for and more significantly where no data is at risk.</para>
<para>
Let us consider a situation like this: Peter has a single PC at home which runs Slackware Linux. All his significant documents and downloaded files from the Internet are stored on it. He now decides to learn and practice hacking the FreeBSD Kernel. Thus, he decides to make his PC a dual-boot system. Converting one's only or in other words, the primary PC at home or at work into a dual or multi-booting system is a bad choice. If a primary home PC must be used as a dual or multi-booting system, it will be much safer to add a second hard disk and leave the first relatively untouched. A powerful boot loader like GRUB will allow booting from the other hard disk.</para>
<para>
The Computer Science Department at my university has 15 laboratories for varying purposes that runs hardware ranging from i386s to Sun SPARCs. Where data and security is of absolute concern, computers run only one operating system whether Windows 2000 Professional, Red Hat Linux, Slackware, FreeBSD or Sun Solaris. However, we do have "test labs" of about 10-12 PCs each, where we have dual and multi-booting systems running ASP Linux, Red Hat Linux, Slackware, Windows 2000 Professional, FreeBSD and others. This can be considered as an ideal situation.</para>
</section>
<section>
<title>List of Assumptions</title>
<para>
Though each and every step required has been explained from the very ground-up, yet a few significant assumptions have been taken into consideration while writing this guide, a few of which are as follows:<itemizedlist>
<listitem>
<para>The reader possesses some theoretical and practical experience of partitioning hard disks utilizing Microsoft fdisk, BSD style partition table editor, Linux fdisk and so on.</para>
</listitem>
<listitem>
<para>
Understands hard disk geometries, concept of a primary partition, an extended partition, logical disks within an extended partition; Linux disk naming and partitioning schemes, BSD style disk labeling and partitioning schemes.</para>
</listitem>
<listitem>
<para>
Possesses theoretical and practical experience of compiling and configuring custom Linux and BSD Kernels.</para>
</listitem>
<listitem>
<para>Knowledge of basic Unix commands common to both Linux and FreeBSD/OpenBSD/NetBSD operating systems. For example, mounting filesystems, editing configuration files like the /boot/grub/grub.conf on Linux and other such trivial tasks.</para>
</listitem>
<listitem>
<para>The reader is using an Intel x86 computer system. I would be installing Windows, FreeBSD/OpenBSD/NetBSD and Linux operating systems on IA32 platform.</para>
</listitem>
<listitem>
<para>The reader is using a hard disk whose BIOS supports the Logical Block Addressing (LBA) mode of representing data on the disk. By using LBA mode, the 1024 Cylinder Limit on old hard disks is dealt with.</para>
</listitem>
</itemizedlist></para>
<para>
Do not worry if you do not know some of these yet, simply read on because the most important steps would be explained in detail in the forthcoming sections as when required. Anyway, before proceeding any further, make sure you browse through the Frequently Asked Questions (FAQ) section of the guide.</para>
</section>
<section>
<title>Acknowledgements</title>
<para>
I would like to thank all the following people and projects without the help and active participation of which, this document would never have been possible. Some of them include:<itemizedlist>
<listitem>
<para>Guylhem Aznar (guylhem at metalab dot unc dot edu), Chief coordinator, main contact of \x{201C}TLDP\x{201D} for making this guide possible.</para>
</listitem>
<listitem>
<para>Tabatha Persad (tabatha at merlinmonroe dot com), Linux Documentation Project Review Coordinator, for technical reviews and for answering my million queries.</para>
</listitem>
<listitem>
<para>Michael K. Johnson (johnsonm at redhat dot com), for the excerpt from his "Linux Information Sheet" at the TLDP site, mentioned in Chapter 1 of this guide on Linux.</para>
</listitem>
<listitem>
<para>Microsoft Corporation for using important information on Microsoft tools and technologies mentioned in Chapter 2 of the guide.</para>
</listitem>
<listitem>
<para>To each and every Open-Source community contributor and to all my friends all around the world.</para>
</listitem>
</itemizedlist></para>
<para>Additionally, while writing this guide, I consulted the following printed books, online journals, magazines and official papers:</para>
<para>
1. Modern Operating Systems, by Andrew S. Tanenbaum</para>
<para>
2. Understanding the Linux Kernel, by Daniel P. Bovet, Marco Cesati</para>
<para>
3. Red Hat Linux 8 Bible, by Christopher Negus</para>
<para>
4. Red Hat Linux Official x86 Installation Guides at http://www.redhat.com</para>
<para>
5. Linux Gazette and Linux Focus online magazines at http://www.linuxgazette.com and http://www.linuxfocus.org respectively.</para>
<para>
6. The FreeBSD Handbook at http://www.freebsd.org</para>
<para>
7. The FreeBSD FAQ at http://www.freebsd.org</para>
<para>
8. The OpenBSD FAQ at http://www.openbsd.org</para>
<para>
9. The Official Microsoft Windows Installation Guides and FAQs at http://www.microsoft.com</para>
</section>
<section>
<title>Legalese</title>
<para>
Trademarks are owned by their owners.</para>
<para>
Although the information given in this document is believed to be correct, the author will accept no liability for the content of this document. Use the tips and examples given herein at your own risk.</para>
<para>
Copyright (c) 2003, Subhasish Ghosh</para>
<para>
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is located at www.gnu.org/copyleft/fdl.html, in the section entitled "GNU Free Documentation License".</para>
</section>
<section>
<title>About the Author</title>
<para>
Subhasish "savvy" Ghosh has been working with GNU/Linux and FreeBSD (and more recently OpenBSD, NetBSD, Sun Solaris and other UNIX-variant) operating systems for the past 7 years or so since schooldays. Currently, aged 22, Ghosh is an engineering student at the Moscow Power Engineering Institute (Technical University) at Moscow, Russian Federation; specializing in the field of "Informatics and Computer Science engineering". He is a Microsoft Certified Professional (MCP), MCSD, MCP Certified on NT 4.0; additionally has a host of other GNU/Linux and computer-industry related certifications. His web page can be accessed at http://groups.msn.com/Linuxdump.</para>
</section>
</chapter>
2004-04-19 00:06:07 +00:00
<chapter>
<title>Frequently Asked Questions (FAQ)</title>
<para>
Readers have questions. Thus, this FAQ section has been included for answering some of the most obvious questions from the reader's point of view. All readers are requested to read through this section for finding answers to their personal questions.</para>
<para>
After reading through this FAQ entirely, if the reader feels that
he/she still has a "question" or two to ask, please feel free to drop
a line at subhasish_ghosh@linuxwaves.com.</para>
<qandaset>
<qandaentry>
<question>
<para>What is the aim/purpose of this Guide?</para>
</question>
<answer>
<para>This guide can be used by anyone for installing and configuring 3 operating systems (OSes) on the same hard disk of a computer. First, a Microsoft Windows operating system (according to the choice of the reader) is installed, then FreeBSD 5.1-RELEASE or OpenBSD 3.2-RELEASE or NetBSD 1.6.1 is installed and finally, we round-off the guide by installing Red Hat Linux 8.0. Though I always use this particular order, the reader can install in an order comfortable to him/her.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Why have you used "3" operating systems for this guide?</para>
</question>
<answer>
<para>The current scenario is such that Microsoft Windows operating systems rule the desktops, with GNU/Linux distributions and *BSD releases (FreeBSD/OpenBSD/NetBSD) competing for "total world domination" in the server markets, thus, I thought it would be the absolute best to include all of them in this guide. The first OS is a Microsoft Windows OS, the second one belonging to the *BSD family and the last one a commonly used GNU/Linux distribution (Red Hat). Thus, the number of OSes ended up with "3".</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Did you yourself try out the steps mentioned in this guide? What are the configurations of the computer system on which you tested all the material mentioned in this guide?</para>
</question>
<answer>
<para>
I assure everyone that I tested each and every step mentioned in this guide on my personal computer systems. Later they were tested successfully on other computers with varying configurations as well. My computer has a 266.87 MHz Intel Pentium 2 processor, 64MB Physical DIMM RAM, a single 20.0 GB Maxtor IDE HDD and other usual accessories which runs Microsoft Windows 98 (SE), FreeBSD 5.1-RELEASE and Red Hat Linux 8.0. The other one with pretty much the same configuration runs FreeBSD 4.8-RELEASE, OpenBSD 3.2-RELEASE and Red Hat Linux 8.0. The general rule of the thumb is: "Better the resources, better the performance of the computer".</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>All your installations are "CD-ROM" based installation types. What about "Ethernet", "FTP", "HTTP", "NFS" installation types?</para>
</question>
<answer>
<para>I decided to keep the guide as simple as possible. And since most of us usually use CDs from local CD-ROMs for installing operating systems, I have assumed that the reader undertakes a CD-ROM based installation for installing the covered operating systems. Moreover, this guide is intended for all types of users, ranging from intermediate Linux users to the experienced Unix experts. Since, NFS, HTTP, FTP and other such installation types usually require networks with servers running, which is impossible for an ordinary home-user to access, I have only covered the CD-ROM based installation types. Sorry for the inconvenience caused to the "network" lovers.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
Why would anyone ever need to run 3 operating systems on the same hard disk of a computer? I want to run 3 operating systems on 2 separate hard disks. What is the big deal with this guide anyway?</para>
</question>
<answer>
<para>
For lots of reasons. Fun, for learning new installing and booting methodologies, for gaining inside knowledge of "multi-booting", partitioning schemes, boot loaders and so on, or simply because you just cannot afford 2 separate 40.0 GB hard disk drives for the 3 different operating systems you want to tinker with. As for me, I guess the last reason "suits" the best.</para>
<para>
Lastly, if you do want, you can always install and configure your computer system with 3 varying operating systems installed in 2 separate hard disks.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
Why Red Hat? Why NOT Debian GNU/Linux, Slackware, Caldera, SuSE, TurboLinux and others?</para>
</question>
<answer>
<para>
Since most of my past Linux projects and work in general had been related to the Red Hat Linux distribution; continually installing, configuring and administering Red Hat Linux personal desktops and workstations. Currently, Red Hat Linux is "the" leading Linux solutions provider in the world, with big corporate real-time systems being implemented using the Red Hat operating system software. Moreover, Red Hat documentation and support are easy to find. Thus, Red Hat Linux has been chosen. The other distributions, namely Debian GNU/Linux, Slackware and Mandrake are good, and I will probably add more sections covering other Linux distributions later.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
Why FreeBSD, OpenBSD and NetBSD operating systems? Why not BSD/OS, Darwin, Irix, Sun Solaris, Digital UNIX, HP-UX, IBM-AIX and others?</para>
</question>
<answer>
<para>
I personally have networking and source-code hacking experience on FreeBSD and OpenBSD boxes. And, more recently have access to NetBSD 1.6.1 and Sun Microsystems' SunOS operating system in the Solaris Operating Environment. I do "not" have any experience working with Irix, Ultrix, Minix, HP-UX, IBM-AIX, Darwin and others. Thus, FreeBSD, OpenBSD and NetBSD have been chosen.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
Which Kernel version have you used for GNU/Linux?</para>
</question>
<answer>
<para>
Linux Kernel 2.4.18-14 has been used for the Red Hat Linux distribution (Psyche).</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
I installed 3 operating systems in my computer as you have illustrated in this guide. And then unfortunately, something went wrong somewhere. My computer crashed and I lost all the data. Would you be kind enough to take the responsibility for all this mess?</para>
</question>
<answer>
<para>
Well, first my "deepest" condolences on your data-loss and for all this apparent mess. I would love to take all the responsibility, but as it is, I have enough problems of my own to handle. Thus, I am "not" ready to take the responsibility for anything that goes wrong anywhere. At the least, I can say, that all the steps and methods mentioned in this guide have been tested thoroughly on a number of systems with varying configurations, and no problems have been noted so far.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
You used the GNU GRUB for booting all the 3 operating systems. May I know the reason why? Why not use the popular Linux Loader (LILO) or FreeBSD or NT boot loader for this purpose?</para>
</question>
<answer>
<para>
As known to everyone, boot loaders play a very vital role while configuring multiple-booting systems where you can use any suitable boot loader which is capable of booting multiple operating systems. I chose GRUB in this guide for three specific reasons: 1) GNU GRUB is the "default" boot loader in Red Hat distribution releases currently. 2) As mentioned in the 'Release Notes' of Red Hat Linux 8.0, the use of LILO is deprecated and the package would be removed from one of its future releases. 3) GRUB is a very powerful (x86) PC-compatible boot loader which supports a number of operating systems "directly" and other proprietary ones too via "chain-loading" for booting them. Thus, GRUB is used instead of other boot loaders.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
I have older Red Hat, FreeBSD and OpenBSD distributions and/or releases. Will they work?</para>
</question>
<answer>
<para>
I am sure they would with a few modifications at places. All steps mentioned should behave in a normal manner if you are using Kernel 2.2.x or higher (for Linux). For FreeBSD users, if you are using not earlier than 4.X-RELEASES, there should not be any problems whatsoever. Just take a deep breath, and start doing as given in this guide. If in case, at some place it does "not" work, make sure you are using the right step and commands etc. Most times, it is human error rather than computer-related error which lets big servers and networks down. Always remember this!</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
I would like to have access to good resources on Linux and FreeBSD. Could you suggest a few?</para>
</question>
<answer>
<para>
Yes, definitely I could. There is a lot of very good technical information on all the "open-source" operating systems out there on the Internet. For Linux, make sure you often visit http://www.linuxgazette.com, http://www.linuxfocus.org, http://www.linux.com and a host of others. Besides, "The Linux Documentation Project" (TLDP) provides excellent resources on all topics related to GNU/Linux. As for printed books, these are some of my absolute favorites: Red Hat Linux 8.0 Bible, Understanding the Linux Kernel, Modern Operating Systems, Linux Kernel Programming, The FreeBSD Handbook at http://www.freebsd.org, The Design of the UNIX Operating System, The Design and Implementation of the 4.4BSD Operating System. That would be enough for the time-being!</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
I have a few suggestions, new ideas and exciting comments. Can I send them to you?</para>
</question>
<answer>
<para>
Without asking, please do. Only by hearing from others, I can make this guide a better one in the near future. So, drop a line if you want to.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
I have "installation-specific" questions/queries or something "failed" or "this quite didn't work"? Can I send these reports to you?</para>
</question>
<answer>
<para>
Of course do. But please be patient, cause I am busy with lots of things at my university; tests, exams, assignments, dating my "infinitely patient FreeBSD-compatible rock-stable girlfriend", maintaining this guide, other Linux assignments etc. So, I cannot promise to get back to you immediately. I need some time solving your problems.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
Will you be updating this guide from time to time? Will "my" problems be listed here?</para>
</question>
<answer>
<para>
Yes, I would definitely update this guide from time to time with changes, updates, fixes, additions and so on.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
Does this guide have any newest version on the Internet?</para>
</question>
<answer>
<para>
As of now, no, it does not. This is the only place where it will be updated from time to time.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
(For people living in and around Moscow, Russia) I have a computer system and I would love to install 3 operating systems on them. Would you be kind enough to come to my place and do the installation and configuration?</para>
</question>
<answer>
<para>
If you do live in Moscow, or on the outskirts of Moscow; drop me a line. I would come down to your place and do everything that is required for free. Cannot help others living far.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
(For people of Russia) We love Microsoft Windows, FreeBSD and OpenBSD operating systems. But "why" have you NOT used the common Russian GNU/Linux distributions? I mean "ASP Linux", "Black Cat Linux", "ALT Linux" and others?</para>
</question>
<answer>
<para>
All the above-mentioned GNU/Linux distributions are basically Red Hat-based Linux distributions. They heavily rely on Red Hat for package installation procedures, Kernel hacking, Kernel updates etc. I have used ASP Linux 7.2 myself, and though it does offer a few new and exciting features, but I personally prefer working with Red Hat Linux. I have "no" experience using Black Cat and ALT GNU/Linux distributions.</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
<chapter>
<title>
Organization</title>
<para>
The content of this guide has been split into 7 distinct sections called "Chapters" as illustrated below for ease of searching and reading on behalf of the reader. The reader is expected to choose any one Microsoft Windows operating system from the list mentioned in Chapter 2, thus the other sections regarding Microsoft Windows operating systems could be skipped "without" any risk at all. After the reader has chosen which Microsoft operating system to install, he/she can proceed with the installation, then proceed with the FreeBSD/OpenBSD/NetBSD and Linux installations sequentially.</para>
<para>
Chapter 1: The first Chapter, About the operating systems covers a brief discussion on Windows operating system family (I chose to speak a few words on Microsoft Windows XP Professional), Linux, FreeBSD, OpenBSD and NetBSD operating systems. General information on each operating system, legal stuff etc. is discussed. For more official and exhaustive information, refer to the official web-sites of the products and projects listed there.</para>
<para>
Chapter 2: The second Chapter, Installing Microsoft Windows covers the installation of any one of Microsoft Windows operating system that the reader chooses to install on a new hard disk. The operating system that the reader chooses to install here is the one that would co-exist finally with the FreeBSD/OpenBSD/NetBSD and Red Hat Linux operating systems. Disk partitioning and labeling schemes under Windows is discussed in detail herein.</para>
<para>
Chapter 3: The third Chapter, Installing FreeBSD 5.1-RELEASE covers topics required for installing and configuring FreeBSD 5.1-RELEASE with the already existing Microsoft Windows operating system. If the reader chooses to install OpenBSD 3.2-RELEASE instead of FreeBSD 5.1-RELEASE, he/she may skip this chapter and proceed to the next chapter.</para>
<warning>
<para>WARNING: Since both FreeBSD and OpenBSD operating systems are POSIX compliant BSD-derivatives, both use the same BSD-style hard disk partitioning and labeling schemes, and both have the same set of commands when viewed from the user-level. Thus, partitioning and filesystems naming covered in FreeBSD section will not be repeated in the next chapter. If it so happens that you are a complete OpenBSD newbie or the term "OpenBSD" sounds like a Greek mythology character, it is best for you to go through all the information in this chapter and install and configure FreeBSD. The OpenBSD installation, though simple and neat, is a text-based installation procedure completely and assumes a sound knowledge of hardware, BSD-style hard disk slicing and labeling schemes. Messing up at any one stage, messes up the entire installation and may even render the Microsoft Windows operating system (installed initially) totally inaccessible. Experience has taught me to keep proper backup when doing such installations. Do not send problem reports later. You have been warned!</para>
</warning>
<para>
Chapter 4: The fourth Chapter, Installing OpenBSD 3.2-RELEASE covers topics required for installing and configuring OpenBSD 3.2-RELEASE with the already existing Microsoft Windows operating system. If the reader chooses to install FreeBSD 5.1-RELEASE instead of OpenBSD 3.2-RELEASE, he/she may skip this chapter and take a peek into the earlier chapter. Partitioning and essential booting process details etc. is discussed herein.</para>
<para>
Chapter 5: The fifth Chapter, Installing NetBSD 1.6.1 covers topics needed for installing and configuring NetBSD 1.6.1 with the already existing Microsoft Windows operating system. If the reader chooses to install FreeBSD 5.1-RELEASE or OpenBSD 3.2-RELEASE, he/she may skip this chapter and take a peek into the earlier chapters. Partitioning and essential booting process details etc. is discussed herein. </para>
<para>
Chapter 6: The sixth Chapter, Installing Red Hat Linux 8.0 (Psyche) covers the topics required for installing and configuring Red Hat Linux 8.0 distribution release with the already pre-existing Microsoft Windows operating system and FreeBSD 5.1-RELEASE/OpenBSD 3.2-RELEASE/NetBSD 1.6.1.</para>
<para>
Chapter 7: The seventh and the final Chapter, Mounting Filesystems contains a detailed discussion on topics required for mounting Linux filesystem (ext2fs) on FreeBSD systems and mounting UFS (or FFS) on Linux systems and other minute yet significant details. Readers interested in gathering working knowledge on Linux filesystems must browse through the contents of this Chapter.</para>
</chapter>
<chapter>
<title>About the operating systems</title>
<para>
A general overview of the operating systems that have been covered in
this guide has been provided here. Readers must note that these are my
personal views (and comments) and have nothing to do with the views of
the Linux/FreeBSD/OpenBSD/NetBSD or in general terms, the Open-Source
community.</para>
<section>
<title> Microsoft Windows</title>
<para> Microsoft Corp. has a long (yet fatally weak and buggy) list of operating systems, targets ranging from the mild and feeble home-user to the truly multi-tasking, multi-processing, multi-programming, fault-tolerant, hack-resilient real-time systems; from MS Windows 95 to the most recently launched Microsoft Windows Server 2003. The reader is free to choose any operating system according to his/her own personal taste and/or targeted environment. I personally do "not" consider Microsoft Windows 2000 family of operating systems (Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server and Windows 2000 DataCenter server) a very good choice for "corporate" environments. If the PASSME theme of Software engineering is considered, where PASSME = Performance, Availability, Scalability, Security, Maintainability and Extensibility features of any software under scrutiny; Microsoft Windows 2000 servers (and operating systems, in general) are rated much lower than UNIX SVR4, *BSDs, Sun Solaris, Linux and any of the other commercial variants of UNIX like IBM-AIX, HP-UX, Digital UNIX, Tru64 UNIX, SGI-Irix and so on.</para>
<para>Microsoft Windows XP Professional "Overview", visit http://www.microsoft.com/catalog/display.asp?site=10798&subid=22&pg=1</para>
<para>For "System requirements", visit http://www.microsoft.com/catalog/display.asp?site=10798&subid=22&pg=3</para>
<para>
Visit Microsoft Windows XP Professional homepage at http://www.microsoft.com/windowsxp/pro/default.asp</para>
</section>
<section>
<title>Linux</title>
<para>Linux is the kernel or core of an operating system called
GNU/Linux system, where the GNU Project provides the software
and applications that runs on the Linux kernel. The Linux
kernel, originally written by Linus Benedict Torvalds, is a
UNIX-clone, which is POSIX compliant and was initially targeted
towards the Intel x86 architecture. As rightly mentioned in the
"Linux Information Sheet" by Michael K. Johnson at
http://www.tldp.org, "...Linux is a completely free
reimplementation of the POSIX specification, with SYSV and BSD
extensions (which means it looks like Unix, but does not come
from the same source code base), which is available in both
source code and binary form. Its copyright is owned by Linus
Torvalds ; and other contributors, and is freely redistributable
under the terms of the GNU General Public License (GPL). A copy
of the GPL is included with the Linux source; you can also get a
copy from ftp://prep.ai.mit.edu/pub/gnu/COPYING...". </para>
<para>
Readers must note the fact that though many Linux users worldwide refer to the GNU/Linux operating system simply as "Linux", it is more appropriate to refer to the operating system as a GNU/Linux system and when talking about the kernel in particular just to call it Linux. Moreover, a very popular misconception amongst new Linux users is: "Hey! Linux is UNIX!". No, absolutely "not". Once again, readers must note: The Linux kernel is a UNIX-clone, in other words a reimplementation of the UNIX-Kernel, but it is not UNIX itself. On the other hand, the BSDs, FreeBSD and OpenBSD for example, are not kernels merely. They are more closer to the real UNIX (AT&Ts Official Release UNIX SVR4). They represent an entire operating system with a whole set of applications, tools, user utilities, shells, games, documentation, developer utilities, system and user-level binaries and full source code for the operating systems.</para>
</section>
<section>
<title>*BSD's</title>
<section>
<title>FreeBSD</title>
<para>
FreeBSD which stands for the Free version of Berkeley Software Distribution operating system software (though all the BSDs out there are "open-source" or "free" in nature except BSD/OS) is technically speaking, the most powerful, professional quality and advanced UNIX-compatible operating system software on earth today. FreeBSD is originally based on 4.4BSD-Lite (with a minor inclusion from the 4.4BSD-Lite2 code base too), developed at the University of California, Berkeley, under the authorization of the Computer Systems Research Group (CSRG), Computer Science Division, Department of Electrical Engineering and Computer Science at Berkeley. FreeBSD operating system (just like a Linux distribution) comes with a whole set of packages, including user applications, tools, user utilities, shells, games, documentation, developer utilities, system and user-level binaries and full source code for the operating systems. The FreeBSD Project web-site can be accessed at: http://www.freebsd.org.</para>
<para>
Recently, a lot of media spotlight has put the GNU/Linux system (more specifically the Linux Kernel) in a stardom status. Some rate Linux as the best ever written UNIX-clone that would spell disaster for UNIX and other UNIX-clones and UNIX-compatibles out there in the market. But in reality it is not so. Readers must note: Just as the power of an automobile comes from the quality of the engine running under it's hood, similarly features like stability, reliability, extensibility and robustness of an operating system software comes from the internal structure of the Kernel or the core of that corresponding operating system. I personally feel that both the Linux and the FreeBSD Kernel are great works of creativity and tremendous effort and just a user-level or technical comparison between the two is meaningless. Situations where memory is a scarcity and moreover gets crunched and stressed upon real hard, the Linux Kernel breaks down. FreeBSD with it's highly optimized and advanced VM/Swap system comes to the rescue! On the other hand, under given situations, Linux may outperform FreeBSD by a mile. The significant point for readers to note and remember is that the Linux Kernel favors simplicity over highly optimized and dynamic yet more complex code whereas the FreeBSD Kernel optimizes performance by introducing more complex code and heavily optimizing the code base by rearranging and rewriting some of the more important internal algorithms and data structures from time to time.</para>
<para>
A complete and exhaustive discussion on Linux and FreeBSD Kernels is beyond the scope of this guide. If readers find it interesting, they may search the Internet for more Linux and/or FreeBSD specific information. I would suggest the readers to read "Understanding the Linux Kernel" by Bovet and Cesati for getting more in-depth information on the inner-workings of the Linux Kernel, "The Design and Implementation of the 4.4BSD Operating System" for FreeBSD/OpenBSD and so on, and "The Design of the UNIX Operating System" by M. Bach for UNIX SVR4 internals.</para>
</section>
<section>
<title>
OpenBSD</title>
<para>
The BSD family, other than the dominant big-brother FreeBSD, also consists of OpenBSD, NetBSD, BSD/OS and Darwin operating systems. OpenBSD is a fully functional, multi-platform UNIX-like Operating System based on Berkeley Networking Release 2 (Net/2) and 4.4BSD-Lite. The OpenBSD team strives to achieve what is called "a secure by default" status. This means that an OpenBSD user should feel safe that their newly installed machine will not be compromised. This "secure by default" goal is achieved by taking a proactive stance on security. FreeBSD -RELEASES target stability and reliability under the most adverse of conditions whereas OpenBSD -RELEASES target optimum security in corporate environments. The OpenBSD operating system software has been labeled "the proactively secure Unix-like operating system". The OpenBSD Kernel is heavily optimized with security features thereby providing customers with utmost secure and hack-resilient real-time systems. The OpenBSD Project web-site can be accessed at: http://www.openbsd.org.</para>
<para>
The OpenBSD operating system software has integrated strong cryptography into the base system. A fully functional IPsec (Internet Protocol Security) implementation is provided as well as support for common protocols such as SSL (Secure Sockets Layer) and SSH (Secure Shell). Network filtering and monitoring tools such as packet filtering, NAT (Network Address Translation), and bridging are also included. For high performance demands, support for hardware cryptography has also been added to the base system. OpenBSD provides as many security options as possible to allow the user to enjoy secure computing without feeling burdened by it.</para>
</section>
<section>
<title>
NetBSD</title>
<para> The NetBSD kernel focuses on clean design and well architected solutions. NetBSD supports a massive range of hardware platforms from a single source tree, including simultaneous release across all platforms, and continues to attract users and experienced developers despite lack of media exposure and commercial backing - all thanks to attention to code quality. The NetBSD operating system kernel targets "portability" and tries to run on as many platforms as possible. The NetBSD Project web-site can be accessed at: http://www.netbsd.org</para>
</section>
<section>
<title>Addtional reading for *BSD's</title>
<para>For browsing through the Official FreeBSD Handbook, visit: http://www.freebsd.org</para>
<para>The official sources for FreeBSD are available via anonymous FTP from: ftp://ftp.FreeBSD.org/pub/FreeBSD/</para>
<para>
For a comparative study between FreeBSD, Linux and Microsoft Windows 2000, check out this document at http://people.freebsd.org/~murray/bsd_flier.html</para>
</section>
<section>
<title>Target Audience</title>
<para>
The following table exhibits the main "target" of every operating system covered in this guide:</para>
<para>
Windows: Ask Mr. Gates himself... Difficult to guess!</para>
<para>
Linux Linux targets new, exciting, and cutting-edge features like HyperThreading, USB, Wireless NICs and so on.</para>
<para>
FreeBSD FreeBSD targets stability and robustness; optimizing the kernel code base for optimum performance under heavy network-loads.</para>
<para>
OpenBSD OpenBSD targets optimum security. It is the most proactively-secure UNIX-like OS.</para>
<para>
NetBSD NetBSD targets portability. To run on as many platforms as possible is it's primary target.</para>
</section>
</section>
</chapter>
<chapter>
<title>
Installing Microsoft Windows</title>
<section>
<title></title>
<para>I have used a Microsoft Windows operating system as the "first" operating system on my computer. I have MS Windows 98 (SE) installed on my computer. The reader may choose any one of the Microsoft operating systems mentioned below in the listed form. Suppose, you would like to use Microsoft Windows 98 (SE) as your first operating system too. Then read the information given in Section B: Installing MS Windows 98 (SE) and after doing likewise as mentioned in that section, proceed forward with installing FreeBSD 5.1-RELEASE or OpenBSD 3.2-RELEASE or NetBSD 1.6.1.</para>
<para>
Thus, we have the following sections:</para>
<itemizedlist>
<listitem>
<para>Section A: Installing MS Windows 95</para>
</listitem>
<listitem>
<para>
Section B: Installing MS Windows 98 (SE)</para>
</listitem>
<listitem>
<para>Section C: Installing MS Windows Millennium (ME)</para>
</listitem>
<listitem>
<para>Section D: Installing MS Windows NT (4.0)</para>
</listitem>
<listitem>
<para>Section E: Installing MS Windows 2000 (Professional)</para>
</listitem>
<listitem>
<para>Section F: Installing MS Windows XP (Home/Professional)</para>
</listitem>
</itemizedlist>
<para>One can use the Windows fdisk and format tools for partitioning a new unformatted hard disk. I have assumed that the reader has a new unformatted hard disk which he/she wishes to partition and then format for installing a Microsoft Windows operating system. The material mentioned right below applies to Microsoft Windows 95, Microsoft Windows 98 (SE) and Microsoft Windows Millennium (ME). If you plan to install Windows NT, Windows 2000 or Windows XP, then skip this section and go to the part referring to sections D, E and F.</para>
<section>
<title>Section's A, B, C</title>
<para>Section A: Installing MS Windows 95</para>
<para>
Section B: Installing MS Windows 98 (SE)</para>
<para>
Section C: Installing MS Windows Millennium (ME)</para>
<para>
The material mentioned below applies to Microsoft Windows 95, Microsoft Windows 98 (SE) and Microsoft Windows Millennium (ME). Thus, if you are installing any one of these, make sure you read through all the content mentioned herein which describes the Fdisk and Format tools and explains how to use them to partition or repartition a hard disk. The material describes the following topics:</para>
<itemizedlist>
<listitem>
<para>How to Use the Fdisk and Format Tools</para>
</listitem>
<listitem>
<para>Important Considerations Before You Use the Fdisk and Format Tools</para>
</listitem>
<listitem>
<para>How to Partition and Format a Master Hard Disk</para>
</listitem>
</itemizedlist>
<para>
Before you install your operating system, you must first create a primary partition on the hard disk (disk 1) on your computer, and then format a filesystem on that partition. The Fdisk tool is an MS-DOS-based tool that you can use to prepare (partition) a hard disk. You can use the Fdisk tool to create, change, delete, or display current partitions on the hard disk, and then each allocated space on the hard disk (primary partition, extended partition, or logical drive) is assigned a drive letter. Disk 1 may contain one extended partition, and a second hard disk may contain a primary or extended partition. An extended partition may contain one or more logical MS-DOS drives.</para>
<para>
After you have used the Fdisk tool to partition the hard disk, you can use the Format tool to format those partitions with a filesystem. The filesystem File Allocation Table (FAT) allows the hard disk to accept, store and retrieve data. Windows 95, Windows 98 (SE), Windows Millennium (ME) and Windows 2000 support the FAT16 and FAT32 filesystems. When you run the Fdisk tool on a hard disk that is larger than 512 megabytes (MB), you are prompted to choose one of the following file systems: FAT16 or FAT32. The FAT16 filesystem has a maximum of 2 gigabytes (GB) for each allocated space or drive letter. For example, if you use the FAT16 filesystem and have a 6-GB hard disk, you can have three drive letters (C, D, and E), each with 2 GB of allocated space. As for the FAT32 filesystem, it supports drives that are up to 2 terabytes in size and stores files on smaller sections of the hard disk than the FAT16 filesystem does. This results in more free space on the hard disk. Please note that the FAT32 filesystem does not support drives that are smaller than 512 MB. When you run the "fdisk" and "format" commands, the Master Boot Record (MBR) and file allocation tables are created. The MBR and file allocation tables store the necessary disk geometry that allows hard disk to accept, store, and retrieve data.</para>
<para>
Please note that I have assumed that you own a computer system which can run without glitches and that you have access to a bootable Microsoft Windows CD-ROM. If you do run into problems booting from the CD-ROM or using Start-up disks, please consult your hardware manufacturer to obtain the CD-ROM device driver(s). For partitioning a master hard disk, you have to run the fdisk command. First insert the Startup disk in the floppy disk drive, restart your computer, and then use one of the following methods, depending on your operating system.</para>
<section>
<title>For a Windows 95/98/ME Startup disk</title>
<para>At a command prompt, type fdisk, and then press enter. If your hard disk is larger than 512 MB, you receive the following message: Your computer has a disk larger than 512 MB. This version of Windows includes improved support for large disks, resulting in more efficient use of disk space on large drives, and allowing disks over 2 GB to be formatted as a single drive.</para>
<para>
If you enable large disk support and create any new drives on this disk, you will NOT be able to access the new drive(s) using other operating systems, including some versions of Windows 95 and Windows NT, as well as earlier versions of Windows and MS-DOS. In addition, disk utilities that were not designated explicitly for the FAT32 file system will not be able to work with this disk. If you need to access this disk with other operating systems or older disk utilities, do not enable large drive support.</para>
2004-04-19 00:08:20 +00:00
<screen>Do you wish to enable large disk support?</screen>
<para>
If you want to use the FAT32 file system, press Y and then press enter. If you want to use the FAT16 file system, press N, and then press enter. After you press enter, the following Fdisk Options menu is displayed:</para>
<screen>
1. Create DOS partition or Logical DOS Drive
2. Set active partition
3. Delete partition or Logical DOS Drive
4. Display partition information
5. Change current fixed disk drive
</screen>
<warning>
<para>
Please note that option 5 is available only if you have two physical hard disks in the computer.</para>
</warning>
<para>
Press 1 to select the Create DOS partition or Logical DOS Drive menu option, and then press enter. Press 1 to select the Create Primary DOS Partition menu option, and then press enter. After you press enter, you receive the following message:</para>
<screen>
Do you wish to use the maximum available size for primary DOS partition?</screen>
<para>
After you receive this message, use one of the following methods, depending on the file system that you selected.
</para>
</section>
<section>
<title>For a FAT32 File System</title>
<para>If you press Y for the FAT32 file system (in step 2) and you want all of the space on the hard disk to be assigned to drive C, press Y, and then press enter. Press ESC, and then press ESC to quit the Fdisk tool and return to a command prompt.</para>
</section>
<section>
<title>For a FAT16 File System</title>
<para> If you press N for the FAT16 file system (in step 2), you can accept the default 2 GB size for the partition size, or you can customize the size of the partition.</para>
</section>
</section>
<section>
<title>Customizing partition size</title>
<para>
If you want to customize the size of the partitions (drive letters) on the hard disk, press N, and then press enter. A dialog box is displayed in which you can type the size that you want for the primary partition in MB or percent of disk space. Note that for computers that are running either Windows 98 (SE) or Windows ME, Microsoft recommends that you make the primary partition at least 500 MB in size. Type the size of the partition that you want to create, and then press enter. Press ESC to return to the Options menu. To assign drive letters to the additional space on the hard disk, press 1, and then press enter. Press 2 to select the Create Extended DOS Partition menu option, and then press enter. You receive a dialog box that displays the maximum space that is available for the extended partition. You can adjust the size of the partition or use the default size. Note that the default maximum space is recommended, but you can divide the space between multiple drive letters. Type the amount of space that you want, press enter, and then press ESC. The Create Logical DOS Drive(s) in the Extended DOS Partition menu is displayed. This is the menu that you can use to assign the remaining hard disk space to the additional drive letters. Type the amount of space that you want to assign to the next drive letter in the Enter logical drive size in Mbytes or percent of disk space (%) box, and then press enter. After this, you have to activate the partition from which you plan to boot. This, usually is the drive C. So, press 2 to select the Set active partition menu option, and then enter the number of the partition you want to make active.</para>
</section>
<section>
<title>Format Partition</title>
<para>After you create the partitions, you must format the partitions for accessing and using them. If you are using a Windows 95 Startup disk, a command prompt is displayed and you can skip to step 2. If you are using a Windows 98 Second Edition or a Windows ME Startup disk, select the Start computer without CD-ROM support menu option when the Windows 98 Startup menu is displayed. When a command prompt is displayed, type "format c:", and then press enter This command formats drive C (or your "active" drive). For all other partitions, type format drive: (where drive is the letter of the partition that you want to format).</para>
<warning>
<para>
Readers must note that I speak about "partitioning a hard disk" using Microsoft fdisk utility in general here in this section in order to provide the absolute newbies with general information on how to partition and format a new hard disk drive.</para>
</warning>
</section>
</section>
<section>
<title>Sections D, E F</title>
<para>
Section D: Installing MS Windows NT (4.0)</para>
<para>
Section E: Installing MS Windows 2000 (Professional)</para>
<para>
Section F: Installing MS Windows XP (Home/Professional)</para>
<para>
For installing any one of these 3 above-mentioned operating systems, first use fdisk tool to partition your hard disk. Then comes to choosing the filesystem type.</para>
<para>
During a new installation of Windows NT, 2000 or XP, you may have to choose which file system your computer should use. On my other PC, I personally use Microsoft Windows XP Professional which supports:
</para>
<para>FAT32: An enhanced version of the file allocation table (FAT) system that is standard on all Windows operating systems starting with later (32-bit) versions of Windows 95. The FAT32 system can be used on large hard disks, from 512 megabytes (MB) to 32 gigabytes (GB).</para>
<para>
NTFS: The NT file system (NTFS) is used with the Windows NT, Windows 2000, and Windows XP operating systems. NTFS provides enhanced reliability, stability, and security, and supports large hard disks of up to 2 terabytes (TB).</para>
<para>
But very "important" information: The conversion to NTFS is one-way only; if you convert your FAT or FAT32 file system to NTFS you cannot convert your hard disk back to FAT later.</para>
<para>
If you are not sure which file system to use, I would suggest using FAT32. If you want to change your file system, here are a few recommendations:</para>
<itemizedlist>
<listitem>
<para>Use FAT32 if your hard disk is smaller than 32 GB.</para>
</listitem>
<listitem>
<para>Use FAT32 if you want to install more than one operating system on your computer.</para>
</listitem>
<listitem>
<para>Use NTFS if your hard drive is larger than 32 GB and you are running only one operating system on your computer.</para>
</listitem>
<listitem>
<para>Use NTFS if you want enhanced file security.</para>
</listitem>
<listitem>
<para>Use NTFS if you need better disk compression.</para>
</listitem>
</itemizedlist>
<para>
You can choose any filesystem type that you wish. After choosing the filesystem, proceed with the Windows NT/2000/XP installation normally. After installation, feel free to configure your new system.</para>
</section>
<section>
<title>Summary of the actual steps</title>
<para>
Enough said about the different Microsoft operating systems. Now let us look more closely how exactly we would partition the hard disk. As mentioned above, we use Microsoft fdisk, then create a Primary DOS Partition of about 2000MB or so. On my PC, I have a primary partition of 999MB which contains Microsoft Windows 98 (SE). I have used such a small space cause I hardly do any work on Windows thereby reserving space for FreeBSD and Linux! Readers can choose a bit more space if they feel like doing so. After creating this partition, do not forget to format it using the Format tool. On my system, I have a FAT32 Primary partition.</para>
<para>
After creating this Primary Partition (suppose say, of 999MB), we do not (I repeat: do not) need to create any more partitions using Microsoft fdisk utility. For example, I have a 20.0 GB Maxtor HDD. I create a primary partition of about 1000MB using fdisk. The obvious question from the reader is: What about the rest 19GB? What happens to it? Well the answer is simple. I leave it untouched because I would be dividing this available space into 2 halves for installing FreeBSD or OpenBSD or NetBSD and Linux while using the FreeBSD Partition editor or OpenBSD Partition editor or NetBSD partition editor respectively while installing FreeBSD 5.1-RELEASE or OpenBSD 3.2-RELEASE or NetBSD 1.6.1. So, no need to worry absolutely and just take the ride with me. I promise, by the time you are done reading this guide, not a single MB on your hard disk will be wasted.</para>
<para>
Thus, before we finally move on to the next section where we install
and configure FreeBSD 5.1-RELEASE or OpenBSD 3.2-RELEASE or NetBSD
1.6.1, I would like to round-off this chapter with a "Partition
check". I have the following partition table on my computer after this
step (as observed from Microsoft fdisk):</para>
<screen>
Display Partition Information Partition
Status Type Volume_Label Mbytes System Usage
C:1 A PRI DOS WIN 1000 FAT32 5%
</screen>
<para>
Once this done, reboot your computer and using a bootable Microsoft Windows CD-ROM (depending on your operating system of choice), install the operating system as usual. Do the usual system configuration and log into Windows to check whether everything works fine. That is all for this section, now take a break, have a coffee and proceed to the next chapter, Chapter 3: Installing FreeBSD 5.1-RELEASE.</para>
</section>
</chapter>
<chapter>
<title>
Installing FreeBSD 5.1-RELEASE</title>
<para>This Chapter focuses on installing FreeBSD 5.1-RELEASE and multi-booting the system so that it can coexist successfully with the already existing Windows operating system on the computer. Like the Windows installation, it too focuses on a CD-ROM based installation. Experts may proceed as usual without help, as for the newbies out there, make sure you check out the Frequently Asked Questions for FreeBSD 2.X, 3.X and 4.X at the "The FreeBSD Documentation Project" at http://www.freebsd.org. For a step-by-step FreeBSD Installation procedure with screenshots, please refer to Chapter2 : Installing FreeBSD of the FreeBSD Handbook at http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.html. These and other documentation available on the FreeBSD Project homepage provides exhaustive and extensive coverage of all aspects related to the FreeBSD software. Make sure you grab as much information as you can from this site before proceeding with this guide.</para>
2004-04-19 00:06:07 +00:00
<para>Readers must note that at the time of writing, 2 parallel branches of the FreeBSD operating system exist. The latest -STABLE release is the FreeBSD 4.9-RELEASE while the latest -CURRENT release is the FreeBSD 5.1-RELEASE. In this Chapter, we would discuss some theoretical aspects of installing FreeBSD 5.1-RELEASE, disk partitioning (better known as slicing in FreeBSD terminology) and then move on to the actual installation itself.
</para>
<section>
<title>Slicing in FreeBSD</title>
<para>
Before installing FreeBSD, it would be a good idea to take a brief tour of what FreeBSD calls "slicing". If you already know this stuff, feel free to skip this part and read the section entitled "Summary of Installation Steps".</para>
<para>The FreeBSD operating system partitions (a hard disk) and labels partitions according to a particular chosen scheme which is similar to other BSD-based UNIX systems such as NetBSD, OpenBSD, Ultrix, Digital Unix and SunOS. Let us see how the FreeBSD software "slices" your hard disk and then "creates partitions in it" for use. Each partition-that-contains-a-filesystem is stored in what FreeBSD calls a "slice". Slice is FreeBSD's term for what were earlier called partitions. Slices are numbered, starting at 1, through to 4 (In Windows terminology, they would be called "primary partitions", starting at 1, through to 4). Thus, the reader must note that "a primary partition" in Windows refers to a "slice" in FreeBSD terminology, and "an extended partition containing logical disk drives in it" is simply called as "partitions" in FreeBSD. A logical disk drive within an extended partition may also be called as "a logical slice inside a physical slice" in FreeBSD. It may appear a bit awkward at times, but the sooner the reader gets used to these terms, the better!</para>
<para>
Now, the important part. There exists a few operating systems which can boot even if their corresponding boot files are stored within a logical disk drive of an extended partition. For FreeBSD, this mechanism does "not" work. FreeBSD necessarily needs one of the slices (that is the 4 entries in the partition table on your computer's hard drive, which in Windows terminology would be called as a "primary partition"). It then uses a program called "disklabel" for making upto eight partitions in this slice. Readers must note a very significant fact: You "cannot" install FreeBSD in an extended partition made by Linux (or DOS).</para>
<para>
FreeBSD labels hard disks and partitions as follows:
<itemizedlist>
<listitem>
<para>First IDE hard disk (Primary Master) - /dev/ad0</para>
</listitem>
<listitem>
<para>Second IDE hard disk (Primary Slave) - /dev/ad1</para>
</listitem>
<listitem>
<para>Third IDE hard disk (Secondary Master) - /dev/ad2</para>
</listitem>
<listitem>
<para>Fourth IDE hard disk (Secondary Slave) - /dev/ad3</para>
</listitem>
</itemizedlist>
where, /dev is the directory under the root ("/") directory in FreeBSD which contains all the device special files associated with devices. I assume readers are using a FreeBSD 4.X-RELEASE or later. IDE hard disks are named as wd* before FreeBSD 4.0-RELEASE.</para>
<para>
What about SCSI drives? Well, FreeBSD labels that too!
<itemizedlist>
<listitem>
<para>
First SCSI hard disk (Primary Master) - /dev/da0</para>
</listitem>
<listitem>
<para>Second SCSI hard disk (Primary Slave) - /dev/da1</para>
</listitem>
<listitem>
<para>
Third SCSI hard disk (Secondary Master) - /dev/da2</para>
</listitem>
<listitem>
<para>Fourth SCSI hard disk (Secondary Slave) - /dev/da3</para>
</listitem>
</itemizedlist>
where, /dev is the directory under the root ("/") directory in FreeBSD which contains all the device files associated with devices.</para>
<para>
Now, let us talk about the partitioning scheme under FreeBSD. It is just like in Linux, only the way the partitions are named is different. In FreeBSD, we first consider a particular hard disk, whether IDE or SCSI. Then, we consider the partitions on it. For example, the partitions on an IDE drive are named in the following way (/dev/ad0 is used as an example):<itemizedlist>
<listitem>
<para>First primary partition - /dev/ad0s1</para>
</listitem>
<listitem>
<para>
Second primary partition - /dev/ad0s2</para>
</listitem>
<listitem>
<para>Third primary partition - /dev/ad0s3</para>
</listitem>
<listitem>
<para>Fourth primary partition - /dev/ad0s4</para>
</listitem>
</itemizedlist></para>
<para>
These above mentioned drives may contain partitions as well. FreeBSD labels them too and each label has it's own corresponding mount point too. Let us consider an example. A computer has /dev/ad0 as its hard disk named, contains 2 slices; the first slice is a FAT32 partition and the second a BSD/i386 partition containing 4 logical slices [logical disk drives] in it. So, in this case, how would the partition table look like and mean? Let us see how FreeBSD labels this scheme. FreeBSD would represent this as:
<itemizedlist>
<listitem>
<para>
/dev/ad0</para>
<itemizedlist>
<listitem>
<para>/dev/ad0s1</para>
</listitem>
<listitem>
<para>/dev/ad0s2</para>
<itemizedlist>
<listitem>
<para>/dev/ad0s2a</para>
</listitem>
<listitem>
<para>/dev/ad0s2b</para>
</listitem>
<listitem>
<para>dev/ad0s2e</para>
</listitem>
<listitem>
<para>/dev/ad0s2f</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
where, ad0s2a refers to the "first partition (a) on the second slice (s2) on the first IDE disk (ad0)". In the above example, /dev/ad0s1 is the slice containing FAT32 filesystem and /dev/ad0s2 is the second slice on the hard disk drive under scrutiny. Readers must note that FreeBSD labels slices from /dev/ad0s1 onwards to /dev/ad0s4, with a maximum of 8 possible logical slices named as a, b, c, d, e, f, g and h. In this example, the "logical slices" a, b, e and f have their corresponding mount points in FreeBSD.</para>
<para>
Here, the mount points are as follows:<itemizedlist>
<listitem>
<para>a = / (the root directory)</para>
</listitem>
<listitem>
<para>b = swap filesystem</para>
</listitem>
<listitem>
<para>e = /var</para>
</listitem>
<listitem>
<para>f = /usr</para>
</listitem>
For more exhaustive information, please refer to the "FreeBSD Handbook".</para>
</section>
<section>
<title>Filesystems in FreeBSD</title>
<para>
Microsoft Windows operating systems use FAT16, FAT32, NTFS 4.0 and NTFS 5.0 filesystems for storing and retrieving data. The recently released NTFS 5.0 is implemented in all of the Windows 2000 operating systems. The Linux Kernel uses the "Third Extended native filesystem", denoted as ext3fs. Linux also supported the ext (now obsolete and no longer supported) and ext2 filesystems. The "Second Extended filesystem" (ext2fs) is an advanced hierarchical filesystem developed for the Linux operating system, which included advanced features like a maximum file size of 2.0 GB, a maximum file name length of 255 characters and support for three time/date stamps. They are the date of creation, date of last modification and date of last access. The "Third Extended filesystem" has all these features, and additionally it implements IBM's "journaled file system architecture" (JFS) functionality. The JFS architecture ensures the integrity of data stored on a hard disk in the event of an unplanned shutdown, such as one caused by a power outage. A journaled filesystem maintains a log of all read and write events; this log enables the disk to be restored to its last stable state and additionally allows incompletely written data to be restored to the maximum possible extent.</para>
<para>
The FreeBSD operating system basically uses the UNIX File System (UFS) architecture for its underlying filesystem. The University of Berkeley made more advancements to it referred to as the "Berkeley Improvements" or "Berkeley Extensions". This filesystem, currently used by FreeBSD as its native filesystem is often called the "Fast Filesystem" or FFS, because access reads and writes to data stored in FFS is very fast. The architecture is a little more complex than Linux's ext2fs. It offers a better way to insure filesystem data integrity, mainly with the "softupdates" option. This option decreases synchronous I/O and increases asynchronous I/O because writes to a UFS filesystem are not synced on a sector basis but according to the filesystem structure. This ensures that the filesystem is always coherent between two updates.</para>
<para>
The FreeBSD filesystem also supports file flags, which can stop a would-be intruder dead in his or her tracks. There are several flags that you can add to a file such as the immutable flag. The immutable (schg) flag would not allow any alteration to the file or directory unless you remove it. Other available flags are append only (sappnd), cannot delete (sunlnk), and archive (arch). When you combine these with the kernel security level option, you have a very impenetrable system. In short, the FreeBSD Kernel uses UFS = UFS+FFS+Softupdates+dirpref+dirhash functionality for storing and retrieving data on disks. </para>
</section>
<section>
<title>Summary of Installation Steps</title>
<para>
The partitioning scheme and filesystems covered in FreeBSD, its time for us to move on to the actual FreeBSD installation. For a complete step-by-step coverage of FreeBSD installation, please consult the installation guide available on the FreeBSD Project web site. As in the previous Chapter, here also, I would be mentioning only the significant steps for the installation. Use these steps to install FreeBSD on your computer and configure it for "multi-booting":<orderedlist>
<listitem>
<para>We have a computer running a Microsoft Windows operating system. On my PC, it is Windows 98 (SE). I put a bootable FreeBSD 5.1-RELEASE CD-ROM in the CD-ROM drive and reboot the system.</para>
</listitem>
<listitem>
<para>
The computer boots, reads the CD-ROM, displays the usual hardware probing messages and presents you with a screen where you can choose from a list of options. Proceed to the FreeBSD System Installation and Configuration Utility. In FreeBSD it is called the /stand/sysinstall utility.</para>
</listitem>
<listitem>
<para>
Once the /stand/sysinstall screen appears, select a Novice, Custom or Express install. I choose the Custom installation because it provides the optimum flexibility. For novice users, I would suggest using the Recommended installation. Proceed as usual until you reach the FreeBSD Fdisk editor.</para>
</listitem>
<listitem>
<para>
Select the unused space and create 2 approximately equal partitions. Thus, 2 slices would be created (in addition to the one that already exists). One would be used for installing FreeBSD and the other for Red Hat Linux later. Readers with intermediate and/or expert FreeBSD knowledge should find this easy to do. After creating these 2 partitions, there should be no free space on your hard disk. Exit saving all the changes and proceed as usual to the FreeBSD Disk label editor. Readers must note: While creating the Linux slice, the filesystem ID should be 131. This creates a Linux native filesystem (ext2fs filesystem). Otherwise, the default FreeBSD UFS filesystem would be created.</para>
</listitem>
<listitem>
<para>
The next screen allows you to install a boot manager. Since Microsoft Windows 98 (SE) overwrites the Master Boot Record (MBR) rendering any other operating system unbootable, you should choose to install the FreeBSD boot manager in the MBR of your hard disk. I have installed FreeBSD alongside another operating system on the same hard disk, and I want FreeBSD to boot the other operating system when I start the computer. That is the reason, I installed the FreeBSD boot manager into the MBR. Once done, we enter the Sysinstall Disklabel Editor.</para>
</listitem>
<listitem>
<para>The Sysinstall Disklabel Editor represents the already existing Windows FAT32 partition. Readers must note that FreeBSD names this partition as a FreeBSD slice but without an appropriate "mount point". Here, I would create the logical partitions for the FreeBSD slice (which is /dev/ad0s2).</para>
</listitem>
<listitem>
<para>On my PC, the Windows FAT32 partition is named /dev/ad0s1 (C: in DOS). In other words, it is the first slice on the IDE hard disk of my computer. Disklabel can automatically create partitions for you and assign them default sizes if you press the key A. Depending on the size of the disk (and purpose of installing FreeBSD), the defaults may or may not be appropriate. For me, it works most of the time! To quote from the FreeBSD Handbook, "...Beginning with FreeBSD 4.5, the default partitioning assigns the /tmp directory its own partition instead of being part of the / partition. This helps avoid filling the / partition with temporary files...". This is an important consideration if you have a lot of temporary files to deal with. I create a /, swap, /usr, /var and other usual partitions in my FreeBSD slice (named as /dev/ad0s2).</para>
</listitem>
<listitem>
<para>Once the slices created and partitions within the FreeBSD slice set and done, we proceed to choose what to install on the system. Depending on the intended use and resources at your disposal, you must make the correct choice of what to install and what not to install. For example, Mr. A wants to check out FreeBSD 5.1-RELEASE for fun! Well, a "Minimal Install" is the best choice for him. It saves him both time and hard disk space. His brother, Mr. B is a hot-shot Kernel Developer. He wants access to documentation, full system binaries and the Kernel source code. He would go in for a "Kern-Developer" canned distribution set. And if you have enough resources at your disposal or if it so happens you do not want to use the pkg_add tool to install packages later or from the ports collection manually, well, as it so happens, you can always go in for the "All" install option. This would install everything on the system. Thus, we see that the predefined options range from installing the smallest possible configuration (Minimal) to everything (All). Those who are new to UNIX and/or FreeBSD should almost certainly select one of these canned options. Readers must note: If a graphical user interface (GUI) is desired then a distribution set that is preceded by an X should be chosen. The configuration of XFree86 and selection of a default desktop is part of the post-installation steps.</para>
</listitem>
<listitem>
<para>Next, choose the installation media from the list of available choices. I guess you are doing a Local CD/DVD-ROM installation just like me! Using the arrow keys highlight "Install from a FreeBSD CD/DVD", and press Enter to proceed with the installation. If it so happens that you want to undertake a different kind of installation, choose the appropriate option and follow the steps.
10. Next appears the "Committing to the Installation" screen. You would be asked whether you are sure of installing FreeBSD on this system or not. Select [ Yes ] and press enter to proceed. The installation can now proceed if desired. Readers must note: This is absolutely the last chance for aborting the installation to prevent changes to the hard disk.
11. The installation time will vary according to the distribution chosen, installation media used, and the speed of the computer. There will be a series of messages displayed indicating the status. The installation is complete when the following message is displayed: "Congratulations! You now have FreeBSD installed on your system....".
12. Next comes the post-installation steps. It usually involves chores as "Network Device Configuration", "Configure Gateway", "Configure Internet Services", "Anonymous FTP", "NFS Server", "NFS Client", setting up a "Security Profile", "System Console Settings", "Setting The Time Zone", "Adding Users and Groups" and so on. For an exhaustive covering of each and every step along with helpful screenshots, please refer to the FreeBSD Handbook at http://www.freebsd.org.
13. Once you have completed the post-installation steps, exit the /stand/sysinstall system installer utility, take out the CD-ROM, and reboot the system. When your computer reboots, since you have installed the FreeBSD boot loader into the MBR of your hard disk, you would normally get a following prompt on your screen. It displays something like: F1 DOS, F2 FreeBSD, F3 Linux; each one in a separate line. The Default: F1 is also shown. FreeBSD uses a 3-stage bootstrap by default, and this is actually the preceding bootblock, named /boot/boot0, which lives on the MBR, the special part of the disk that the system bootstrap looks for and runs, and it simply shows a list of possible slices to boot from.
14. Press F1 to boot into Microsoft Windows. On my computer, I successfully booted into Windows 98 (SE). So far so good! I rebooted and pressed F2 this time, and I successfully booted into FreeBSD as well. Bingo! You already have a dual-boot system which uses the FreeBSD boot loader to boot 2 operating systems.
15. Depending on the configuration of your computer, you will receive bootup messages on your screen when you boot into FreeBSD for the first time. Though the messages scroll off the screen rather fast for you to read anything productive, you can always read it later by using the "/sbin/dmesg | more" command. Finally, you will arrive at the login prompt. Login using the username/password you set during installation. Readers must note: The Linux slice is not ready yet, cause we have not defined the mount points of the root (/) directory and swap filesystem as well. So, for doing this and more, we proceed to the chapter, Chapter 6: Installing Red Hat Linux 8.0 (Psyche). Readers must note that if you have already installed FreeBSD, you can skip the next 2 chapters and proceed with the Linux installation directly.
2004-04-19 00:06:07 +00:00
Previous Home Next