Ready for final Review

This commit is contained in:
dude 2004-06-09 04:35:29 +00:00
parent 1ae7afa3b0
commit f088089304
1 changed files with 100 additions and 89 deletions

View File

@ -26,24 +26,26 @@ Windows+BSD+Linux Installation Guide</title>
<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 coverting. URLs
think I may have deleted some sentences while converting. URLs
still need to be put in.</revremark>
</revision>
<revision>
<revnumber>1.2</revnumber>
<date>2004-01-5</date>
<revremark>Chapter "Troubleshooting" updated. Information on Linux updated to cover Red Hat Linux 8.0 (Psyche Edition) and FreeBSD to FreeBSD 5.1-RELEASE.</revremark>
<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>
<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>
<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>
@ -62,9 +64,9 @@ Welcome! This document explains how three different operating systems can be ins
<section>
<title>Purpose of this Guide</title>
<para>
Though many of us prefer using only one operating system on our personal computers for our daily tasks, there may be times when we would like to install two or more operating systems on the same computer. Let us suppose, you are required to use MATLAB 6.0 for your engineering applications; design, program and implement a web site using PHP and the back-end database using MySQL (as a part of an enterprise-application development project) and also learn how to configure a packet-filtering Firewall using IPFW. As it so happens, the MATLAB software runs on Microsoft Windows platform, the MySQL database you want to implement on the Linux operating system and last but not the least, your professor at the university is teaching "how to configure a packet-filtering Firewall using IPFW" using the FreeBSD operating system software. In such situations, you can safely fall back on the "multiple-booting" mechanism and of course refer to this guide from time to time.</para>
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 "learning by doing". Multiple-booting systems is not an exact science. You come across a document, you read it, find it interesting, do it yourself, make mistakes and then finally you achieve the desired aim. That is how you are supposed to learn. That is how I learnt. That is how the Unix experts learnt a long time back. By the time a reader finishes reading this guide, he would have a clear understanding of the basic topics required for successfully installing and configuring three different operating systems on the same hard disk of a computer. I have tried my level best to describe each and every topic in a clear and easily understandable simple language.</para>
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>
@ -72,19 +74,19 @@ Most installation HOWTOs and guides (for Linux, FreeBSD and OpenBSD operating sy
<title>
What is Multiple-booting?</title>
<para>
The Webster's New World Computer Dictionary (9th edition) by Bryan Pfaffenberger, defines the term "dual-booting" as: 'A computer that enables the user to choose between two operating systems at boot time'. Rightly so. Considering this definition as our boilerplate, we may frame our own definition of a "multiple-booting" or (in short) a multi-boot system i.e., a computer that enables the user to choose between more than 2 operating systems at boot time.</para>
The Webster's New World Computer Dictionary (9th edition) by Bryan Pfaffenberger, defines the term <quote>dual-booting</quote> as: 'A computer that enables the user to choose between two operating systems at boot time'. Rightly so. Considering this definition as our boilerplate, we may frame our own definition of a <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 varying operating systems can be successfully installed and configured on the same hard disk of a computer thus enabling it to become a "multi-boot" system. The operating systems chosen for this illustration include: either Microsoft Windows 95/98 (Second Edition)/Millennium Edition (ME)/NT/2K/XP, FreeBSD 5.1-RELEASE/OpenBSD 3.2-RELEASE/NetBSD 1.6.1 and Red Hat Linux 8.0. I would install a Microsoft Windows operating system first, then either FreeBSD 5.1-RELEASE or OpenBSD 3.2-RELEASE or NetBSD 1.6.1 and finally round-off by installing Red Hat Linux 8.0 (Psyche). GNU GRUB is the boot loader used for booting these three operating systems.</para>
This document explains how three varying operating systems can be successfully installed and configured on the same hard disk of a computer thus enabling it to become a <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: "Hey! Dual and multi-booting computer systems only has advantages and absolutely no disadvantages" is wrong. Often an important question which readers do ask is: Where does it make sense to multi-boot a PC? The answer to this question is simple: Multi-booting systems only makes sense where you would like to experiment with a number of configurations (or operating systems in general) than you have computers for and more significantly where no data is at risk.</para>
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 "test labs" of about 10-12 PCs each, where we have dual and multi-booting systems running ASP Linux, Red Hat Linux, Slackware, Windows 2000 Professional, FreeBSD and others. This can be considered as an ideal situation.</para>
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>
@ -115,7 +117,7 @@ Possesses theoretical and practical experience of compiling and configuring cust
Do not worry if you do not know some of these yet, simply read on because the most important steps would be explained in detail in the forthcoming sections as when required. Anyway, before proceeding any further, make sure you browse through the Frequently Asked Questions (FAQ) section of the guide.</para>
</section>
<section>
<title>Acknowledgements</title>
<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>
@ -410,7 +412,7 @@ community.</para>
<emphasis>Linux Information Sheet</emphasis> by Michael K. Johnson at
http://www.tldp.org, <blockquote>
<para>
"...Linux is a completely free
<quote>...Linux is a completely free
reimplementation of the POSIX specification, with SYSV and BSD
extensions (which means it looks like Unix, but does not come
from the same source code base), which is available in both
@ -418,7 +420,7 @@ community.</para>
Torvalds ; and other contributors, and is freely redistributable
under the terms of the GNU General Public License (GPL). A copy
of the GPL is included with the Linux source; you can also get a
copy from ftp://prep.ai.mit.edu/pub/gnu/COPYING...".</para>
copy from 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 more closer to the real UNIX (AT&amp;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>
@ -458,10 +460,11 @@ The OpenBSD operating system software has integrated strong cryptography into th
<section>
<title>
NetBSD</title>
<para> The NetBSD kernel focuses on clean design and well architected solutions. NetBSD supports a massive range of hardware platforms from a single source tree, including simultaneous release across all platforms, and continues to attract users and experienced developers despite lack of media exposure and commercial backing - all thanks to attention to code quality. The NetBSD operating system kernel targets <emphasis>portability</emphasis> and tries to run on as many platforms as possible. The NetBSD Project web-site can be accessed at: http://www.netbsd.org</para>
<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 web-site can be accessed at: http://www.netbsd.org</para>
</section>
<section>
<title>Addtional reading for *BSD's</title>
<title>Additional reading for *BSD's</title>
<para>For browsing through the Official FreeBSD Handbook, visit: http://www.freebsd.org</para>
<para>The official sources for FreeBSD are available via anonymous FTP from: ftp://ftp.FreeBSD.org/pub/FreeBSD/</para>
<para>
@ -592,7 +595,7 @@ If you want to customize the size of the partitions (drive letters) on the hard
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>
<screen>format c:</screen>
, and 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>
@ -618,7 +621,7 @@ During a new installation of Windows NT, 2000 or XP, you may have to choose whic
<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>But very "important" information: The conversion to NTFS is one-way only; if you convert your FAT or FAT32 file system to NTFS you cannot convert your hard disk back to FAT later.</para>
<para>But 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>
@ -685,7 +688,7 @@ Before installing FreeBSD, it would be a good idea to take a brief tour of what
<para>
Now, the important part. There exists a few operating systems which can boot even if their corresponding boot files are stored within a logical disk drive of an extended partition. For FreeBSD, this mechanism does not work. FreeBSD necessarily needs one of the slices (that is the 4 entries in the partition table on your computer's hard drive, which in Windows terminology would be called as a <emphasis>primary partition</emphasis>). It then uses a program called <application>disklabel</application> for making upto eight partitions in this slice. <warning>
<para>
Readers must note a very significant fact: You "cannot" install FreeBSD in an extended partition made by Linux (or DOS).</para>
Readers must note a very significant fact: You <quote>cannot</quote> install FreeBSD in an extended partition made by Linux (or DOS).</para>
</warning>
</para>
<para>
@ -826,8 +829,8 @@ The next screen allows you to install a boot manager. Since Microsoft Windows 98
</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>
...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...".</para>
<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>
@ -841,7 +844,13 @@ This is an important consideration if you have a lot of temporary files to deal
<para>Next appears the <emphasis>Committing to the Installation</emphasis> screen. You would be asked whether you are sure of installing FreeBSD on this system or not. Select [ Yes ] and press enter to proceed. The installation can now proceed if desired. Readers must note: This is absolutely the last chance for aborting the installation to prevent changes to the hard disk.</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>
<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. It usually involves chores as Network Device Configuration, Configure Gateway, Configure Internet Services, Anonymous FTP, NFS Server, NFS Client, setting up a Security Profile, System Console Settings, Setting The Time Zone, Adding Users and Groups and so on. For an exhaustive covering of each and every step along with helpful screenshots, please refer to the FreeBSD Handbook at http://www.freebsd.org.</para>
@ -894,7 +903,7 @@ For a complete step-by-step coverage of OpenBSD installation, please consult the
</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>
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 answered 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>
@ -1005,7 +1014,7 @@ BIOS# cylinders heads sectors
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 "size unit to use". I chose "Megabytes" as my size specifier.</para>
<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
@ -1023,10 +1032,10 @@ Total disksize 19541 MB.
</screen></para>
</listitem>
<listitem>
<para>10. Edit partitions 1 and 2 by making "Kind" as "unused", then selecting "Partition OK" and pressing enter.</para>
<para>10. Edit partitions 1 and 2 by making <quote>Kind</quote> as <quote>unused</quote>, then selecting <quote>Partition OK</quote> and pressing enter.</para>
</listitem>
<listitem>
<para>Then select unused partition 1, then "Kind", then "NetBSD" and finally "Start and size". Mention the "Start:" value as "-0" and "size:" to the value you would like to set. I chose about 4000 MB. Make sure you select "Set active" and press enter and "Partition OK" finally.</para>
<para>Then 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:
@ -1040,55 +1049,55 @@ Total disksize 19541 MB.
</screen></para>
</listitem>
<listitem>
<para> Select "Exit" and press enter.</para>
<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 "Yes".</para>
<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 "Bootselection menu items" 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 "Boot off partition 0".</para>
<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. Then edit menu entries 0 and 1, to label "Windows" and "NetBSD" respectively. Then exit.</para>
<para> 16. Then 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. I choose the installation type: "Standard with X" which requires about 450.00 MB HDD space.</para>
<para> 18. I choose the installation type: <quote>Standard with X</quote> which requires about 450.00 MB HDD space.</para>
</listitem>
<listitem>
<para> 19. Next screen exhibits the BSD-disklabel partitions. Since for most people in most situations this suits the best, keep the changes as it is and select "Partitions are OK" and press enter</para>
<para> 19. Next screen exhibits 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 "ghosh" and continue.</para>
<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. In the next screen you are prompted to install either normal set of bootblocks or serial bootblocks. Since we are using the BIOS console device as the console, you must select "Use normal bootblocks" and press enter.</para>
<para> 22. In the next screen you are prompted to install either 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 "Custom Installation" of NetBSD distribution sets.</para>
<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 "Exit".</para>
<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 installing media. Select "cdrom" and device:cd0 and directory:/i386/binary/sets and continue.</para>
<para> 26. Enter the type of installing media. Select <quote>cdrom</quote> and device:cd0 and directory:/i386/binary/sets and continue.</para>
</listitem>
<listitem>
<para> 27. The following .tgz files gets 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 "All selected distribution sets unpacked successfully". Next, device files are made automatically, and you are prompted for a few necessary post-installation configuration steps.</para>
<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 choose "Europe/Moscow".</para>
<para> 29. You need to set timezone, I choose <quote>Europe/Moscow</quote>.</para>
</listitem>
<listitem>
<para> 30. Next, to choose the password cipher. The options available are: DES or MD5. I prefer MD5 to DES.</para>
@ -1100,7 +1109,7 @@ Total disksize 19541 MB.
<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 perfectly or not. As it so happens, it does! Then I reboot and this time, I press F2, which logs 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 rather fast for you to read anything productive, you can always read it later by using the "/sbin/dmesg | more" command. Finally, you will arrive at the login prompt. Login using the username/password you set during installation. Check if everything is in place or not and try exploring the new system. </para>
<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 rather fast for you to read anything productive, you can always read it 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 if everything is in place or not and try exploring the new system. </para>
</listitem>
<listitem>
<para> 34. We still have Linux to install and configure. So, for doing this and more, we proceed to the next chapter, Chapter 6: Installing Red Hat Linux 8.0 (Psyche).</para>
@ -1111,14 +1120,14 @@ Total disksize 19541 MB.
<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. But in case you are a complete Linux newbie, or you just decided to taste Linux for fun; then 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 "Custom" 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 web-site. Red Hat's official web-site is located at 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: http://www.redhat.com/support/resources/faqs/rhl_general_faq/s1-contact.html.</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. But in case you are a complete Linux newbie, or you just decided to taste Linux for fun; then 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 web-site. Red Hat's official web-site is located at 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: 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 as 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 "Kudzu" and the "Kernel 2.4".</para>
Red Hat Linux has some exciting and important installation features. Large improvements were made in the install process as 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 the reimplementation of UNIX only!) terminology, UNIX systems (and more specifically the Kernel) cannot read and understand "devices". To the UNIX kernel, everything is abstracted as a "file containing ASCII characters". That means a sentence like "I have a 30.0 GB C: drive" in Linux does not make any sense at all. So, let us see how our hard drives and partitions are named under Linux.</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 the reimplementation of UNIX only!) 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>
@ -1128,7 +1137,7 @@ Linux uses a special way of naming hard drives and the partitions that you make
<para>
* Fourth IDE hard disk (Secondary Slave) - /dev/hdd</para>
<para>
where, /dev is the directory under the root ("/") directory in Linux which contains all the device files associated with devices.</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>
@ -1140,7 +1149,7 @@ What about SCSI drives? Well, Linux labels that too!</para>
<para>
* Fourth SCSI hard disk (Secondary Slave) - /dev/sdd</para>
<para>
where, /dev is the directory under the root ("/") directory in Linux which contains all the device files associated with devices.</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
@ -1157,7 +1166,7 @@ used as an example):
<para>
* Fourth primary partition - /dev/hda4</para>
<para>
What about if we have an "extended partition" under Linux which contains a few logical disk drives in it? Well, the Linux kernel maps those partitions too to the corresponding "block" 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. So, in this case, how would the partition table look like and mean? Let us see how Linux labels this scheme. Linux would represent this as:<itemizedlist>
What about 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 too 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. So, in this case, how 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>
@ -1187,7 +1196,7 @@ What about if we have an "extended partition" under Linux which contains a few l
</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 onwards to /dev/hda4, with logical disk drives extending from 5 till 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 friend's computer, 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 "root" (/) filesystem and hda9 is the "swap" 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 "/sbin/fdisk /dev/hda" (with /dev/hda being the Primary Master on your computer).</para>
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 onwards to /dev/hda4, with logical disk drives extending from 5 till 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 friend's computer, 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> (/) 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>
@ -1207,29 +1216,31 @@ For example, when I executed the Linux fdisk on my friend's computer, it gave an
</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. Microsoft Windows operating systems use either FAT16, FAT32, NTFS 4.0 or the most recently released NTFS 5.0 filesystems. The GNU/Linux Kernel originally used the "First Extended filesystem", commonly denoted as ext or extfs. It has now been superceded by ext2 and ext3 filesystems. Kernel 2.4, currently uses Linux's native "Third Extended filesystem", commonly denoted as "ext3" or "ext3fs". Though Kernels 2.2.x and 2.4.x support ext2fs and ext3fs, but the latest stable release i.e. Kernel 2.4.20 uses the "ext3fs" 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 "ext2fs" and "ext3fs" filesystems is that ext3fs is a "Journaling filesystem" 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>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, but the latest stable release i.e. 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 "Linux Programmer's Manual" has a section called "FILESYSTEMS(5)". It explains which filesystem types Linux supports. One can access all the details by simple typing in "man fs" 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 have to mount it.</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 simple 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 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 an optional period and 3 character extension. The 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>
The 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 "pseudo-filesystem" 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. The 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 SystemV/Coherent filesystem for Linux. It implements all of Xenix FS, SystemV/386 FS, and Coherent FS. The nfs is the network filesystem used to access disks located on remote computers. smb is a network filesystem that supports the 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>
The 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. The 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 SystemV/Coherent filesystem for Linux. It implements all of Xenix FS, SystemV/386 FS, and Coherent FS. The nfs is the network filesystem used to access disks located on remote computers. smb is a network filesystem that supports the 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, please consult the distribution-specific installation guides on Red Hat's official web-site. All types of installations with appropriate screenshots (including additional tips and tricks) are provided. Here, I would 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 have assumed 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 "local", "network" and "PCMCIA" boot disks.</para>
<para>1. Place your Red Hat Linux 8.0 bootable CD-ROM on your CD-ROM drive and then restart the computer. I have assumed 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 "Enter" for entering a GUI-based installation setup or type in "linux text" at the boot: prompt for entering a ncurses-based text-based installation type. I always 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 "expert" mode using the following boot command: boot: linux expert and press enter.</para>
<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 in <quote>linux text</quote> at the boot: prompt for entering a ncurses-based text-based installation type. I always 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 "Welcome to Red Hat Linux" screen. Proceed forward, till you reach the "Install" or "Upgrade" screen. Since we are installing Linux for the very first time, we select "Install". Now 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 "Custom" installation.</para>
<para> 3. Proceed as usual, configuring language, keyboard and the mouse. Then appears the <quote>Welcome to Red Hat Linux</quote> screen. Proceed forward, till 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>. Now 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 would be asked to choose between "fdisk" and "disk druid". 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 "disk druid" for this guide. At the next screen, you would 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 had discussed about partitioning in detail. Try mapping the partitions being shown to Windows terminology.</para>
<para> 4. Proceed as usual and at the partitioning screen, you would 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 would 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 had discussed about partitioning in detail. Try mapping the partitions being 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 the 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>
@ -1238,7 +1249,7 @@ Now that we have covered quite a lot on partitioning schemes and filesystems und
<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 ("/") by assigning
swap of about 128MB and finally a root (<quote>/</quote>) by assigning
to it the remaining space on the drive. That is all what
needs to be done. Thus, we have something like this:
<screen>
@ -1261,32 +1272,32 @@ As shown above, /dev/hda3 is mounted as /boot, /dev/hda5 is the Linux swap files
<para> 7. Proceed with the installation as usual, till you reach the screen prompting you to choose the boot loader. This is a very important step in this installation, 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 runs, reads instructions passed to it from its own configuration file (for example, the configuration file for the Linux Loader is the /etc/lilo.conf and for GRUB is the /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 any one 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 using 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 "free" as well as "proprietary" boot loaders. Check them out if it is required.</para>
<para> 8. You can use any one 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 using 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 "chain loading" 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; simple 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 "Add GRUB to the MBR".</para>
<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; simple 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 in case you have Microsoft Windows NT/2K/XP, which uses by default the "NT Boot loader" for booting the operating system software, then also go ahead and "Add GRUB to the MBR". Do not panic! It would cause no problems at all. Only 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 "Windows" and "Linux". Selecting "Linux" 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 "Windows" and pressing enter utilizes the "chain loading" mechanism, and invokes the "FreeBSD boot loader". The FreeBSD boot loader then loads Microsoft Windows 98 (SE) into the computer's memory.</para>
<para> 9. After startup, you will receive the GRUB screen prompting you to select the OS. If in case you have Microsoft Windows NT/2K/XP, which uses by default the <quote>NT Boot loader</quote> for booting the operating system software, then also go ahead and <quote>Add GRUB to the MBR</quote>. Do not panic! It would cause no problems at all. Only 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 "first sector of your root partition" and then configure the other boot loader to start GRUB (which will then boot Red Hat Linux). </para>
<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 later install them 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 "bootdisk", make sure you create one. It comes handy during system crashes. You can always create a "setup bootdisk" later using the /sbin/mkbootdisk command from the command line interface (CLI) mode.</para>
<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 later install them 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 McDonalds 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 perfect. There is absolutely no shortcut to success. It is not possible at all.</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 "Windows" and "Linux". Check whether both operating systems are working properly or not by booting into each of them one after another. I am 100% sure that everything would work just fine.</para>
<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. I am 100% sure that everything would work just fine.</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 where, many things could be done. I sincerely request the reader to note everything if in case something goes wrong someplace. 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 "chain loading" mechanism.</para>
<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 where, many things could be done. I sincerely request the reader to note everything if in case something goes wrong someplace. 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 <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 cautious while editing it. Since, GRUB reads the /boot/grub/grub.conf file while bootstrapping the computer, typos inside /boot/grub/grub.conf file can result in total 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 "Windows" entry. So, your /boot/grub/grub.conf file after editing should resemble this:
<para> 15. Log into Red Hat Linux, and open the /boot/grub/grub.conf file using the vi editor. Be very cautious while editing it. Since, GRUB reads the /boot/grub/grub.conf file while bootstrapping the computer, typos inside /boot/grub/grub.conf file can result in total 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. So, your /boot/grub/grub.conf file after editing should resemble this:
<screen>
default=0
timeout=150
@ -1306,7 +1317,7 @@ As shown above, /dev/hda3 is mounted as /boot, /dev/hda5 is the Linux swap files
</screen></para>
</listitem>
<listitem>
<para> As shown above, 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 "root" 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. And 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(/) 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>
<para> As shown above, 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. And 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(/) 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 what really needs to be done for preparing a fully featured multi-boot system. If you would like to know how to mount different filesystems on varying operating systems, then proceed to the next chapter, Chapter 7: Mounting Filesystems.</para>
@ -1318,7 +1329,7 @@ As shown above, /dev/hda3 is mounted as /boot, /dev/hda5 is the Linux swap files
<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 coexisting peacefully together. Is that all? Is that enough? I am sure, no! One of the most important reasons that I have Microsoft Windows 98(SE) + 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. But every time when I am working on FreeBSD and I need to access some data on my Windows partition, I just 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 "mount" 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 occasionally.</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 coexisting peacefully together. Is that all? Is that enough? I am sure, no! One of the most important reasons that I have Microsoft Windows 98(SE) + 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. But every time when I am working on FreeBSD and I need to access some data on my Windows partition, I just 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 occasionally.</para>
<para>
The mount command is definitely one of the most important commands available to the superuser (or root) account on a UNIX system. It allows the root user of a UNIX system to mount filesystems (for regular users to access and use) 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&amp;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>
@ -1326,7 +1337,7 @@ As shown above, /dev/hda3 is mounted as /boot, /dev/hda5 is the Linux swap files
Though it is a very powerful command on a Unix or Unix-like system, the mount command itself if very simple and easy 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 "root" and execute these following steps to build one:</para>
<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 following steps to build one:</para>
<itemizedlist>
<listitem>
<para>I execute this from the command line:
@ -1388,16 +1399,16 @@ For mounting MSDOS partitions as well as Windows 95/98(SE)/ME formatted FAT16 an
<listitem>
<para> 6. Once inside menuconfig, tinker with the
options available. Make sure you enter the
<screen>"File systems"</screen> section, then select the <screen>"UFS
file system support (read-only)"</screen> and <screen>"UFS file system
write support (DANGEROUS)"</screen> options. Thus, you should have
<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>&lt;*&gt; 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 "Partition types" section and
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>
@ -1443,40 +1454,40 @@ My personal experience with multi-booting systems saw some weird kinds of failur
<para>I created an extended partition with logical disk drives or sub partitions within it. But when I installed FreeBSD, it completely ignored the inner partitions within that partition. Is that normal?</para>
</question>
<answer>
<para>Yes, it is absolutely normal. FreeBSD operating system software can only detect and represent primary hard disk partitions which it calls "slices". An extended partition, though would be represented in FreeBSD fdisk will not represent the constituents of the container.</para>
<para>Yes, it is absolutely normal. FreeBSD operating system software can only detect and represent primary hard disk partitions which it calls <quote>slices</quote>. An extended partition, though 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 "too many partitions" error
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 "too many partitions" error message. What am I supposed to do now?</para>
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 the readers can see, this error message flagged by Red Hat Linux fdisk tool can occur under a variety of conditions. I myself encountered both of them while multi-booting PCs. When this message gets displayed Linux's fdisk cannot make any changes to the disk. Personally speaking, I strongly feel that this message: "too many partitions (16, maximum is 8)" 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>As the readers can see, this error message flagged by Red Hat Linux fdisk tool can occur under a variety of conditions. I myself encountered both of them while multi-booting PCs. When this message gets 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 so happens that you are performing a clean install and you get this error, do a "fdisk /mbr" from the MS-DOS prompt, and try installing Red Hat Linux once again. If it so happens that you have FreeBSD/OpenBSD/NetBSD installed on your system already, then (sorry dude!) erase all earlier installs, wipe the disk clean using "dd" utility or whatever you have at your disposal and start installing everything all over again.</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 so 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 so happens that you have FreeBSD/OpenBSD/NetBSD installed on your system already, then (sorry dude!) erase all earlier installs, wipe the disk clean using <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 "too many partitions" 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>
<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 "full disk" 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>
<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 "professional" disk-wiping utility. Which ones can I use? How would I use them?</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 "#dd if=/dev/zero of=/dev/wd0c". 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 "rescue" it. Once you get the "#" prompt "dd if=/dev/zero of=/dev/hda" will clear the first disk. FreeBSD's "Fixit" option from the main install menu provides access to a single user prompt; the second of the four install CDs is needed. The command "dd if=/dev/zero of=/dev/ad0" appears to clear the first disk. Once this done, you can be rest assured that your hard disk is wiped clean absolutely!
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 be rest assured that your hard disk is wiped clean absolutely!
</para>
</answer>
</qandaentry>
@ -1501,17 +1512,17 @@ To prevent all this from happening, just boot from a Windows 9x or DOS v6 boot d
<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 "fdisk /mbr" from the MS-DOS command prompt and installing LILO.</para>
<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 "quit", it flagged some warning as: "wd0: no disk label" in bright white on blue. What does that mean? Did I do something wrong?</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 "quit"), and the OpenBSD slice is not at the same offset as a previously installed OpenBSD system, then fdisk displays "wd0: no disk label" 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, yet the OpenBSD disklabel has to be setup. The disklabel defines the layout of the OpenBSD file systems on the OpenBSD partitions on the hard disk.</para>
<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, then 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, yet the OpenBSD disklabel has 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, then it means that OpenBSD disklabel is reading and using information from a previous install. This is a dangerous situation because if it so happens that the disklabel is using old disklabel data and any partition information has changed since its creation initially, then disklabel's behavior becomes erratic and you may encounter strange problems. For preventing this from happening, make sure you wipe the disk clean before performing a clean install of OpenBSD.</para>
</answer>
@ -1522,11 +1533,11 @@ In dual and multi-booting systems, this message is almost a prerequisite for a c
<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: "Nobody exactly knows why!". 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 maybe one of the many possible explanations.</para>
<para>An honest answer to this question is: <quote>Nobody exactly 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 maybe 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 on the computer. Readers must 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 absolutely 100% correct and the Red Hat Linux 8.0 installation CD-ROMs are okay. Yet, each time when 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 "Invalid partition on /tmp/hda". When I ignored the error, a new dialog displayed "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". Fdisk then displayed the "too many partitions" error. Error, error and error was all that I got! So, I switched to Red Hat Disk Druid to fancy my luck!</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 on the computer. Readers must 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 absolutely 100% correct and the Red Hat Linux 8.0 installation CD-ROMs are okay. Yet, each time when 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 that I got! So, I switched to Red Hat Disk Druid to fancy my luck!</para>
<para>
Red Hat's Disk Druid displayed an "Invalid partition on /tmp/hda" message and when ignored, showed the OpenBSD partition as unused and /dev/hda as a BSD/386 partition. I forced the "auto partitioning" process but it crashed miserably after some time with an "unhandled exception". I did not save the crash dump to a floppy because I had no plans to send a bug report.</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 same problems with Red Hat Linux distributions 7.3 and 7.1. But when I tried installing Red Hat Linux 7.0, it installed painlessly without any shouts and cries. Could someone out there (or more specifically at Red Hat Inc.) please explain me 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>
@ -1546,13 +1557,13 @@ I read the PR (problem report) above. I have FreeBSD and OpenBSD operating syste
<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 exactly 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 "/dev/ad0s1a" 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. Thus, 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>
<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. Thus, 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 "BSD", OpenBSD would not boot. I received a "Bad Magic" error message. What does it mean? What can I do?</para>
<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
@ -1567,7 +1578,7 @@ 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 "bad magic" error and OpenBSD does not boot.</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. Or 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>
@ -1591,7 +1602,7 @@ Make sure you browse these links:</para>
* Red Hat Linux Hardware questions</para>
<para>
For referring to Online manuals dealing with "multi-booting" specifically, I consider these as some of the "very" best:</para>
For referring to Online manuals dealing with <quote>multi-booting</quote> specifically, I consider these as some of the <quote>very</quote> best:</para>
<para>
* Installing and Using FreeBSD With Other Operating Systems</para>
@ -1599,7 +1610,7 @@ For referring to Online manuals dealing with "multi-booting" specifically, I con
* 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, so please address your ire to me at subhasish_ghosh@linuxwaves.com. For those who would like to send PRs (Problem Reports), please 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 "This screwed up!", "That doesn't work!" and so on. Try sending detailed PRs. You may very well find your comments, suggestions and corrections reflected in the next version of this guide. Thank you!</para>
Ultimately, though, the responsibility for any errors or omissions you might find is mine and mine alone, so please address your ire to me at subhasish_ghosh@linuxwaves.com. For those who would like to send PRs (Problem Reports), please 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. Try sending detailed PRs. You may very well find your comments, suggestions and corrections reflected in the next version of this guide. Thank you!</para>
<para>
</para>
</chapter>