mirror of https://github.com/tLDP/LDP
4089 lines
182 KiB
XML
4089 lines
182 KiB
XML
<?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>
|
|
|
|
<othercredit role='converter'>
|
|
<firstname>Gerardo</firstname>
|
|
<surname>Arnaez</surname>
|
|
<contrib>Conversion from html to Docbook xml 4.2</contrib>
|
|
</othercredit>
|
|
|
|
<othercredit role='reviewer'>
|
|
<firstname>Stephen</firstname>
|
|
<surname>Keeling</surname>
|
|
<contrib>Language review, xml source formatting</contrib>
|
|
</othercredit>
|
|
|
|
</authorgroup>
|
|
|
|
<revhistory>
|
|
|
|
<revision>
|
|
<revnumber>1.3.2</revnumber>
|
|
<date>2004-07-02</date>
|
|
<revremark>Minor edits (ulinks, reformatting, manually
|
|
numbered itemized lists converted to ordered lists).</revremark>
|
|
</revision>
|
|
|
|
<revision>
|
|
<revnumber>1.3.1</revnumber>
|
|
<date>2004-4-18</date>
|
|
<revremark>Second Language Review for TLDP, major XML source
|
|
reformatting.</revremark>
|
|
</revision>
|
|
|
|
<revision>
|
|
<revnumber>1.3</revnumber>
|
|
<date>2004-4-18</date>
|
|
<authorinitials>gea</authorinitials>
|
|
<revremark>Initial conversion to XML by Gerardo Arnaez. I
|
|
think I may have deleted some sentences while converting. URLs
|
|
still need to be put in.</revremark>
|
|
</revision>
|
|
|
|
<revision>
|
|
<revnumber>1.2.2</revnumber>
|
|
<date>2004-06-08</date>
|
|
<authorinitials>gea</authorinitials>
|
|
<revremark>I have done some more cleaning up after converting
|
|
doc to xml.</revremark>
|
|
</revision>
|
|
|
|
<revision>
|
|
<revnumber>1.2</revnumber>
|
|
<date>2004-01-5</date>
|
|
<revremark>Troubleshooting Chapter 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([A][T])linuxwaves[DOT]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 <quote>how to configure a packet-filtering Firewall
|
|
using IPFW</quote> using the FreeBSD operating system
|
|
software. In such situations, you can safely fall back on the
|
|
<quote>multiple-booting</quote> 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 <quote>learning by
|
|
doing</quote>. 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 learned. That is how the Unix experts
|
|
learned 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>Webster's New World Computer Dictionary (9th edition) by
|
|
Bryan Pfaffenberger, defines the term
|
|
<quote>dual-booting</quote> as: <quote>A computer that enables
|
|
the user to choose between two operating systems at boot
|
|
time.</quote> Rightly so. Considering this definition as our
|
|
boilerplate, we may frame our own definition of a
|
|
<quote>multiple-booting</quote> 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 operating systems can be
|
|
successfully installed and configured on the same hard disk of a
|
|
computer thus enabling it to become a <quote>multi-boot</quote>
|
|
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: <quote>Hey! Dual and multi-booting
|
|
computer systems only has advantages and absolutely no
|
|
disadvantages</quote> 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 <quote>test labs</quote> 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 required. Before
|
|
proceeding any further, make sure you browse through the
|
|
Frequently Asked Questions (FAQ) section of the guide.</para>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
|
|
<title>Acknowledgments</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 <quote>Linux Information
|
|
Sheet</quote> 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>
|
|
|
|
<orderedlist>
|
|
|
|
<listitem>
|
|
<para>Modern Operating Systems, by Andrew S. Tanenbaum</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Understanding the Linux Kernel, by Daniel P. Bovet,
|
|
Marco Cesati</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Red Hat Linux 8 Bible, by Christopher Negus</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Red Hat Linux Official x86 Installation Guides at
|
|
<ulink url="http://www.redhat.com"/></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Linux Gazette and Linux Focus online magazines at
|
|
<ulink url="http://www.linuxgazette.com"/> and <ulink
|
|
url="http://www.linuxfocus.org"/> respectively.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The FreeBSD Handbook at <ulink
|
|
url="http://www.freebsd.org"/></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The FreeBSD FAQ at <ulink
|
|
url="http://www.freebsd.org"/></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The OpenBSD FAQ at <ulink
|
|
url="http://www.openbsd.org"/></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The Official Microsoft Windows Installation Guides and
|
|
FAQs at <ulink url="http://www.microsoft.com"/></para>
|
|
</listitem>
|
|
|
|
</orderedlist>
|
|
|
|
</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 <ulink url="http://www.gnu.org/copyleft/fdl.html"/>, in the
|
|
section entitled <quote>GNU Free Documentation
|
|
License</quote>.</para>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
|
|
<title>About the Author</title>
|
|
|
|
<para>Subhasish <quote>savvy</quote> 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 <quote>Informatics and Computer
|
|
Science Engineering</quote>. 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
|
|
<ulink url="http://groups.msn.com/Linuxdump"/>.</para>
|
|
|
|
</section>
|
|
|
|
</chapter>
|
|
|
|
<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 <quote>question</quote> or two to ask,
|
|
please feel free to drop a line at
|
|
subhasish_ghosh([A][T])linuxwaves[DOT]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 three 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 <quote>total world domination</quote> 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 three.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Did you try out the steps mentioned in this guide
|
|
yourself? 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: <quote>The better the resources, the better
|
|
the performance of the computer.</quote></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 <emphasis>the</emphasis> 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
|
|
<emphasis>not</emphasis> 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 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
|
|
<emphasis>default</emphasis> 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 <ulink url="http://www.linuxgazette.com"/>,
|
|
<ulink url="http://www.linuxfocus.org"/>, <ulink
|
|
url="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 <ulink url="http://www.freebsd.org"/>, The Design
|
|
of the UNIX Operating System, The Design and Implementation
|
|
of the 4.4BSD Operating System. That should 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 <emphasis>installation-specific</emphasis>
|
|
questions/queries or something <emphasis>failed</emphasis>
|
|
or <emphasis>this quite didn't work?</emphasis> Can I send
|
|
these reports to you?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Of course do. But please be patient as I am busy with
|
|
lots of things at my university; tests, exams, assignments,
|
|
dating my <quote>infinitely patient FreeBSD-compatible
|
|
rock-stable girlfriend</quote>, 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 <emphasis>my</emphasis> 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. I'm sorry, but I
|
|
cannot help others living far away.</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 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 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: 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: Installing Microsoft Windows covers the
|
|
installation of any one of the Microsoft Windows operating systems
|
|
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 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: 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
|
|
<quote>OpenBSD</quote> 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 backups when doing such
|
|
installations. Do not send problem reports later. You have been
|
|
warned!</para>
|
|
</warning>
|
|
|
|
<para>Chapter 4: 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: 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: 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 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 <emphasis>not</emphasis>
|
|
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>
|
|
|
|
</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
|
|
<emphasis>Linux Information Sheet</emphasis> by Michael
|
|
K. Johnson at <ulink url="http://www.tldp.org"/>,
|
|
|
|
<blockquote>
|
|
<para><quote>... Linux is a completely free re-implementation
|
|
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 <ulink url="ftp://prep.ai.mit.edu/pub/gnu/COPYING"/>
|
|
...</quote>.</para>
|
|
</blockquote>
|
|
</para>
|
|
|
|
<para>Readers must note the fact that though many Linux users
|
|
worldwide refer to the GNU/Linux operating system simply as
|
|
<emphasis>Linux,</emphasis> 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:
|
|
<quote>Hey! Linux is UNIX!</quote> 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 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 <emphasis>open source</emphasis> or
|
|
<emphasis>free</emphasis> in nature except BSD/OS) is
|
|
technically speaking, the most powerful, professional quality
|
|
and advanced UNIX compatible operating system software on
|
|
earth today. FreeBSD was 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: <ulink url="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 its 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 its
|
|
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
|
|
<quote>Understanding the Linux Kernel</quote> by Bovet and
|
|
Cesati for more in-depth information on the inner-workings of
|
|
the Linux Kernel, <quote>The Design and Implementation of the
|
|
4.4BSD Operating System</quote> for FreeBSD/OpenBSD and so on,
|
|
and <quote>The Design of the UNIX Operating System</quote> 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 <quote>a secure by
|
|
default</quote> status. This means that an OpenBSD user should
|
|
feel safe that their newly installed machine will not be
|
|
compromised. This <quote>secure by default</quote> 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 <quote>the proactively secure
|
|
Unix-like operating system.</quote> The OpenBSD Kernel is
|
|
heavily optimized with security features thereby providing
|
|
customers with utmost secure and hack-resilient real-time
|
|
systems. The OpenBSD Project website can be accessed at:
|
|
<ulink url="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
|
|
architecturally sound 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 <emphasis>portability</emphasis> and
|
|
tries to run on as many platforms as possible. The NetBSD
|
|
Project website can be accessed at:
|
|
<ulink url="http://www.netbsd.org"/></para>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
|
|
<title>Additional Reading for *BSD's</title>
|
|
|
|
<para>For browsing through the Official FreeBSD Handbook,
|
|
visit: <ulink url="http://www.freebsd.org"/></para>
|
|
|
|
<para>The official sources for FreeBSD are available via
|
|
anonymous FTP from: <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/"/></para>
|
|
|
|
<para>For a comparative study between FreeBSD, Linux and
|
|
Microsoft Windows 2000, check out this document at
|
|
<ulink url="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 its primary target.</para>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
</chapter>
|
|
|
|
<chapter>
|
|
|
|
<title>Installing Microsoft Windows</title>
|
|
|
|
<section>
|
|
|
|
<title>Windows Options</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. 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. Read the information given in Section B:
|
|
Installing MS Windows 98 (SE) and after doing 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 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, 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, 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/partitions.</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 <application>fdisk</application> and
|
|
<application>format</application> commands, the Master Boot
|
|
Record (MBR) and File Allocation Tables (FAT) are
|
|
created. The MBR and FAT 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
|
|
Startup 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, 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, 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, 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>
|
|
|
|
<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, 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, then press enter. Press 1
|
|
to select the Create Primary DOS Partition menu option,
|
|
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, 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, 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, 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, then press enter. Press 2 to select the
|
|
Create Extended DOS Partition menu option, 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, 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, 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 <screen>format c:</screen>, then press
|
|
enter. This command formats drive C (or your
|
|
<emphasis>active</emphasis> 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
|
|
<emphasis>partitioning a hard disk</emphasis> 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 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 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>
|
|
|
|
<warning>
|
|
<para>Very <quote>important</quote> 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>
|
|
</warning>
|
|
|
|
<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 (2
|
|
GB) 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 because 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 (say, of 999MB), we
|
|
do not need to create any more partitions using the 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. 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 Windows operating
|
|
system of choice), install the operating system as usual. Do the
|
|
usual system configuration and log into Windows to check whether
|
|
everything works. 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. 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 FreeBSD
|
|
Documentation Project at <ulink url="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
|
|
<ulink url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.html"/>.
|
|
These and other documentation available on the FreeBSD Project
|
|
homepage provide 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>
|
|
|
|
<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 <quote>slicing.</quote> If
|
|
you already know this stuff, feel free to skip this part and
|
|
read the section entitled <quote>Summary of Installation
|
|
Steps.</quote></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
|
|
<emphasis>slice.</emphasis> 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
|
|
<emphasis>primary partitions</emphasis>, starting at 1, through
|
|
to 4). Thus, the reader must note that <emphasis>a primary
|
|
partition</emphasis> in Windows refers to a
|
|
<emphasis>slice</emphasis> in FreeBSD terminology, and
|
|
<emphasis>an extended partition containing logical disk drives
|
|
in it</emphasis> is simply called as
|
|
<emphasis>partitions</emphasis> in FreeBSD. A logical disk drive
|
|
within an extended partition may also be called <emphasis>a
|
|
logical slice inside a physical slice</emphasis> 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 a <emphasis>primary
|
|
partition</emphasis>). It then uses a program called
|
|
<application>disklabel</application> for making up to eight
|
|
partitions in this slice.
|
|
|
|
<warning>
|
|
<para>Readers must note a very significant fact: You
|
|
<quote>cannot</quote> install FreeBSD in an extended partition
|
|
made by Linux (or DOS/Windows).</para>
|
|
</warning></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 <quote>/</quote>
|
|
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 <quote>/</quote>
|
|
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 its own
|
|
corresponding mount point. 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, what 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 through 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>
|
|
|
|
</itemizedlist>
|
|
|
|
For more exhaustive information, 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. 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. These 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 essentially 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 <emphasis>Fast
|
|
Filesystem</emphasis> or FFS, because access reads and writes to
|
|
data stored in FFS are 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 an 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>Having covered the partitioning scheme and filesystems
|
|
FreeBSD, it's 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 will 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,
|
|
|
|
<blockquote>
|
|
<para><quote>... 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...</quote></para>
|
|
</blockquote>
|
|
|
|
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 are 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. 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, you can always go for
|
|
the <emphasis>All</emphasis> 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 assume you are doing a Local CD/DVD-ROM
|
|
installation just like me. Using the arrow keys highlight
|
|
<emphasis>Install from a FreeBSD CD/DVD</emphasis>, 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.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Next appears the <emphasis>Committing to the
|
|
Installation</emphasis> screen. You are asked whether you
|
|
are sure about installing FreeBSD on this system or
|
|
not. Select [ Yes ] and press enter to proceed. The
|
|
installation can now proceed. Readers must note: this is
|
|
absolutely the last chance for aborting the installation to
|
|
prevent changes to the hard disk.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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:
|
|
<screen>Congratulations! You now have FreeBSD installed on
|
|
your system</screen></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Next comes the post-installation steps. This usually
|
|
involves chores such 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, refer to the
|
|
FreeBSD Handbook at <ulink url="http://www.freebsd.org"/>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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 the
|
|
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.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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 too fast for you to read anything productive,
|
|
you can always read it later by using the
|
|
<screen>/sbin/dmesg | more</screen> 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, because we have not
|
|
defined the mount point of the root <quote>/</quote>
|
|
directory and swap filesystem. So, to do 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.</para>
|
|
</listitem>
|
|
|
|
</orderedlist></para>
|
|
|
|
</section>
|
|
|
|
</chapter>
|
|
|
|
<chapter>
|
|
|
|
<title>Installing OpenBSD 3.2-RELEASE</title>
|
|
|
|
<para>This Chapter focuses on installing OpenBSD 3.2-RELEASE and
|
|
multi-booting the system so that it can coexist successfully with
|
|
the already existing Windows operating system. Like the Windows
|
|
and FreeBSD 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 OpenBSD on The OpenBSD Project homepage at
|
|
<ulink url="http://www.openbsd.org"/>. For a step-by-step OpenBSD
|
|
Installation procedure with screenshots, refer to the
|
|
<quote>Installing OpenBSD</quote> Online manual at the OpenBSD
|
|
Project homepage. These and other documentation available on the
|
|
OpenBSD 3.2-RELEASE CD-ROM provide exhaustive and extensive
|
|
coverage of all aspects related to OpenBSD. Make sure you grab as
|
|
much information as you can before proceeding with this
|
|
guide.</para>
|
|
|
|
<para>Since both FreeBSD and OpenBSD operating systems are
|
|
BSD-derivatives, UNIX related information present in the
|
|
/usr/share/doc directory on both systems provide very high quality
|
|
technical information on how to install, use and customize a UNIX
|
|
system. If you are not yet a FreeBSD/OpenBSD wizard, my humble and
|
|
honest advice would be to read the Unix User's Supplementary
|
|
Documents (USD), Unix System Manager's Manual (SMM) and the Unix
|
|
Programmer's Supplementary Documents (PSD) on these
|
|
systems.</para>
|
|
|
|
<para>Note: I assume the reader executing this Chapter possesses a
|
|
sound knowledge of BSD-style hard disk partitioning and labeling
|
|
schemes, device naming conventions and so on. If you have no idea
|
|
at all of what I am talking about or of OpenBSD in general, I
|
|
strongly suggest you go back to the earlier section and read
|
|
through its entire contents. Though the material is FreeBSD
|
|
specific, most of it applies to OpenBSD as well since OpenBSD like
|
|
any other BSD out there follows the slicing scheme.</para>
|
|
|
|
<para>A few significant points to remember: in Linux, an entry
|
|
like /dev/hda1 refers to a partition which in FreeBSD is likely to
|
|
be labeled /dev/ad0s1. The OpenBSD counterpart would be /dev/wd0a
|
|
for the first hard disk drive, /dev/wd1a for the second hard disk
|
|
drive and so on. OpenBSD disklabel allows up to 16 partitions. It
|
|
can detect and represent all primary partitions that exist on the
|
|
hard disk. OpenBSD disklabel sees all partitions within an
|
|
extended partition but it does not list the extended partition
|
|
container. Readers must note that OpenBSD reserves the c:
|
|
partition which represents the entire hard disk, i: through p: are
|
|
reserved for partitions belonging to other operating systems other
|
|
than OpenBSD (for example Windows or Linux partitions), with a:,
|
|
b: and d: - h: available for OpenBSD specific partitions. Thus the
|
|
word <emphasis>partition</emphasis>, without qualification,
|
|
usually refers to a UNIX disk area on which a filesystem will be
|
|
mounted.</para>
|
|
|
|
<section>
|
|
|
|
<title>Summary of Installation Steps</title>
|
|
|
|
<para>For a complete step-by-step coverage of OpenBSD
|
|
installation, consult the <emphasis>Installing OpenBSD
|
|
Manual</emphasis> available on the OpenBSD Project web site. As
|
|
in the previous Chapter, here also I will be mentioning only the
|
|
significant steps for the installation. Use these steps to
|
|
install OpenBSD on your computer and configure it for
|
|
multi-booting:</para>
|
|
|
|
<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 OpenBSD 3.2-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 on the screen and presents
|
|
you with an interactive text based installation
|
|
program. Readers must note: There are several ways to
|
|
install OpenBSD onto a disk. The easiest way, should your
|
|
computer support it, is to boot off the CD-ROM. Otherwise,
|
|
you can boot from a 3.5 inch 1.44MB floppy disk. You should
|
|
now be ready to install OpenBSD.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Read the questions that appear on the screen and
|
|
answer them accordingly. Think twice before committing to
|
|
the installation. If any question offers a default answer,
|
|
it will be displayed in brackets ([ ]) after the
|
|
question. If you wish to stop the installation, you may hit
|
|
Control-C at any time, but if you do, you will have to begin
|
|
the installation process again from scratch.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Next, you will be asked for your terminal type. You
|
|
should just hit return to select the default (vt220). vt220
|
|
refers to Console rather than serial/dial-up or
|
|
network/pseudo terminals.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>After entering the terminal type you will be asked
|
|
whether you wish to do an <screen>(I)nstall or an
|
|
(U)pgrade</screen>. Enter 'I' for a fresh install or 'U' to
|
|
upgrade an existing installation.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You will be presented with a welcome message and asked
|
|
if you really wish to install (or upgrade). Assuming you
|
|
answer yes, the install program will then tell you which
|
|
disks of that type it can install on, and ask you which it
|
|
should use. Check whether OpenBSD correctly assigns the
|
|
corresponding device file to your hard disk or not. OpenBSD
|
|
assigned my first IDE hard disk a label /dev/wd0.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>When OpenBSD asks you whether you want to assign the
|
|
whole hard disk for installing OpenBSD or not, select a [no]
|
|
and press enter. I select a no here, because I am preparing
|
|
a multi-boot system that would run 3 operating
|
|
systems.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Proceed with the installation as usual until you reach
|
|
the OpenBSD fdisk. If fdisk is invoked on your behalf, it
|
|
will start by displaying the current partitions defined and
|
|
then allow you to modify this information, add new
|
|
partitions and change which partition to boot from by
|
|
default. Here, I have to create a slice with
|
|
<quote>Partition ID#</quote>: A6 which would be used later
|
|
for installing OpenBSD 3.2. Readers must note: FreeBSD
|
|
partition ID is A5 and is different from OpenBSD partition
|
|
ID A6. So while creating the slice, the ID should be A6 and
|
|
not A5.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>I had output like this on my screen after I
|
|
successfully created my OpenBSD slice.</para>
|
|
<screen>
|
|
Disk:wd0 geometry: 1274 / 255 / 63 [ 20466810 Sectors ]
|
|
Offset:0
|
|
|
|
Starting Ending LBA Info:
|
|
# Id C H S C H S Size
|
|
0: 0B 0 1 1 249 254 63 4016187 Win95 FAT32
|
|
*1: A6 250 1 1 1273 254 63 16450497 OpenBSD
|
|
</screen>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Try to understand the geometry. It represents the
|
|
actual physical geometry or arrangement of my hard disk. The
|
|
number of sectors available are given. The 2 sections
|
|
containing the <quote>Starting</quote> and
|
|
<quote>Ending</quote> C (cylinder), H (heads) and S
|
|
(sectors) are also given. I started out with the first slice
|
|
with ID: 0B only available. The information under LBA Info
|
|
shows me that it is a Microsoft Windows 95 FAT32 filesystem
|
|
partition. Hey! That's the one I created when I installed
|
|
Microsoft Windows 98 (SE) in it.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>I then create a new slice, with filesystem ID#: A6 to
|
|
represent an OpenBSD slice, mention the Starting and Ending
|
|
cylinders, heads and sectors and finally (very important)
|
|
set the slice bootable by setting the appropriate flag from
|
|
the command line. This is shown by the asterisk (*) before
|
|
the starting of the second slice (#1:) is represented as
|
|
(*#1:). It tells the MBR code to execute the OpenBSD boot
|
|
loader because it will in turn boot my other operating
|
|
system.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Enter a <emphasis>quit</emphasis> and not an
|
|
<emphasis>exit</emphasis> on the command line and exit
|
|
the OpenBSD fdisk partition editor.
|
|
|
|
<important> <para>DO A <emphasis>quit</emphasis>, not an
|
|
<emphasis>exit</emphasis>.</para>
|
|
</important></para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Next, the disk label which defines the layout of the
|
|
OpenBSD file systems must be set up. The installation script
|
|
will invoke an interactive editor allowing you to do this. I
|
|
create a swap of about a few thousand bytes, and provide the
|
|
rest to the <quote>a</quote> partition; ie., to the root
|
|
directory on the filesystem. The install program will now
|
|
label your disk and ask which filesystems should be created
|
|
on which partitions. It will automatically select the 'a'
|
|
partition to be the root file system. Next it will ask for
|
|
which disk and partition you want a filesystem
|
|
created. </para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>After all your filesystems have been created, the
|
|
install program will give you an opportunity to configure
|
|
the network. Next, you are prompted to configure your
|
|
network interfaces, default route and IP address of the
|
|
primary name server and the host table.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Once all these are done, you will be able to extract
|
|
the distribution sets onto your system. When installing from
|
|
a CD-ROM, you will be asked which device holds the
|
|
distribution sets. This will typically be cd0. Next you will
|
|
be asked which partition on the CD-ROM the distribution is
|
|
to be loaded from. This is normally partition
|
|
<quote>a</quote>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Next you will have to identify the filesystem type
|
|
that has been used to create the distribution on the CD-ROM,
|
|
this can be either FFS or ISO CD9660. The OpenBSD CD
|
|
distribution uses the CD9660 format.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You will also have to provide the relative path to the
|
|
directory on the CD which holds the distribution, for the
|
|
i386 this is 3.2/i386.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>When all the selected distribution sets have been
|
|
extracted, you will be allowed to select which time zone
|
|
your system will be using, all the device nodes needed by
|
|
the installed system will be created for you, and the
|
|
filesystems will be unmounted. For this to work properly, it
|
|
is expected that you have installed at least the base32,
|
|
etc32, and bsd distribution sets. </para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>A message will appear on your screen telling you that
|
|
OpenBSD 3.2 operating system has been successfully installed
|
|
on your computer. Type in halt to halt the system and
|
|
reboot.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>When I reboot for the first time, I get the following
|
|
prompt on the screen: F1 DOS, F2 BSD each in one line. I
|
|
press the F1 functional key to boot into Windows 98 (SE) and
|
|
check whether everything is working or not. As it so
|
|
happens, it does! I reboot and this time, I press F2, which
|
|
boots me into OpenBSD 3.2. </para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Depending on the configuration of your computer, you
|
|
will receive bootup messages on your screen when you boot
|
|
into OpenBSD for the first time. Though the messages scroll
|
|
off the screen too fast for you to read anything productive,
|
|
you can always read it later by using the
|
|
<screen>/sbin/dmesg | more</screen> command. Finally, you
|
|
will arrive at the login prompt. Login using the
|
|
username/password you set during installation. Check that
|
|
everything is in place and try exploring the new
|
|
system.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>We still have Linux to install and configure. So, we
|
|
proceed to the next chapter, Chapter 6: Installing Red Hat
|
|
Linux 8.0 (Psyche).</para>
|
|
</listitem>
|
|
|
|
</orderedlist>
|
|
|
|
</section>
|
|
|
|
</chapter>
|
|
|
|
<chapter>
|
|
|
|
<title>Installing NetBSD 1.6.1</title>
|
|
|
|
<para>This Chapter focuses on installing NetBSD 1.6.1 and
|
|
multi-booting the system so that it can coexist successfully with
|
|
the already existing Windows operating system. Like the Windows,
|
|
FreeBSD and OpenBSD installations, 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
|
|
documentation available on the NetBSD Homepage at <ulink
|
|
url="http://www.netbsd.org"/>. These and other documentation
|
|
available on the NetBSD 1.6.1 CD-ROM provide exhaustive and
|
|
extensive coverage of all aspects related to NetBSD. Make sure you
|
|
grab as much information as you can before proceeding with this
|
|
guide.</para>
|
|
|
|
<warning>
|
|
<para>Note: I hereby assume the reader executing this Chapter
|
|
possesses a sound understanding and knowledge of BSD-style hard
|
|
disk partitioning and labeling schemes, device naming
|
|
conventions and so on before proceeding any further. If you have
|
|
no idea at all of what I am talking about, or in general of
|
|
NetBSD, I strongly suggest you to go back to the Chapter
|
|
covering FreeBSD.</para>
|
|
</warning>
|
|
|
|
<para>A few significant points to remember: NetBSD labels hard
|
|
disks similar to OpenBSD with /dev/wd0 for the first hard disk,
|
|
/dev/wd1 for the second hard disk and so on. NetBSD disklabel
|
|
allows up to 16 partitions. It can detect and represent all
|
|
primary partitions that exist on the hard disk. NetBSD disklabel,
|
|
though, sees all partitions within an extended partition but it
|
|
does not list the extended partition container. Readers must note
|
|
that NetBSD reserves the c: partition which represents the entire
|
|
hard disk, i: through p: are reserved for partitions belonging to
|
|
other operating systems other than NetBSD (for example Windows or
|
|
Linux partitions), with a:, b: and d: - h: available for NetBSD
|
|
specific partitions.</para>
|
|
|
|
<section>
|
|
|
|
<title>Summary of Installation Steps</title>
|
|
|
|
<para>For complete step-by-step coverage of NetBSD installation,
|
|
consult the documentation available on the NetBSD Project web
|
|
site. As in the previous Chapter, here also, I will mention only
|
|
the significant steps for the installation. Use these steps to
|
|
install NetBSD 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 NetBSD 1.6.1 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 on the screen and presents
|
|
you with an installation program. Readers must note: there
|
|
are several ways to install NetBSD onto a disk. The
|
|
easiest way, should your computer support it, is to boot
|
|
off the CD-ROM. Otherwise, you can boot from a 3.5 inch
|
|
1.44MB floppy disk. You should now be ready to install
|
|
NetBSD. </para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>3. The blue-colored NetBSD 1.6.1 Installation Tool is
|
|
called sysinst. At the very beginning, you receive a
|
|
<screen>Welcome to sysinst</screen>. Select the option
|
|
<screen>Install NetBSD to hard disk</screen> and press
|
|
enter.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>4. This presents you a confirmation screen, select Yes
|
|
and press enter.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>5. Your hard disk is detected and NetBSD labels it
|
|
correspondingly. On my PC, my first IDE HDD gets labeled as
|
|
wd0. Hit enter to continue.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>6. Next appears the Disk Geometry screen where your
|
|
hard disk geometry is matched with the BIOS geometry. If
|
|
sysinst was unable to uniquely match the disk you chose with
|
|
a disk known to the BIOS, you have to set the disk geometry
|
|
by hand. In my case, the disk matches the following BIOS
|
|
disk:</para>
|
|
<screen>
|
|
BIOS# cylinders heads sectors
|
|
0 1023 255 63
|
|
</screen>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>7. Thus I select, <screen>This is the correct
|
|
geometry</screen> and press enter. Next comes the screen
|
|
where you have to make the choice that you would like to
|
|
multi-boot your system and not (dangerously) dedicate your
|
|
system. Select <screen>Use only part of the disk</screen>
|
|
instead of <screen>Use the entire disk</screen> and press
|
|
enter.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>8. Proceed to choose the <quote>size unit to
|
|
use</quote>. I chose <quote>Megabytes</quote> as my size
|
|
specifier.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>9. Proceed with the installation as usual until you
|
|
reach the NetBSD fdisk where you can view the DOS
|
|
Partition table on your computer. I have a computer system
|
|
which was running Windows 98 (SE), NetBSD 1.6 and FreeBSD
|
|
5.1-RELEASE. The DOS partition table was as follows:
|
|
<screen>
|
|
Total disksize 19541 MB.
|
|
Start(MB) Size(MB) End(MB) Kind
|
|
0: 0 9774 9774 Windows FAT32, LBA
|
|
1: 9773 3001 12775 NetBSD
|
|
2: 12774 6766 19540 old NetBSD/FreeBSD/386BSD
|
|
3: unused
|
|
</screen></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>10. Edit partitions 1 and 2 by making
|
|
<quote>Kind</quote> as <quote>unused</quote>, then selecting
|
|
<quote>Partition OK</quote> and press enter.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Select unused partition 1, then <quote>Kind</quote>,
|
|
then <quote>NetBSD</quote> and finally <quote>Start and
|
|
size</quote>. Mention the <quote>Start:</quote> value as
|
|
<quote>-0</quote> and <quote>size:</quote> to the value you
|
|
would like to set. I chose about 4000 MB. Make sure you
|
|
select <quote>Set active</quote> and press enter and
|
|
<quote>Partition OK</quote> finally.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The new DOS Partition table on my PC looks like this:
|
|
<screen>
|
|
Total disksize 19541 MB.
|
|
Start(MB) Size(MB) End(MB) Kind
|
|
0: 0 9774 9774 Windows FAT32, LBA
|
|
1: 9773 4001 13774 NetBSD
|
|
2: unused
|
|
3: unused
|
|
</screen></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para> Select <quote>Exit</quote> and press enter.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The next screen tells you that you have more than one
|
|
operating system installed on your computer. When asked to
|
|
install a bootselector, answer <quote>Yes</quote>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>This brings you to the <quote>Bootselection menu
|
|
items</quote> screen. Here, you can change the simple menu
|
|
entries for matching partition entries that are displayed
|
|
when the system boots. Also, you can specify the timeout (in
|
|
seconds) and the default action to be taken (if no selection
|
|
is made in the bootmenu). By default, the Boot menu timeout
|
|
is set to 10 seconds, which I change to 100 seconds. The
|
|
default boot menu action is set to <quote>Boot off partition
|
|
0</quote>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>16. Edit menu entries 0 and 1, to label
|
|
<quote>Windows</quote> and <quote>NetBSD</quote>
|
|
respectively, then exit.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>17. Next appears the NetBSD Disklabel screen. Here you
|
|
are expected to set up your NetBSD disklabel. Four options
|
|
are mentioned: Standard, Standard with X, Custom and Use
|
|
existing.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>18. Choose the installation type: <quote>Standard with
|
|
X</quote> which requires about 450.00 MB HDD space.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>19. The next screen displays the BSD-disklabel
|
|
partitions. Since for most people in most situations this
|
|
suits the best, keep the changes as it is and select
|
|
<quote>Partitions are OK</quote> and press enter</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>20. A name is prompted for your NetBSD disk, I entered
|
|
<quote>ghosh</quote> and continue.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>21. /sbin/newfs runs to create the new
|
|
filesystems.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>22. You are prompted to install either a normal set of
|
|
bootblocks or serial bootblocks. Since we are using the BIOS
|
|
console device as the console, you must select <quote>Use
|
|
normal bootblocks</quote> and press enter.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>23. This completes the first part of the NetBSD
|
|
installation procedure. Sysinst has written a disklabel to
|
|
the target disk, and newfs'ed and fsck'ed the new partition
|
|
on the disk. The next step is to fetch and unpack the
|
|
distribution filesystems.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>24. I chose <quote>Custom Installation</quote> of
|
|
NetBSD distribution sets.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>25. In the next screen, choose all that you would like
|
|
to install and press <quote>Exit</quote>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>26. Enter the type of installation media. Select
|
|
<quote>cdrom</quote> and device:cd0 and
|
|
directory:/i386/binary/sets and continue.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>27. The following .tgz files are untarred and
|
|
installed onto your hard disk: base.tgz, etc.tgz, comp.tgz,
|
|
games.tgz, man.tgz, misc.tgz, text.tgz, xbase.tgz,
|
|
xfont.tgz, xserver.tgz, xcomp.tgz and xcontrib.tgz.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>28. A message appears as <quote>All selected
|
|
distribution sets unpacked successfully</quote>. Next,
|
|
device files are made automatically, and you are prompted
|
|
for a few necessary post-installation configuration
|
|
steps.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>29. You need to set timezone, I chose
|
|
<quote>Europe/Moscow</quote>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>30. Next, choose the password cipher. The options
|
|
available are: DES or MD5. I prefer MD5 to DES.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>31. I set the root password and then finally a message
|
|
appears on your screen telling you that NetBSD 1.6.1
|
|
operating system has been successfully installed on your
|
|
computer. Reboot your computer to boot from hard
|
|
disk.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>32. When I reboot for the first time, I get the
|
|
following prompt on the screen: F1 Windows, F2 NetBSD each
|
|
in one line. I press the F1 functional key to boot into
|
|
Windows 98 (SE) and check whether everything is working or
|
|
not. As it so happens, it does! Then I reboot and this time,
|
|
I press F2, which boots me into NetBSD 1.6.1. </para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>33. Depending on the configuration of your computer,
|
|
you will receive bootup messages on your screen when you
|
|
boot into NetBSD for the first time. Though the messages
|
|
scroll off the screen too fast for you to read anything
|
|
productive, you can always read them later by using the
|
|
<quote>/sbin/dmesg | more</quote> command. Finally, you will
|
|
arrive at the login prompt. Login using the
|
|
username/password you set during installation. Check that
|
|
everything is in place and try exploring the new
|
|
system. </para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>34. We still have Linux to install and configure. So,
|
|
we proceed to the next chapter, Chapter 6: Installing Red
|
|
Hat Linux 8.0 (Psyche).</para>
|
|
</listitem>
|
|
|
|
</orderedlist></para>
|
|
|
|
</section>
|
|
|
|
</chapter>
|
|
|
|
<chapter>
|
|
|
|
<title>Installing Red Hat Linux 8.0 (Psyche)</title>
|
|
|
|
<para>This Chapter focuses on installing Red Hat Linux 8.0 and
|
|
configuring it for booting with the already existing operating
|
|
systems on the computer. It focuses on a CD-ROM based
|
|
installation, so it is ideal for users (both new and old) who
|
|
want a quick and simple installation solution. If you are an
|
|
experienced Linux user, just shoot ahead of this Chapter and
|
|
install Red Hat Linux on your system. You may skip all the
|
|
contents of this Chapter if you have enough practical
|
|
experience. However, if you are a complete Linux newbie, or you
|
|
just decided to taste Linux for fun, you may want to gather more
|
|
information on how to install Linux with another already
|
|
existing operating system on the computer. Red Hat Linux offers
|
|
excellent Installation tools while installing but while
|
|
multi-booting your computer with 3 operating systems, it is
|
|
always advisable to use the <quote>Custom</quote> installation
|
|
which makes the story for the Linux newbies a little
|
|
difficult. Using Linux fdisk or Disk Druid is easy and if you
|
|
are using the Official boxed-set version from Red Hat, make sure
|
|
you use the Official Red Hat Linux x86 Installation Guide
|
|
enclosed with the package. Otherwise, you can always refer to
|
|
the Distribution specific Installation Manuals at the Official
|
|
Red Hat website. Red Hat's official website is located at <ulink
|
|
url="http://www.redhat.com"/>. Make sure you refer to the Red Hat
|
|
Frequently Asked Questions for answers to questions and problems
|
|
that may occur before, during or after the installation. You
|
|
will find the FAQ online at: <ulink
|
|
url="http://www.redhat.com/support/resources/faqs/rhl_general_faq/s1-contact.html"/>.</para>
|
|
|
|
<para>Red Hat Linux has some exciting and important installation
|
|
features. Large improvements were made in the install process
|
|
when version 6 arrived. Now, in the latest versions 8.0 (Psyche)
|
|
and 9, Red Hat Linux's installation is very smooth with Anaconda
|
|
doing most of the dirty jobs for you. Some of the important
|
|
installation features include <quote>Kudzu</quote> and the
|
|
<quote>Kernel 2.4</quote>.</para>
|
|
|
|
<section>
|
|
|
|
<title>Disk Drive and Partition Naming In Linux</title>
|
|
|
|
<para>Before shooting ahead with the installation of Red Hat
|
|
Linux, let us take a brief tour of the disk drive and
|
|
partition naming conventions in Linux. Worthwhile mentioning,
|
|
I discussed in detail the drive and partition naming
|
|
convention in FreeBSD earlier when I talked about installing
|
|
FreeBSD.</para>
|
|
|
|
<para>Linux uses a special way of naming hard drives and the
|
|
partitions that you make within them. In UNIX (always
|
|
remember, the Linux kernel is a re-implementation of UNIX)
|
|
terminology, UNIX systems (and more specifically the Kernel)
|
|
cannot read and understand <quote>devices</quote>. To the UNIX
|
|
kernel, everything is abstracted as a <quote>file containing
|
|
ASCII characters</quote>. That means a sentence like <quote>I
|
|
have a 30.0 GB C: drive</quote> in Linux does not make any
|
|
sense at all. So, let us see how our hard drives and
|
|
partitions are named under Linux.</para>
|
|
|
|
<para>* First IDE hard disk (Primary Master) - /dev/hda</para>
|
|
|
|
<para>* Second IDE hard disk (Primary Slave) - /dev/hdb</para>
|
|
|
|
<para>* Third IDE hard disk (Secondary Master) - /dev/hdc</para>
|
|
|
|
<para>* Fourth IDE hard disk (Secondary Slave) - /dev/hdd</para>
|
|
|
|
<para>where, /dev is the directory under the root
|
|
(<quote>/</quote>) directory in Linux which contains all the
|
|
device files associated with devices.</para>
|
|
|
|
<para>What about SCSI drives? Well, Linux labels that too!</para>
|
|
|
|
<para>* First SCSI hard disk (Primary Master) - /dev/sda</para>
|
|
|
|
<para>* Second SCSI hard disk (Primary Slave) - /dev/sdb</para>
|
|
|
|
<para>* Third SCSI hard disk (Secondary Master) - /dev/sdc</para>
|
|
|
|
<para>* Fourth SCSI hard disk (Secondary Slave) - /dev/sdd</para>
|
|
|
|
<para>where, /dev is the directory under the root
|
|
(<quote>/</quote>) directory in Linux which contains all the
|
|
device files associated with devices.</para>
|
|
|
|
<para>Now, let us talk about the partitioning scheme under
|
|
Linux. In Linux, we first consider a particular hard disk,
|
|
whether an IDE or a SCSI hard disk. Then, we consider
|
|
partitions on the disk. For example, the partitions on an IDE
|
|
drive are named in the following way (/dev/hda is used as an
|
|
example): </para>
|
|
|
|
<para>* First primary partition - /dev/hda1</para>
|
|
|
|
<para>* Second primary partition - /dev/hda2</para>
|
|
|
|
<para>* Third primary partition - /dev/hda3</para>
|
|
|
|
<para>* Fourth primary partition - /dev/hda4</para>
|
|
|
|
<para>What if we have an <quote>extended partition</quote>
|
|
under Linux which contains a few logical disk drives in it?
|
|
Well, the Linux kernel maps those partitions to the
|
|
corresponding <quote>block</quote> device files stored in the
|
|
/dev directory. Let us consider that the /dev/hda in our above
|
|
example, contains 1 primary partition and 1 extended
|
|
partition, which in turn has 5 logical disk drives in it. In
|
|
this case, what would the partition table look like and mean?
|
|
Let us see how Linux labels this scheme. Linux would represent
|
|
this as:
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<para>/dev/hda</para>
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<para>/dev/hda1</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>/dev/hda2</para>
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<para>/dev/hda5</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>/dev/hda6</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>/dev/hda7</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>/dev/hda8</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>/dev/hda9</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
where, /dev/hda1 is the only primary partition and /dev/hda2 is
|
|
the only extended partition on the hard disk under
|
|
scrutiny. Note that Linux labels primary partitions from
|
|
/dev/hda1 to /dev/hda4, with logical disk drives extending from
|
|
5 to 16. Thus, in the above example, hda5 to hda9 are the 5
|
|
logical disk drives existing on the extended partition. In fact,
|
|
recently on one of my friends' computers, I partitioned the hard
|
|
disk and installed Microsoft Windows Millennium (ME), Microsoft
|
|
Windows XP Professional and Red Hat Linux 8.0 (Psyche). Linux
|
|
fdisk, when executed, shows exactly the same partition table as
|
|
given above. He uses one IDE hard disk and has 1 primary
|
|
partition labeled as C: drive under Windows which contains WinXP
|
|
(FAT32 filesystem), with hda5 and hda6 labeled as D: and E:
|
|
drives under Windows (where hda5 actually contains Windows ME
|
|
edition (FAT32 filesystem)) with hda7, hda8 and hda9 used for
|
|
Linux. hda7 is the /boot partition, hda8 is the
|
|
<quote>root</quote> <quote>/</quote> filesystem and hda9 is the
|
|
<quote>swap</quote> filesystem. This was a simple example of how
|
|
the partition table looks like in Linux. If you have quite a few
|
|
partitions and plan to install a few operating systems, be ready
|
|
to see a more complex partition table when you execute a command
|
|
like <quote>/sbin/fdisk /dev/hda</quote> (with /dev/hda being
|
|
the Primary Master on your computer).</para>
|
|
<para>For example, when I executed the Linux fdisk on my
|
|
friend's computer, it gave an output similar to this:
|
|
|
|
<screen>
|
|
Command (m for help): p
|
|
|
|
Disk /dev/hda: 255 heads, 63 sectors, 5005 cylinders
|
|
Units = cylinders of 16065 * 512 bytes
|
|
Device Boot Start End Blocks Id System
|
|
/dev/hdc1 * 1 1275 10241406 c Win95 FAT32 (LBA)
|
|
/dev/hdc2 1276 5005 29961225 f Win95 Ext'd (LBA)
|
|
/dev/hdc5 1276 2550 10241406 b Win95 FAT32
|
|
/dev/hdc6 2551 3825 10241406 b Win95 FAT32
|
|
/dev/hdc7 3826 3831 48163+ 83 Linux
|
|
/dev/hdc8 3832 4213 3068383+ 83 Linux
|
|
/dev/hdc9 4214 4246 265041 82 Linux swap
|
|
</screen></para>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
|
|
<title>Filesystems in Linux</title>
|
|
|
|
<para>After our brief discussion on the drive and partition
|
|
labeling schemes in Linux, let us talk a bit about the Linux
|
|
filesystem.</para>
|
|
|
|
<para>Microsoft Windows operating systems use either FAT16,
|
|
FAT32, NTFS 4.0 or the most recently released NTFS 5.0
|
|
filesystems.</para>
|
|
|
|
<para>The GNU/Linux Kernel originally used the <quote>First
|
|
Extended filesystem</quote>, commonly denoted as ext or
|
|
extfs. It has now been superceded by ext2 and ext3
|
|
filesystems. Kernel 2.4, currently uses Linux's native
|
|
<quote>Third Extended filesystem,</quote> commonly denoted as
|
|
<quote>ext3</quote> or <quote>ext3fs</quote>. Though Kernels
|
|
2.2.x and 2.4.x support ext2fs and ext3fs, the latest stable
|
|
release, ie. Kernel 2.4.20, uses the <quote>ext3fs</quote> as
|
|
the default filesystem. ext3fs is an extension to ext2fs
|
|
functionality as is NTFS 5.0 to NTFS 4.0 in Windows. The
|
|
significant difference between the <quote>ext2fs</quote> and
|
|
<quote>ext3fs</quote> filesystems is that ext3fs is a
|
|
<quote>journaling filesystem</quote> while ext2fs is not. We
|
|
will discuss these filesystems in detail later when we compare
|
|
them with the Unix Filesystem (UFS) which is the native
|
|
filesystem under FreeBSD.</para>
|
|
|
|
<para>The <quote>Linux Programmer's Manual</quote> has a
|
|
section called <quote>FILESYSTEMS(5)</quote>. It explains
|
|
which filesystem types Linux supports. One can access all the
|
|
details by simply typing in <quote>man fs</quote> at the
|
|
command prompt on a Linux workstation. It includes the
|
|
following filesystems: minix, ext, ext2, ext3, xia, msdos,
|
|
umsdos, vfat, proc, nfs, iso9660, hpfs, sysv, smb,
|
|
ncpfs. When, as is customary, the filesystem is mounted on
|
|
/proc, and you can find in the file /proc/filesystems which
|
|
filesystems your kernel currently supports. If you need a
|
|
currently unsupported one, either you can insert the
|
|
corresponding module or just recompile the kernel to create a
|
|
new one. Then, just install the new custom kernel to access
|
|
the filesystem of your choice. In order to use a filesystem,
|
|
you generally have to mount it.</para>
|
|
|
|
<para>Below is a short description of a few of the available
|
|
filesystems. minix is the filesystem used in the Minix
|
|
operating system, the first to run under Linux. It has a
|
|
number of shortcomings: a 64MB partition size limit, short
|
|
filenames, a single time stamp, etc. It remains useful for
|
|
floppies and RAM disks. The ext is an elaborate extension of
|
|
the minix filesystem. It has been completely superseded by the
|
|
second version of the extended filesystem (ext2) and has been
|
|
removed from the kernel (in 2.1.21). The ext2fs is the high
|
|
performance disk filesystem used by Linux for fixed disks as
|
|
well as removable media. The second extended filesystem was
|
|
designed as an extension of the extended file system
|
|
(ext). ext2 offers the best performance (in terms of speed and
|
|
CPU usage) of the filesystems supported under Linux. The ext3
|
|
is a journaling version of the ext2 filesystem. It is easy to
|
|
switch back and forth between ext2 and ext3. The xia was
|
|
designed and implemented to be a stable, safe filesystem by
|
|
extending the Minix filesystem code. It provides the basic
|
|
most requested features without undue complexity. The xia
|
|
filesystem is no longer actively developed or maintained. It
|
|
was removed from the kernel in 2.1.21. msdos is the filesystem
|
|
used by DOS, Windows and some OS/2 computers. msdos filenames
|
|
can be no longer than 8 characters, followed by a period and
|
|
an optional 3 character extension. umsdos is an extended DOS
|
|
filesystem used by Linux. It adds capability for long
|
|
filenames, UID/GID, POSIX permissions, and special files
|
|
(devices, named pipes, etc.) under the DOS filesystem,
|
|
without sacrificing compatibility with DOS.</para>
|
|
|
|
<para>vfat is an extended DOS filesystem used by Microsoft
|
|
Windows 95 and Windows NT. VFAT adds the capability to use
|
|
long filenames under the MSDOS filesystem. The proc filesystem
|
|
is not a general filesystem. It is a
|
|
<quote>pseudo-filesystem</quote> which is used as an interface
|
|
to kernel data structures rather than reading and interpreting
|
|
/dev/kmem. In particular, its files do not take disk
|
|
space. iso9660 is a CD-ROM filesystem type conforming to the
|
|
ISO 9660 standard. Linux supports High Sierra, the precursor
|
|
to the ISO 9660 standard for CD-ROM filesystems. It is
|
|
automatically recognized within the iso9660 filesystem support
|
|
under Linux. Linux also supports the System Use Sharing
|
|
Protocol records specified by the Rock Ridge Interchange
|
|
Protocol. They are used to further describe the files in the
|
|
iso9660 filesystem to a UNIX host, and provide information
|
|
such as long filenames, UID/GID, POSIX permissions, and
|
|
devices. It is automatically recognized within the iso9660
|
|
filesystem support under Linux. The hpf is the High
|
|
Performance Filesystem, used in OS/2. This filesystem is
|
|
read-only under Linux due to the lack of available
|
|
documentation. sysv is an implementation of the System
|
|
V/Coherent filesystem for Linux. It implements all of Xenix
|
|
FS, System V/386 FS, and Coherent FS. nfs is the network
|
|
filesystem used to access disks located on remote
|
|
computers. smb is a network filesystem that supports the
|
|
Server Message Block (SMB) protocol, used by Windows for
|
|
Workgroups, Windows NT, and Lan Manager. To use smbfs, you
|
|
need a special mount program, which can be found in the ksmbfs
|
|
package. The ncpfs is a Network filesystem that supports the
|
|
NCP protocol, used by Novell NetWare.</para>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
|
|
<title>Summary of Installation Steps</title>
|
|
|
|
<para>Now that we have covered quite a lot on partitioning
|
|
schemes and filesystems under Linux, it is time to move on to
|
|
the actual Linux installation. For a complete step by step
|
|
coverage of Red Hat Linux installation, consult the
|
|
distribution specific installation guides on Red Hat's
|
|
official website. All types of installations with appropriate
|
|
screenshots (including additional tips and tricks) are
|
|
provided. Here, I will only mention the significant steps for
|
|
the installation. Use these steps to install Red Hat Linux on
|
|
your computer:
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<para>1. Place your Red Hat Linux 8.0 bootable CD-ROM on
|
|
your CD-ROM drive and then restart the computer. I assume
|
|
here that the reader has a Red Hat Linux 8.0 distribution
|
|
release CD. If you have older distributions, that is no
|
|
problem at all. You can always use them. The basic
|
|
installation steps are the same for all the distribution
|
|
releases. Make sure that your computer is bootable from
|
|
the CD-ROM in the BIOS setup. If you cannot boot from the
|
|
CD-ROM drive, alternative boot methods are also
|
|
available. Refer to the Red Hat Installation Guides for
|
|
more information on making <quote>local</quote>,
|
|
<quote>network</quote> and <quote>PCMCIA</quote> boot
|
|
disks.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>2. After a short delay, the Red Hat Linux 8.0 screen
|
|
containing the boot: prompt should appear. The screen
|
|
contains information on a variety of boot options. Either
|
|
press <quote>Enter</quote> for entering a GUI-based
|
|
installation setup or type <quote>linux text</quote> at
|
|
the boot: prompt for entering a ncurses based text based
|
|
installation type. I prefer text based
|
|
installations. Watch the boot messages to see whether the
|
|
Linux kernel detects your hardware. If it does not
|
|
properly detect your hardware, you may need to restart the
|
|
installation in expert mode. Enter the
|
|
<quote>expert</quote> mode using the following boot
|
|
command: boot: linux expert and press enter.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>3. Proceed as usual configuring language, keyboard
|
|
and the mouse. Then appears the <quote>Welcome to Red Hat
|
|
Linux</quote> screen. Proceed forward until you reach the
|
|
<quote>Install</quote> or <quote>Upgrade</quote>
|
|
screen. Since we are installing Linux for the very first
|
|
time, we select <quote>Install</quote>. The question that
|
|
arises here is which installation type to consider and
|
|
why? Red Hat Linux 8.0 provides 4 options: Workstation,
|
|
Server, Laptop and Custom. We do not consider the
|
|
Workstation, Server and Laptop setups owing to obvious
|
|
reasons, because they do not provide the user with custom
|
|
features and functionality. Thus, we proceed with the
|
|
<quote>Custom</quote> installation.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>4. Proceed as usual and at the partitioning screen,
|
|
you will be asked to choose between <quote>fdisk</quote>
|
|
and <quote>disk druid</quote>. For Linux experts, fdisk is
|
|
the obvious tool of choice. Disk druid is Red Hat's
|
|
graphical tool for viewing, editing, adding and deleting
|
|
partitions on hard disk drives. Choose as you wish. I
|
|
chose <quote>disk druid</quote> for this guide. At the
|
|
next screen, you will be shown the entire hard disk
|
|
geometry. Make an effort to understand what is being shown
|
|
on the screen and try to analyze it with the information
|
|
of this chapter above where I have discussed partitioning
|
|
in detail. Try mapping the partitions shown to Windows
|
|
terminology.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>5. On my system, Disk Druid represents a /dev/hda as
|
|
/dev/hda1, /dev/hda2 and a /dev/hda3 partitions
|
|
initially. /dev/hda1 is the FAT32 partition which (on my
|
|
computer) contains Microsoft Windows 98 (SE), /dev/hda2 is
|
|
the FreeBSD (or OpenBSD or NetBSD) slice and /dev/hda3 is
|
|
the Linux partition. Readers must note: the /dev/hda3
|
|
partition is the slice I created in FreeBSD disk label
|
|
editor by assigning 131 to the underlying
|
|
filesystem.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>6. I keep /dev/hda1 and /dev/hda2 as it is, and delete
|
|
/dev/hda3. As a result, I get some free space. Then I add
|
|
a /boot of about 100MB as ext2fs, then a swap of about
|
|
128MB and finally a root (<quote>/</quote>) by assigning
|
|
to it the remaining space on the drive. That is all that
|
|
needs to be done. Thus, we have something like this:
|
|
<screen>
|
|
Command (m for help): p
|
|
|
|
Disk /dev/hda: 255 heads, 63 sectors, 2491 cylinders
|
|
Units = cylinders of 16065 * 512 bytes
|
|
Device Boot Start End Blocks Id System
|
|
/dev/hda1 1 125 1004031 b Win95 FAT32
|
|
/dev/hda2 * 126 1399 10233405 a5 FreeBSD
|
|
/dev/hda3 1400 1412 104422+ 83 Linux
|
|
/dev/hda4 1413 2491 8667067+ f Win95 Ext'd (LBA)
|
|
/dev/hda5 1413 1428 128488+ 82 Linux swap
|
|
/dev/hda6 1429 2491 8538516 83 Linux
|
|
</screen>
|
|
|
|
As shown above, /dev/hda3 is mounted as /boot, /dev/hda5
|
|
is the Linux swap filesystem and /dev/hda6 is mounted as
|
|
/.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>7. Proceed with the installation until you reach the
|
|
screen prompting you to choose the boot loader. This is a
|
|
very important step in this installation, and in fact the
|
|
most important. A boot loader is literally the first
|
|
software program that runs when you switch on your
|
|
computer. The Master Boot Record (MBR) is a special area on
|
|
your hard drive that is automatically loaded by your
|
|
computer's BIOS. It is the earliest point at which the boot
|
|
loader (whether LILO or GRUB) can take control of the entire
|
|
boot process. GRUB, when run, reads instructions passed to
|
|
it from its own configuration file (for example, the
|
|
configuration file for the Linux Loader (LILO) is
|
|
/etc/lilo.conf, and for GRUB /boot/grub/grub.conf), passes
|
|
significant instructions to the BIOS, and then loads the
|
|
appropriate operating system boot files into the computer's
|
|
memory. This, in turn enables the correct filesystems to be
|
|
mounted at the correct mount points, which in turn then
|
|
prepares the computer for later use. Thus, the boot loader
|
|
is vital for proper booting of the operating system.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>8. You can use either of the 2 available boot loaders
|
|
in Linux. Linux Loader (LILO) or the GNU Grand Unified Boot
|
|
loader (GRUB). The reader is free to choose whichever he/she
|
|
likes. I prefer GNU GRUB for the reasons outlined in the
|
|
FAQ. Readers must note that I am omitting the design,
|
|
implementation and configuration details of GRUB in this
|
|
guide as they exist beyond the scope of this guide. A lot of
|
|
information is available out there on the Internet on these
|
|
and other <quote>free</quote> as well as
|
|
<quote>proprietary</quote> boot loaders. Check them out if
|
|
it is required.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>GRUB is a very powerful x86-based boot loader which
|
|
can be used to boot a number of operating systems. GRUB
|
|
supports directly all GNU/Linux distributions, FreeBSD,
|
|
NetBSD, OpenBSD, Sun Solaris and others. It supports booting
|
|
other proprietary operating systems as well using the
|
|
<quote>chain loading</quote> technology. Whether you have
|
|
Microsoft Windows 95/98 (SE)/Millennium Edition/NT/2K/XP as
|
|
the initially installed operating system on your computer
|
|
and then FreeBSD 5.1-RELEASE or OpenBSD 3.2-RELEASE or
|
|
NetBSD 1.6.1, simply lay back and relax because GRUB is
|
|
there with all its power and dynamic functionality to take
|
|
care of things. If you have Microsoft Windows 95/98
|
|
(SE)/Millennium Edition which do not have boot loaders by
|
|
default (unlike Microsoft Windows NT/2K/XP), then <quote>Add
|
|
GRUB to the MBR</quote>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>9. After startup, you will receive the GRUB screen
|
|
prompting you to select the OS. If you have Microsoft
|
|
Windows NT/2K/XP, which uses by default the <quote>NT Boot
|
|
loader</quote> for booting the operating system software,
|
|
then go ahead and <quote>Add GRUB to the MBR</quote>. Do not
|
|
panic! It would cause no problems at all. In this case,
|
|
after successful startup, you will receive the GRUB screen
|
|
prompting you to select the OS. You will have 2 entries in
|
|
the list, for example, I have <quote>Windows</quote> and
|
|
<quote>Linux</quote>. Selecting <quote>Linux</quote> and
|
|
pressing enter loads the Red Hat Linux boot files to the
|
|
computer's memory and the computer bootstraps itself into
|
|
Linux. Whereas, on the other hand, selecting
|
|
<quote>Windows</quote> and pressing enter utilizes the
|
|
<quote>chain loading</quote> mechanism, and invokes the
|
|
<quote>FreeBSD boot loader</quote>. The FreeBSD boot loader
|
|
then loads Microsoft Windows 98 (SE) into the computer's
|
|
memory.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>10. That explains pretty much everything. After adding
|
|
GRUB to your Master Boot Record (MBR), proceed with the
|
|
installation as usual. The reader must note that he/she may
|
|
install GRUB in one of two places, either the MBR or in the
|
|
boot sector of the active partition. If you plan to use
|
|
another boot loader on your system (for example, OS/2's Boot
|
|
Manager, or Windows NT's NT Boot loader, or any commercial
|
|
boot loaders like System Commander and Partition Magic), add
|
|
GRUB to the <quote>first sector of your root
|
|
partition</quote> and then configure the other boot loader
|
|
to start GRUB (which will then boot Red Hat Linux). </para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>11. Once you have created the partitions and installed
|
|
GRUB in the MBR, all that is left is to proceed with the
|
|
installation as usual, selecting packages for installation
|
|
as you wish (you can install them later as well using the
|
|
RPM command from the command line) and so on. Finally,
|
|
finish with the Red Hat Linux installation. When prompted to
|
|
create a <quote>bootdisk</quote>, make sure you create
|
|
one. It comes handy during system crashes. You can always
|
|
create a <quote>setup bootdisk</quote> later using the
|
|
/sbin/mkbootdisk command from the command line interface
|
|
(CLI) mode.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>12. Depending on the number of packages that you had
|
|
chosen earlier as well as your computer's resources, it will
|
|
take some time for the installation to complete. Sit back
|
|
and relax while the packages are being installed. Or run to
|
|
your nearby Burger King to grab a burger or two! For the
|
|
experts out there, after reading through all this, if you do
|
|
feel that something was wrongly stated/explained, make sure
|
|
you drop me a line or two. For the absolute newbies, I have
|
|
a simple advice: Practice, practice and practice till you
|
|
get it right. There is no shortcut to success.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>13. After all packages have been successfully
|
|
installed and configured, and your Red Hat Linux
|
|
Installation is complete, the Linux CD-ROM would be ejected
|
|
from the CD-ROM drive, and the computer would automatically
|
|
reboot. As mentioned above, after successful startup, you
|
|
will receive the GRUB screen prompting you to select the
|
|
operating system for booting. Depending on your
|
|
configuration during the installation, you will have 2
|
|
entries in the list, for example, I have
|
|
<quote>Windows</quote> and <quote>Linux</quote>. Check
|
|
whether both operating systems are working properly or not
|
|
by booting into each of them one after another.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>14. If everything works fine, well, it is time for
|
|
rejoicing. If in case, something goes wrong somewhere, then
|
|
depending on what exactly went wrong and where, many things
|
|
could be done. The reader should note everything in case
|
|
something goes wrong somewhere. Write down on paper a short
|
|
report if required. This helps a lot in later diagnosis. Now
|
|
it is time for configuring FreeBSD within the Red Hat Linux
|
|
environment which would enable GRUB to boot FreeBSD too via
|
|
the <quote>chain loading</quote> mechanism.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>15. Log into Red Hat Linux, and open the
|
|
/boot/grub/grub.conf file using the vi editor. Be very
|
|
careful while editing it. Since GRUB reads the
|
|
/boot/grub/grub.conf file while bootstrapping the computer,
|
|
typos inside the /boot/grub/grub.conf file can result in
|
|
disasters. Readers must note: GRUB does not have any utility
|
|
like LILO uses the /sbin/lilo -v -v command from the command
|
|
prompt for checking the /etc/lilo.conf, so be extra careful
|
|
while using GRUB to boot operating systems. Now add an entry
|
|
for FreeBSD before the <quote>Windows</quote> entry. Your
|
|
/boot/grub/grub.conf file after editing should resemble
|
|
this:
|
|
<screen>
|
|
default=0
|
|
timeout=150
|
|
splashimage=(hd0,2)/grub/splash.xpm.gz
|
|
|
|
title Linux (2.4.18-3)
|
|
root (hd0,2)
|
|
kernel /vmlinuz-2.4.18-3 ro root=/dev/hda6
|
|
|
|
title FreeBSD
|
|
root (hd0,a)
|
|
kernel /boot/loader ro root=/dev/hda2
|
|
|
|
title Windows
|
|
rootnoverify (hd0,0)
|
|
chainloader +1
|
|
</screen></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>As shown, the first block is for booting Linux, the
|
|
second for FreeBSD and the last one is for booting Windows
|
|
98 (SE). Readers must note the entry following the word
|
|
<quote>root</quote> in the 2nd line of the first and second
|
|
blocks. It defines the exact location on the computer's hard
|
|
disk where the boot files required for booting the operating
|
|
systems are located. On the Linux system, we can see that
|
|
(hd0,2) refers to the 3rd partition which is /dev/hda3. As
|
|
we already know, /dev/hda3 refers to the /boot partition
|
|
which contains the boot files. Similarly, on the FreeBSD
|
|
system, we can see that (hd0,a) refers to the /dev/ad0s2a
|
|
which refers to the root <quote>/</quote> filesystem and
|
|
which on the Linux system is mapped into /dev/hda2. The
|
|
rootnoverify mentioned for the Windows block tells the Linux
|
|
Kernel not to mount the /dev/hda1 partition since it is not
|
|
a Linux filesystem.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>17. Now when you reboot, you have a multi-boot system
|
|
enabling you to boot into any one of three operating
|
|
systems: Windows (98 (SE) on my computer), FreeBSD
|
|
5.1-RELEASE or OpenBSD 3.2-RELEASE or NetBSD 1.6.1, and Red
|
|
Hat Linux 8.0. That is all that needs to be done for
|
|
preparing a fully featured multi-boot system. If you would
|
|
like to know how to mount different filesystems on various
|
|
operating systems, proceed to the next chapter, Chapter 7:
|
|
Mounting Filesystems.</para>
|
|
</listitem>
|
|
|
|
</itemizedlist></para>
|
|
|
|
</section>
|
|
|
|
</chapter>
|
|
|
|
<chapter>
|
|
|
|
<title>Mounting Filesystems</title>
|
|
|
|
<para>Your computer now has a Microsoft Windows operating system,
|
|
either FreeBSD 5.1-RELEASE or OpenBSD 3.2-RELEASE or NetBSD 1.6.1,
|
|
and Red Hat Linux 8.0 installed and co-existing peacefully
|
|
together. Is that all? Is that enough? I am sure, no! One of the
|
|
most important reasons that I have Microsoft Windows + FreeBSD
|
|
4.8-RELEASE + Red Hat Linux 8.0 all running on my computer (on
|
|
which I prepared a part of this guide you are currently reading)
|
|
is because I spend most of my time doing things on FreeBSD and on
|
|
Linux, but I need access to Windows owing to my projects at the
|
|
university. So I need to access data stored on my Windows
|
|
partition from time to time. Every time I am working on FreeBSD
|
|
and I need to access some data on my Windows partition, I cannot
|
|
afford to reboot my computer, log into Windows, copy the files on
|
|
a floppy and then logout, reboot once again, log into FreeBSD, and
|
|
then copy the contents of the floppy on to my /home/ghosh
|
|
directory on the FreeBSD system. A process like this is neither
|
|
cute nor logical. Thanks to the <quote>mount</quote> command on
|
|
UNIX systems, I do not have to go through this ugly process every
|
|
time I need access to some data on my Windows partition.</para>
|
|
<para>The mount command is one of the most important commands
|
|
available on a UNIX system. It allows the user of a UNIX system to
|
|
mount filesystems (which may or may not be physically located on
|
|
the same computer). That is, in other words, the mount command
|
|
allows you to mount both a local filesystem (one that is present
|
|
physically on the same computer) or a remote filesystem using the
|
|
appropriate path for accessing the remote node. The mount command
|
|
first appeared in Version 1 AT&T UNIX. See the manual page for
|
|
the mount command on your FreeBSD or OpenBSD or Linux system for
|
|
an in depth analysis of all possible options that can be passed to
|
|
the mount command.</para>
|
|
|
|
<para>Though it is a very powerful command on a Unix or Unix-like
|
|
system, the mount command itself is very simple to use. The syntax
|
|
for the mount command is: mount -t filesystem device_name
|
|
mount_point. It means you are instructing the mount command to
|
|
consider the device file named device_name which is of the
|
|
filesystem type specified by the switch -t filesystem, and then
|
|
graft it onto the existing FreeBSD/OpenBSD/NetBSD/Linux system at
|
|
the directory named as the mount point. As cute as that!</para>
|
|
|
|
<section>
|
|
|
|
<title>Mounting Filesystems In FreeBSD</title>
|
|
|
|
<para>For mounting Linux Second Extended filesystem (ext2fs) on
|
|
a FreeBSD system, I have to build and install a custom FreeBSD
|
|
Kernel. Building and installing a custom kernel in FreeBSD is
|
|
easy. I log in as <quote>root</quote> and execute these steps to
|
|
build one:</para>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<para>I execute this from the command line:
|
|
<screen>cd /usr/src/sys/i386/conf</screen> If there is not a
|
|
/usr/src/sys directory on your system, the kernel source has
|
|
not been installed. The easiest way to do this is by running
|
|
/stand/sysinstall as root, choosing Configure, then
|
|
Distributions, then src, and then sys.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>2. I create a copy of the original Kernel
|
|
configuration file provided there as a sample by executing:
|
|
cp GENERIC GHOSH. Here, I have named the would-be kernel
|
|
GHOSH. Feel free to name it otherwise.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>3. I open the GHOSH text file using ee or vi
|
|
editor. Though the general format of the configuration file
|
|
is quite simple, full explanation of all the possible kernel
|
|
options is beyond the scope of this guide. Refer to the
|
|
FreeBSD Handbook for more details. Add the following line:
|
|
'options EXT2FS' which provides support for identifying
|
|
ext2fs Linux native filesystem. Tinker with the other
|
|
options if you feel like or simply leave them alone.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>4. Save it and exit. When done, I type the following
|
|
to compile and install the new kernel: /usr/sbin/config
|
|
GHOSH.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>5. Then execute:<screen>cd ../../compile/GHOSH</screen>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Execute:<screen>make depend</screen> followed by
|
|
<screen>make</screen> and finally finish off by executing
|
|
<screen>make install</screen></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>7. The new kernel will be copied to the root directory
|
|
as /kernel and the old kernel will be moved to
|
|
/kernel.old. Reboot your system to use the new
|
|
kernel. </para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
<para>Once done, I try mounting a Linux partition using the
|
|
command: mount -t ext2fs /dev/ad0s3 /mnt/linux. Assuming
|
|
/dev/ad0s3 is the FreeBSD slice representing a Linux filesystem
|
|
and /mnt/linux directory exists, the filesystem should mount at
|
|
the specified directory acting as the mount point.</para>
|
|
|
|
<para>For mounting MSDOS partitions as well as Windows formatted
|
|
FAT16 and/or FAT32 filesystems, I execute the following command:
|
|
mount -t msdos /dev/ad0s1 /mnt/windows where, /dev/ad0s1 is the
|
|
FreeBSD slice that represents the Windows 98(SE) partition on my
|
|
computer and /mnt/windows directory exists. For unmounting, I
|
|
execute: umount /mnt/windows simply (note: no "n" in
|
|
umount). For mounting MSDOS based floppies, I execute: mount -t
|
|
msdos /dev/fd0 /mnt/floppy. And for unmounting, I execute:
|
|
umount /mnt/floppy. For people who have NTFS filesystem, they
|
|
can try mounting using the command: mount -t ntfs /dev/fd0
|
|
/mnt/floppy and unmount using umount /mnt/floppy. Readers must
|
|
note: there is limited writing support for NTFS
|
|
filesystems!</para>
|
|
|
|
</section>
|
|
|
|
<section>
|
|
|
|
<title>Mounting Filesystems In Linux</title>
|
|
|
|
<para>Mounting a FreeBSD filesystem, ie. UFS (Unix FileSystem)
|
|
under Linux requires building and installing a custom Linux
|
|
kernel. Building a Linux kernel is an easy job, and you may
|
|
refer to any documentation you have access to. Here, I am just
|
|
specifying the main steps. For building a custom Linux kernel, I
|
|
log in as root and execute the following steps:
|
|
|
|
<orderedlist>
|
|
|
|
<listitem>
|
|
<para>I execute: cd /usr/src/linux-2.4. If the
|
|
/usr/src/linux-2.4 directory does not exist on your system,
|
|
then the kernel-source package has not been installed. For
|
|
kernel compilation, you need to have kernel-source, make,
|
|
dev86, gcc and a few dependencies installed.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>I make a backup (copy) of the original Makefile by
|
|
executing: cp Makefile Makefile.bak. You can always refer to
|
|
the original Makefile by accessing it as
|
|
Makefile.bak.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>I open the Makefile using vi or any text
|
|
editor. You may change the EXTRAVERSION value to anything of
|
|
your choice. For example, on my system, the initial Linux
|
|
Kernel was 2.4.18-3. Since then I built numerous others as
|
|
2.4.18-3ghosh, 2.4.18-3smp, 2.4.18-3_dummy, 2.4.18-3bsd and
|
|
so on. Thus, the EXTRAVERSION code helps to distinguish
|
|
between a large number of available Linux Kernels on a
|
|
system.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>I save and exit the Makefile. Then, execute: make
|
|
mrproper. It cleans the compilation folders of any junk that
|
|
was created while compiling Linux kernels on the same system
|
|
earlier. Readers must note that all the commands executed
|
|
(including this one) should be executed from within the
|
|
/usr/src/linux-2.4 directory.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Execute make menuconfig. Readers may also use
|
|
xconfig if they have access to X11 or the X Window
|
|
System.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Once inside menuconfig, tinker with the options
|
|
available. Make sure you enter the <screen><quote>File
|
|
systems</quote></screen> section, then select the
|
|
<screen><quote>UFS file system support
|
|
(read-only)</quote></screen> and <screen><quote>UFS file
|
|
system write support (DANGEROUS)</quote></screen>
|
|
options. Thus, you should have something like this:
|
|
<screen><*> UFS file system support
|
|
(read-only)</screen> and <screen>[*] UFS file system write
|
|
support (DANGEROUS)</screen> The config Kernel-level options
|
|
are as: <screen>CONFIG_UFS_FS</screen> and
|
|
<screen>CONFIG_UFS_FS_WRITE</screen> for the read-only and
|
|
write support respectively. Also, enter the <quote>Partition
|
|
types</quote> section and select the <screen>[*] BSD
|
|
disklabel</screen> (FreeBSD partition tables) option
|
|
i.e. the CONFIG_BSD_DISKLABEL option. This allows you to
|
|
access and read the FreeBSD disk labels in the FreeBSD
|
|
slices.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>With these three options enabled, I save the
|
|
configuration file and exit. Now execute: <screen>make dep
|
|
&& clean</screen></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Execute make bzImage && modules for
|
|
creating the zipped (compressed) Linux kernel image file and
|
|
the corresponding modules.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Execute make modules_install for installing the
|
|
newly created modules into their own corresponding
|
|
directories.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Copy the bzImage file to the /boot directory. If
|
|
required, you can also create an initial RAM-disk file image
|
|
using the mkinitrd command.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Open the /boot/grub/grub.conf file using the vi
|
|
editor and make a corresponding entry into it. Save and
|
|
exit. Reboot to check whether the new Kernel is properly
|
|
working or not.</para>
|
|
</listitem>
|
|
|
|
</orderedlist></para>
|
|
|
|
<para>Once the newly built custom Linux kernel is installed, you
|
|
can start using it to mount UFS filesystems. Use this command:
|
|
mount -t ufs /dev/hda2 /mnt/bsd, assuming /dev/hda2 is the
|
|
FreeBSD slice and /mnt/bsd exists. Unmount using the command:
|
|
umount /mnt/bsd.</para>
|
|
|
|
<para>For mounting Windows 95/98/ME FAT32 filesystems on Linux,
|
|
use the command: <screen>mount -t vfat /dev/hda1
|
|
/mnt/windows</screen> The /mnt/windows directory must exist on
|
|
the system.</para>
|
|
|
|
<para>Unmount by executing: <screen>umount
|
|
/mnt/windows</screen></para>
|
|
|
|
<para> For readers who are using the NTFS filesystem, there's
|
|
bad news! They have to include the NTFS filesystem support in
|
|
the configuration file and build a custom Linux kernel. Readers
|
|
must note: NTFS writing support is DANGEROUS and limited!</para>
|
|
|
|
</section>
|
|
|
|
</chapter>
|
|
|
|
<chapter>
|
|
|
|
<title>Troubleshooting</title>
|
|
|
|
<para>Though FreeBSD, OpenBSD and GNU/Linux operating systems are
|
|
very fine pieces of software, when dual or multi-booting PCs with
|
|
all (or combinations) of them, one can run into problems. It may
|
|
range from easy to detect and troubleshoot to really weird
|
|
ones. Troubleshooting, as known (and appreciated) by all UNIX
|
|
veterans is not an exact art. In this Chapter, I have listed some
|
|
problems that I have had (and continue to face) while dual and
|
|
multi-booting systems with varying operating systems and
|
|
hardware.</para>
|
|
|
|
<para>Readers must note that depending on the particular hardware
|
|
and distributions/releases used, they may experience slightly
|
|
different versions of the problems listed below. If you encounter
|
|
a new problem altogether or can contribute to this guide by
|
|
providing a better solution to one of the problems listed below,
|
|
make sure you drop me a line at:
|
|
subhasish_ghosh([A][T])linuxwaves[DOT]com.</para>
|
|
|
|
<para>My experience with multi-booting systems saw some weird
|
|
kinds of failure and often erratic behavior, but mostly from
|
|
Linux's fdisk and installation procedure. I often made notes of
|
|
them for diagnosing and troubleshooting later. As I can conclude,
|
|
amongst Linux distributions (which includes Red Hat, Slackware,
|
|
SuSE and Mandrake), OpenBSD and FreeBSD releases, FreeBSD's fdisk,
|
|
disklabel and overall installation procedure (/stand/sysinstall)
|
|
is the best of them all with no errors and abrupt
|
|
crashes. Initially, I thought that there must be some exact way of
|
|
installing all these operating systems or an exact order that
|
|
needs to be followed, but with passing years, I have learned the
|
|
truth. Assuming the hardware support is fine, installation CD-ROMs
|
|
okay, the erratic behavior of installation programs is due to
|
|
unerased data from previous installs. Before committing yourself
|
|
to creating a multi-booting system, make sure you start
|
|
installation on a freshly formatted hard disk. Read on to follow
|
|
the details of the procedure! Some of the common questions from
|
|
readers include: </para>
|
|
|
|
<qandaset>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>I created an extended partition with logical disk
|
|
drives or sub-partitions within it. When I installed
|
|
FreeBSD, it completely ignored the inner partitions within
|
|
that partition. Is that normal?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Yes, it is normal. FreeBSD operating system software
|
|
can only detect and represent primary hard disk partitions
|
|
which it calls <quote>slices</quote>. An extended partition,
|
|
though it would be represented in FreeBSD fdisk, will not
|
|
represent the constituents of the container.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>I installed FreeBSD and OpenBSD operating systems on
|
|
my PC successfully. When I tried installing Red Hat Linux,
|
|
Linux's fdisk displayed a <quote>too many partitions</quote> error
|
|
message. What does it mean? What can I do now? OR, I deleted
|
|
earlier installs of FreeBSD, OpenBSD and/or NetBSD operating
|
|
systems on my PC. When I tried installing Red Hat Linux,
|
|
Linux's fdisk displayed a <quote>too many partitions</quote>
|
|
error message. What am I supposed to do now?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>As you can see, this error message flagged by Red Hat
|
|
Linux fdisk tool can occur under a variety of conditions. I
|
|
encountered both of them while multi-booting PCs. When this
|
|
message is displayed, Linux's fdisk cannot make any changes
|
|
to the disk. Personally speaking, I strongly feel that this
|
|
message: <quote>too many partitions (16, maximum is
|
|
8)</quote> usually appears whenever you have unerased data
|
|
from previous installs of FreeBSD and/or OpenBSD and/or
|
|
NetBSD operating systems. This usually happens whenever
|
|
those data partitions where deleted, but the Master
|
|
Partition Table (MPT) contained in the Master Boot Record
|
|
(MBR) was not overwritten. Since this problem does not seem
|
|
to occur on clean hard disks, I conclude that it only
|
|
appears if you have old BSD disk label data on your hard
|
|
disk.</para>
|
|
|
|
<para>Once this error gets flagged, there is nothing much
|
|
you can do about it because whatever you do or whatever you
|
|
type in, nothing gets written to disk. If it happens that
|
|
you are performing a clean install and you get this error,
|
|
do a <quote>fdisk /mbr</quote> from the MS-DOS prompt, and
|
|
try installing Red Hat Linux once again. If it happens that
|
|
you have FreeBSD/OpenBSD/NetBSD installed on your system
|
|
already, then (sorry dude!) erase all earlier installs, wipe
|
|
the disk clean using the <quote>dd</quote> utility, or
|
|
whatever you have at your disposal, and start installing
|
|
everything all over again.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>I was performing a new install of Red Hat Linux on my
|
|
PC which earlier had multiple installs of FreeBSD and/or
|
|
OpenBSD and/or NetBSD. I got a <quote>too many
|
|
partitions</quote> error from the Red Hat Linux fdisk. Can't
|
|
I perform a full install of Red Hat Linux on my hard disk to
|
|
remove the BSD disklabel data on my hard disk?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>No, you cannot. Once this error gets flagged, even
|
|
fdisk's 'o' option which normally clears all partition
|
|
information would not function. Even if you are successful
|
|
in doing a complete Linux only <quote>full disk</quote>
|
|
install using the Disk Druid disk-partitioning tool, this
|
|
would not erase the old and already exiting BSD disklabel
|
|
information. Sooner or later, you would land in
|
|
trouble.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>I deleted all exiting partitions containing data on my
|
|
PC. But I want to be sure and wipe my disk clean with some
|
|
<quote>professional</quote> disk wiping utility. Which ones
|
|
can I use? How would I use them?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Third-party partition managers and security software
|
|
which are specifically designed to erase disks can be used
|
|
for this purpose. Personally, I do not have any experience
|
|
using any third-party tools for wiping hard disks because I
|
|
prefer using the UNIX-based dd utility.</para>
|
|
|
|
<para>UNIX's dd can also be used to wipe the disk clean
|
|
absolutely. It writes zeroes to the disk surface which is
|
|
accessible from the FreeBSD, OpenBSD and Linux install
|
|
CDs. This is easily accessed from the OpenBSD install CD by
|
|
selecting the shell option rather than install or using
|
|
[Ctrl+C] to exit the OpenBSD install at any time. The
|
|
OpenBSD command to clear the first IDE hard disk is
|
|
<quote>#dd if=/dev/zero of=/dev/wd0c</quote>. Red Hat
|
|
Linux's install CD's rescue mode is a single user
|
|
prompt. You do not have to mount the system as you are going
|
|
to erase it, not <quote>rescue</quote> it. Once you get the
|
|
<quote>#</quote> prompt <quote>dd if=/dev/zero
|
|
of=/dev/hda</quote> will clear the first disk. FreeBSD's
|
|
<quote>Fixit</quote> option from the main install menu
|
|
provides access to a single user prompt; the second of the
|
|
four install CDs is needed. The command <quote>dd
|
|
if=/dev/zero of=/dev/ad0</quote> appears to clear the first
|
|
disk. Once this done, you can rest assured that your hard
|
|
disk is wiped clean. </para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>I wiped my hard disk clean using UNIX dd utility. I
|
|
then performed a fresh install of Red Hat Linux on my PC
|
|
followed by a FreeBSD install. I installed the FreeBSD boot
|
|
manager into the MBR. Now my system does not boot! What
|
|
happened? Where did I go wrong? OR I wiped my hard disk
|
|
clean using UNIX dd utility. I then performed a fresh
|
|
install of Red Hat Linux on my PC followed by an OpenBSD
|
|
install. I installed the OpenBSD boot manager into the
|
|
MBR. Now my system does not boot! What happened? Where did I
|
|
go wrong?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Nothing went wrong anywhere. But you made a small yet
|
|
fatal mistake at the very beginning. Always remember that
|
|
when you write zeroes to the hard disk surface using UNIX dd
|
|
utility, it includes the Master Boot Record (MBR) area
|
|
also. The MBR area which has address (0,0,1): Cylinder
|
|
address 0, Head address 0 and Sector address 1, that is, in
|
|
other words, the first 512 bytes of the hard disk which
|
|
contains the Master Partition Table (MPT) and the Initial
|
|
Program Load (IPL) code. When this area gets overwritten
|
|
with zeroes, different operating systems react and behave in
|
|
different ways. They react strangely because they expect the
|
|
standard IPL code, but instead they find none.</para>
|
|
|
|
<para>For example, Red Hat Linux fdisk reports the zeroed
|
|
partition table as invalid and can recreate an empty
|
|
one. The only IPL code it will install is LILO or GRUB and
|
|
not standard IPL code. OpenBSD simply shows an empty
|
|
partition table and it causes a lot of problems booting on
|
|
such hard disks. The only operating system that which is
|
|
reported to boot flawlessly from a completely zeroed disk
|
|
without error is FreeBSD. However, I did encounter a
|
|
situation in which (owing to strange reasons) FreeBSD
|
|
booting got locked and it simply would not boot.</para>
|
|
|
|
<para>To prevent all this from happening, just boot from a
|
|
Windows 9x or DOS v6 boot disk with FDISK.EXE on it. Once
|
|
the system is booted to an MS-DOS prompt, enter the
|
|
following: <quote>A:\>fdisk /mbr</quote>. It reinitializes
|
|
the MBR to its normal state and rewrites the MPT and creates
|
|
the standard IPL. Continue installing the operating systems
|
|
as usual.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>I installed Red Hat Linux on my PC, but while
|
|
installing LILO to the Master Boot Record (MBR), I got an
|
|
error that said the installation program could not write
|
|
this info to the MBR. What has happened?</para>
|
|
</question>
|
|
<answer>
|
|
<para>You have either locked the MBR of your hard disk on
|
|
your PC or a virus-scan software is enabled which prevents
|
|
writing to the MBR. You have to access your computer
|
|
system's BIOS and verify that the MBR is not write
|
|
protected. Depending on the system, you may already have
|
|
another boot loader in the MBR that conflicts with LILO. Try
|
|
performing a <quote>fdisk /mbr</quote> from the MS-DOS
|
|
command prompt and installing LILO.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>I was installing OpenBSD 3.2 on my PC the other
|
|
day. After creating partitions in OpenBSD fdisk, when I
|
|
saved the changes and exited from fdisk using the option
|
|
<quote>quit</quote>, it flagged some warning as: <quote>wd0:
|
|
no disk label</quote> in bright white on blue. What does
|
|
that mean? Did I do something wrong?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Absolutely no. You did nothing wrong. When you exit
|
|
the OpenBSD fdisk (saving the changes using the option
|
|
<quote>quit</quote>), and the OpenBSD slice is not at the
|
|
same offset as a previously installed OpenBSD system, fdisk
|
|
displays <quote>wd0: no disk label</quote> message. Though
|
|
it looks like a warning message or an apparent error, rather
|
|
it is an important message flagged by OpenBSD installation
|
|
procedure which assures you that though the data and OpenBSD
|
|
specific partitions have been created, the OpenBSD disklabel
|
|
has yet to be setup. The disklabel defines the layout of the
|
|
OpenBSD file systems on the OpenBSD partitions on the hard
|
|
disk.</para>
|
|
|
|
<para>In dual and multi-booting systems, this message is
|
|
almost a prerequisite for a correct OpenBSD installation. If
|
|
it so happens that after saving changes to OpenBSD fdisk,
|
|
you were not flagged this message, it means that OpenBSD
|
|
disklabel is reading and using information from a previous
|
|
install. This is a dangerous situation because if disklabel
|
|
is using old disklabel data and any partition information
|
|
has changed since its initial creation, disklabel's behavior
|
|
becomes erratic and you may encounter strange problems. To
|
|
prevent this from happening, make sure you wipe the disk
|
|
clean before performing a clean install of OpenBSD.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>I have FreeBSD 4.8-RELEASE and OpenBSD 3.2-RELEASE
|
|
operating systems installed on my PC. I tried installing Red
|
|
Hat Linux on the free hard disk space that I have, but each
|
|
time I tried using fdisk or Disk Druid disk-partitioning
|
|
tool it flagged strange error messages. Why is this
|
|
happening? What can I do to install Red Hat Linux on my
|
|
system?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>An honest answer to this question is: <quote>Nobody
|
|
knows why!</quote>. Over the years while performing dual and
|
|
multi-booting installations, I have noticed that Red Hat
|
|
Linux's fdisk and Disk Druid flags the most number of error
|
|
messages whenever OpenBSD operating system is in the
|
|
vicinity. OpenBSD fdisk handling of the partition table is
|
|
different than FreeBSD and Linux and does not conform with
|
|
the standards. This may be one of the many possible
|
|
explanations.</para>
|
|
|
|
<para>For example, let me describe a real situation. This
|
|
happened a couple of weeks back (at the time of writing this
|
|
Guide). I installed OpenBSD 3.2 followed by FreeBSD 4.8 on a
|
|
test PC. Then I tried installing Red Hat Linux 8.0 (Psyche
|
|
edition) on to the remaining hard disk space. Note, I do not
|
|
have any faulty hardware on my system, I meet all hardware
|
|
compatibility requirements, I wiped my disk clean before
|
|
starting the installs using the UNIX dd utility, the memory
|
|
(physical RAM) available on my system is correct and the Red
|
|
Hat Linux 8.0 installation CD-ROMs are okay. However, each
|
|
time I tried to install Red Hat onto my system (each time
|
|
using different boot time command line options), Linux's
|
|
fdisk started with several dialog boxes. The first said
|
|
<quote>Invalid partition on /tmp/hda</quote>. When I ignored
|
|
the error, a new dialog displayed <quote>Unable to align
|
|
partition properly. This probably means that another
|
|
partitioning tool generated an incorrect partition table,
|
|
because it didn't have the correct BIOS geometry. It is safe
|
|
to ignore, but ignoring may cause (fixable) problems with
|
|
some boot loaders</quote>. Fdisk then displayed the
|
|
<quote>too many partitions</quote> error. Error, error and
|
|
error was all I got! So, I switched to Red Hat Disk Druid to
|
|
try my luck!</para>
|
|
|
|
<para>Red Hat's Disk Druid displayed an <quote>Invalid
|
|
partition on /tmp/hda</quote> message and when ignored,
|
|
showed the OpenBSD partition as unused and /dev/hda as a
|
|
BSD/386 partition. I forced the <quote>auto
|
|
partitioning</quote> process but it crashed miserably after
|
|
some time with an <quote>unhandled exception</quote>. I did
|
|
not save the crash dump to a floppy because I had no plans
|
|
to send a bug report.</para>
|
|
|
|
<para>This happened with Red Hat Linux 8.0 (Psyche). I met
|
|
with the same problems with Red Hat Linux distributions 7.3
|
|
and 7.1. However, when I tried installing Red Hat Linux 7.0,
|
|
it installed painlessly without any shouts and cries. Could
|
|
someone out there (or more specifically, Red Hat Inc.)
|
|
please explain what exactly happened or what is so special
|
|
about Red Hat Linux 7.0 that the others do not have? I am
|
|
still trying to figure out this problem!</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>I read the Problem Report (PR) above. I have FreeBSD
|
|
and OpenBSD operating systems installed on my PC as well. I
|
|
would like to install a Linux distribution other than Red
|
|
Hat on my system. Which one do you suggest?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>If you have already read and understood the PR above,
|
|
it makes no sense at all which Linux distribution you try
|
|
installing on your system. I met with similar problems when
|
|
I tried installing Mandrake 9.0 as well as SuSE 7.0 on my
|
|
test computer. Mandrake Linux managed creating partitions,
|
|
formatting them, but it too crashed miserably while
|
|
installing packages. SuSE 7.0 crashed at the very beginning!
|
|
In the near future, I would like to test Red Hat Linux 9's
|
|
integrity on such systems.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>While installing FreeBSD 4.X-RELEASE on my computer
|
|
the FreeBSD fdisk (or disklabel) used an 'X' partition name
|
|
instead of a /dev/ad[0-3]s[1-4]n labeling scheme. Hey, what
|
|
happened? What does that 'X' represent?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>FreeBSD operating system software allows 7 partitions
|
|
per slice (c: is reserved for the whole hard disk
|
|
space). FreeBSD fdisk uses an 'X' partition instead of a
|
|
valid partition name such as <quote>/dev/ad0s1a</quote> if
|
|
you have created too many of them on your PC. If you have a
|
|
partition labeled as 'X', you must delete it immediately
|
|
without proceeding any further. If you do not delete this
|
|
partition, FreeBSD disklabel will let you proceed with the
|
|
entire installation, and then when you are finally done with
|
|
the full installation, when your system comes up, you will
|
|
encounter an error and would be dropped into single user
|
|
mode for maintenance. In other words, if you do not delete a
|
|
partition which is labeled as 'X', FreeBSD will not complete
|
|
the boot sequence. Instead it displays error messages and
|
|
drops into single user mode.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>I installed OpenBSD on my system which also has
|
|
Windows running on it. After rebooting, when I pressed F2 on
|
|
the screen, which reads <quote>BSD</quote>, OpenBSD would
|
|
not boot. I received a <quote>Bad Magic</quote> error
|
|
message. What does it mean? What can I do?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>It means that you have successfully installed OpenBSD
|
|
on the hard disk of your PC, but made a fatal mistake while
|
|
doing so. The boot files required for booting OpenBSD fall
|
|
outside the 1024th Cylinder on your hard disk. Check to see
|
|
whether the first operating system on your PC (whether
|
|
Windows, FreeBSD, NetBSD, Linux) is so configured that it
|
|
takes enough space to cross the 1024th cylinder limit. If
|
|
so, you cannot install OpenBSD on the same hard disk. You
|
|
may install successfully, but OpenBSD would not boot as it
|
|
requires boot files to lie within the first 1024 Cylinders
|
|
of the hard disk. </para>
|
|
|
|
<para>Technically speaking, bad magic means the following:
|
|
The magic number is a short integer, which identifies a file
|
|
as a load module and thereby enables the kernel to
|
|
distinguish run time characteristics about it. For example,
|
|
use of particular magic numbers on a PDP 11/70 informed the
|
|
kernel (of UNIX SVR2) that processes could use up to 128K
|
|
bytes of memory instead of the usual 64K bytes, but the
|
|
magic number still plays an important role in current paging
|
|
systems. The values of the magic numbers were the values of
|
|
PDP 11 jump instructions; original versions of the system
|
|
executed the instructions, and the program counter (pc)
|
|
register jumped to various locations depending on the size
|
|
of the header and of the type of executable file being
|
|
executed. OpenBSD operating system software, which is an
|
|
actual BSD-derivative uses the same style for booting. When
|
|
the jump instructions are missing, or in other words, they
|
|
lie beyond 1024 Cylinders on the hard disk, you receive
|
|
bogus values for jump instructions, thereby setting bogus
|
|
values for the magic number. Hence, you receive a <quote>bad
|
|
magic</quote> error and OpenBSD does not boot.</para>
|
|
<para>Try installing OpenBSD on another hard disk. Better,
|
|
try working with FreeBSD or NetBSD operating systems which
|
|
do not have the 1024th Cylinder inconsistency. Or, try
|
|
shrinking the already existing partition (caution: You may
|
|
loose invaluable data!). Best of all, get another PC, and
|
|
dump OpenBSD on it and work!</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
</qandaset>
|
|
|
|
</chapter>
|
|
|
|
<chapter>
|
|
|
|
<title>Conclusion</title>
|
|
|
|
<para>So folks, this brings us to the end of our journey of
|
|
creating a multi-boot system configured with three modern
|
|
operating systems. Assuming that you followed every step of this
|
|
guide and everything went well, allow me to congratulate you on
|
|
your success. If, in case something went wrong, make sure you read
|
|
documentation and manuals of the relative operating
|
|
system. Otherwise you can always refer to the Online manuals and
|
|
resources.</para>
|
|
|
|
<para>Make sure you browse these links:</para>
|
|
|
|
<para>* Distribution specific Official Red Hat Linux Installation
|
|
and Upgrade manuals</para>
|
|
|
|
<para>* Linux Kernel resources</para>
|
|
|
|
<para>* Linux Loader (LILO) and other boot loader questions</para>
|
|
|
|
<para>* Red Hat Linux Hardware questions</para>
|
|
|
|
<para>For referring to Online manuals dealing with
|
|
<quote>multi-booting</quote> specifically, I consider these some
|
|
of the <quote>very</quote> best:</para>
|
|
|
|
<para>* Installing and Using FreeBSD With Other Operating
|
|
Systems</para>
|
|
|
|
<para>* An excellent page explaining booting process and
|
|
methodologies.</para>
|
|
|
|
<para>Ultimately, though, the responsibility for any errors or
|
|
omissions you might find is mine and mine alone. Please address
|
|
your ire to me at subhasish_ghosh([A][T])linuxwaves[DOT]com. For those who
|
|
would like to send PRs (Problem Reports), make sure you send
|
|
enough valid and related information for me to work with. I cannot
|
|
help you if you just send mails with messages like <quote>This
|
|
screwed up!</quote>, <quote>That doesn't work!</quote> and so
|
|
on. Send detailed PRs. You may very well find your comments,
|
|
suggestions and corrections reflected in the next version of this
|
|
guide. Thank you!</para>
|
|
|
|
</chapter>
|
|
|
|
</book>
|