From owner-freebsd-doc Sat Jun 15 11:03:06 1996 Return-Path: owner-doc Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id LAA07279 for doc-outgoing; Sat, 15 Jun 1996 11:03:06 -0700 (PDT) Received: from ns1.fidalgo.net (root@ns1.fidalgo.net [206.129.156.2]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id LAA07273 for ; Sat, 15 Jun 1996 11:03:04 -0700 (PDT) Received: from backdrive.in.net (backdrive.in.net [205.160.203.44]) by ns1.fidalgo.net (8.7.5/8.6.12) with SMTP id LAA18669; Sat, 15 Jun 1996 11:01:22 -0700 (PDT) Message-Id: <1.5.4.32.19960615180315.0066c1c0@mail.fidalgo.net> X-Sender: jayrich@mail.fidalgo.net X-Mailer: Windows Eudora Light Version 1.5.4 (32) Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Date: Sat, 15 Jun 1996 13:03:15 -0500 To: doc@freebsd.org From: "Jay M. Richmond" Subject: freebsd coexisting with other OS's [documentation, updated] Cc: jkh@time.cdrom.com Sender: owner-doc@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Ok, here's the latest revision: please let me know what you think: Using FreeBSD with other operating systems ------------------------------------------ This document is separated into the follow sections: I. Introduction II. Overview of boot managers III. A typical installation IV. Special considerations V. Examples VI. Other sources of help I. Introduction This document discusses how to make FreeBSD coexist nicely with other popular operating systems, including, but not limited to: DOS, Windows 95, and UNIX (Solaris/x86 and Linux). Most people can't fit these operating systems together comfortably without having a larger hard disk, so special information on large EIDE drives is included. Because there are so many combinations of possible operating systems and hard disk configurations, the examples section may be of the most use to you. It contains descriptions of specific working computer setups that use multiple operating systems. This document assumes that you have already made room on your hard disk for an additional operating system. Any time you repartition your hard drive, you run the risk of destroying the data on the original= partitions. However, if your hard drive is completely occupied by DOS, you might find the FIPS utility (included on the FreeBSD CD-ROM in the \TOOLS directory=20 or via ftp at ftp://ftp.freebsd.org/pub/FreeBSD/2.1-RELEASE/tools/. It lets= =20 you repartition your hard disk without destroying the data already on it. = =20 There is also a commercial program available called Partition Magic, which= =20 lets you size and delete partitions without consequence. II. Overview of boot managers These are just brief descriptions of some of the different boot managers you may encounter. Depending on your computer setup, = =20 you may find it useful to use more than one of them on the same=20 system. Boot Easy: This is the default boot manager used with FreeBSD. It has the ability to boot most anything, including BSD, OS/2 (HPFS), Windows 95 (FAT and FAT32**), and Linux. Partitions are selected with the function keys. OS/2 Boot Manager: This will boot FAT, HPFS, FFS (FreeBSD), and EXT2 (Linux). It will NOT boot FAT32** partitions. Partitions are selected using arrow keys. The OS/2 Boot Manager is the only one to use its own separate partition, unlike the others which use the master boot record (MBR). Therefore, it must be installed below the 1024th cylinder to avoid booting problems. It can boot Linux using LILO as part of the boot sector, not the MBR. Go to http://www.ssc.com/linux/howto.html for more information on booting Linux with OS/2's boot manager. OS-BS: This is an alternative to Boot Easy. It gives you more control over the booting process, with the ability to set the default partition to boot and the booting timeout. The 'beta' version of this programs allows you to boot by selecting the OS with your arrow keys. It is included on the FreeBSD CD in the \TOOLS directory, and via ftp at ftp.freebsd.org in the /pub/FreeBSD/2.1-RELEASE directory. LILO, or Linux Loader: This is a limited boot manager. Will boot FreeBSD, though some customization work is required in the LILO configuration file. ** FAT32 is the replacement to the FAT filesystem included in Microsoft's OEM SR2 Beta release, which is expected to utilitized on computers pre-loaded with Windows 95 towards the end of 1996. = =20 It converts the normal FAT file system and allows you to use smaller cluster sizes for larger hard drives. FAT32 also modifies the traditional FAT boot sector and allocation table, making it incompatible with some boot managers. III. A typical installation Let's say I have two large EIDE hard drives, and I want to install FreeBSD, Linux, and Windows 95 on them. =20 Here's how I might do it: /dev/wd0 (first physical hard disk) /dev/wd1 (second hard disk) Both disks have 1416 cylinders. 1. I boot from a MS-DOS or Windows 95 boot disk that contains the FDISK.EXE utility and make a small 50 meg primary partition (35-40 for Windows 95, plus a little breathing room) on the first disk. Also create a larger partition on the second hard disk for your Windows applications and data. 2. I reboot and install Windows 95 (easier said than done) J on the "C:" partition. 3. The next thing I do is install Linux. I'm not sure about all the distributions of Linux, but slackware includes LILO (see above), the Linux Loader. When I am partitioning out your hard disk with Linux "fdisk," I would put all of Linux on the first drive (maybe 300 megs for a nice root partition and some swap space). 4. After I install Linux, and are prompted about installing LILO, make SURE that I install it on the boot sector of my root Linux partition, not in the MBR (master boot record). 5. The remaining hard disk space can go to FreeBSD. I also make=20 sure that my FreeBSD root slice does not go beyond the 1024th=20 cylinder. (The 1024th cylinder is 528 megs into the disk with our hypothetical 720MB disks). I will use the rest of the hard drive=20 (about 270 megs) for the "/usr" and "/" slices if you wish. The= rest=20 of the second hard disk (size depends on the amount of your Windows application/data partition that I created in step 1) can go= =20 to the "/usr/src" slice and swap space. = --------------------------------------------------------------------- When viewed with the Windows 95 "fdisk" utility, my hard drives should now look something like this: Display Partition Information Current fixed disk drive: 1 Partition Status Type Volume_Label Mbytes System Usage C: 1 A PRI DOS 50 FAT** 7% 2 A Non-DOS (Linux) 300 43% =20 Total disk space is 696 Mbytes (1 Mbyte =3D 1048576 bytes) Press Esc to continue = --------------------------------------------------------------------- =09 Display Partition Information Current fixed disk drive: 2 Partition Status Type Volume_Label Mbytes System Usage D: 1 A PRI DOS 420 FAT** 60% Total disk space is 696 Mbytes (1 Mbyte =3D 1048576 bytes) Press Esc to continue ** May say FAT16 or FAT32 if you are using the OEM SR2 update (see section II). = --------------------------------------------------------------------- 6. Install FreeBSD. I make sure to boot with my first hard disk set at "NORMAL" in the BIOS. If it is not, I=92ll have the enter= your true disk geometry at boot time (to get this, boot Windows 95 and consult Microsoft Diagnostics, MSD.EXE or check your BIOS) with the parameter "hd0=3D1416,16,63" where 1416 is the number of=20 cylinders on your hard disk, 16 is the number of heads per track,= =20 and 63 is the number of sectors per track on the drive. 7. When partitioning out the hard disk, I make sure to install "Boot Easy" on the first disk. I don't worry about the second disk, nothing is booting off of it. 8. When you reboot, "Boot Easy" should recognize your three bootable partitions as DOS (Windows 95), Linux, and BSD (FreeBSD). IV. Special considerations Most operating systems are very picky about where and how they are placed on the hard disk. Windows 95 and DOS need to be on the first primary partition on the first hard disk. OS/2 is the exception. It can be installed on the first or second disk in a primary or= extended partition. If you are not sure, keep the beginning of the bootable partitions below the 1024th cylinder. If you install Windows 95 on an existing BSD system, it will= "destroy" the MBR, and you will have to reinstall your previous boot manager. Boot Easy can be reinstalled by using the BOOTINST.EXE utility included in the \TOOLS directory on the CD-ROM. You can also re-start the installation process and go to the partition editor. From there, mark the FreeBSD partition as bootable, and type W to (W)rite out the information to the MBR. You can now reboot, and =20 "Boot Easy" should then recognize Windows 95 as "DOS." Please keep in mind that OS/2 can read FAT and HPFS partitions, but not FFS (FreeBSD) or EXT2 (Linux) partitions. Likewise, Windows 95 can only read (FAT and FAT32 partitions). FreeBSD can read most file systems, but currently cannot read or HPFS=20 partitions. Linux can read HPFS partitions, but can=92t write to= them. Recent versions of the Linux kernel (1.9.x) can read and write to Windows 95 VFAT partitions (VFAT is what gives Windows 95 long file names =96 the same as FAT). Linux can read and write to most file systems. Got that? I hope so. =20 V. Examples [section needs work, please send your example to jayrich@in.net] FreeBSD+Win95: If you installed FreeBSD after Windows 95, you=20 should see 'DOS' on the "Boot Easy" menu. This is Windows 95. If you installed Windows 95 after FreeBSD, read section IV above. As long as your hard disk does not have 1024 cylinders you should= not have a problem booting. If one of your partitions goes beyond the 1024th cylinder however, and you get messages like "invalid system disk" under DOS (Windows 95) and FreeBSD will not boot, try looking for a setting in your BIOS called "> 1024 cylinder support" or "NORMAL/LBA" mode. DOS may need LBA (Logical Block Addressing) in order to boot correctly. If the idea of switching= BIOS=20 settings every time you boot up doesn't appeal to you, you can boot= =20 FreeBSD through DOS via the FBSDBOOT.EXE utility on the=20 CD without any options (It should find your FreeBSD partition and=20 boot it.) FreeBSD+OS/2+Win95: Nothing new here. OS/2=92s boot manger can boot all of these operating systems, so that shouldn=92t be a problem. FreeBSD+Linux: You can also use "Boot Easy" to boot booth operating systems. You can also use LILO to boot FreeBSD by [need to fill this in]. FreeBSD+Linux+Win95: (see section III) =20 VI. Other sources of help There are many Linux HOW-TO's that deal with multiple operating systems on the same hard disk. They are available on the World Wide Web at http://www.ssc.com/linux/howto.html. The Linux+OS/2+DOS Mini-HOWTO offers help configuring the=20 OS/2 boot manager. It is also available on the WWW at: http://sunsite.unc.edu/mdw/HOWTO/mini/Linux+OS2+DOS. --- Last updated: 6/14/96 Authored by: Jay Richmond (jayrich@in.net) Special thanks to: Annelise Anderson (andrsn@stanford.edu) (OS/2) Randall Hopper (rhh@ct.picker.com) Jordan K. Hubbard (jkh@time.cdrom.com) Author's note: I will constantly update this how-to and place it on the WWW temporarily at http://www.in.net/~jayrich/freebsd-howto.txt 007 e-mail: jayrich@in.net www: http://www.in.net/~jayrich e-mail: jayrich@in.net www: http://www.in.net/~jayrich