Linux+Win95 mini-HOWTO part 1/1

Authored 11/95 by Jonathan Katz. Fixed/revised April 10, 1996, not to mention slightly updated June 25, 1996 all by Jonathan Katz,

_1 Introduction_

Many people have recently bought new machines, which (unfortunatly) come pre-loaded with Windows 95. After exploring the Internet, many users find the likes of Linux, and want to run a better OS at a much better price. There are many different issues to address, because new computers usually come with large EIDE hard drives, and Windows 95 has extentions on the old FAT filesystem. Linux understands these issues and can handle these challenges in hardware and software.

_2 Let's get Ready to Rumble!_

Linux and Windows 95 can get along quite well on the same hard disk. You can also install Linux onto a separate hard disk on the same machine. If you have the money to spare to get a second hard disk, go ahead and do that. Although it is safe and reliable to run Windows 95 and Linux on the same hard disk, it is safer to have a second disk. But, since I am a poor student, (and so are most of the people I know) we are stuck with one large disk.

I assume your hard disk looks like this:

C:      |  800M or so, maybe bigger?

and Windows 95 and MS-Office and Qmodem Pro, and whatever DOS/Windows software you have only takes up around 400M + Swap (this is a big, sarcastic assumption)! I take it you don't want to lose all this software you've spent a lot of time configuring and installing, so you don't want to delete this partition and restart all over again.

_3 Ok, I have this partition I want to spare!_

Don't lose hope. There is a program called FIPS, which can re-partition your Hard Disk without destroying data. HOWEVER, make sure before you use it, you defrag your hard disk (with the optimum defrag method). Use the defrag that came with Win95 and use it in the GUI-- otherwise you will loose your long file names. After you are all defraged, run FIPS and make your disk look something like the following:

C:      | This is your FAT/VFAT/Win95 partition
 450M   |
???     | This is empty space that starts BELOW the 1024th
        |       cylander

It is _VERY IMPORTANT_ that your Linux partition start before (below) the 1024th cylander, otherwise you will be unable to boot it (and that's not a good thing).

_4 What Next?_

Go ahead and install Linux to that new free space. If you are paranoid, you can boot into Windows 95 and mak sure it still runs OK. Just make sure your root partition begins below the 1024th cylander. If you are like most people, you'll make a 400M Linux partition (which is pretty comfortable) as well as 30M of SWAP (which is more than enough). At this point, you should be able to install whatever distribution of Linux you have without any troubles.

_5 Using your new system!_

Linux can mount, read, and write to Win95's VFAT partitions serveral ways. You can use the stock msdos filesystem support that has been included in all kernels greater than 1.0. However, using commands like:

litterbox~#: mount -t msdos /dev/hda1 /mnt

will only get you as far as filenames with the 8.3 standard. Yick! You have Windows 95 partly so you can use those nifty long file names.

Some Linux users still run kernels that are anchient (by Linux standards). In other words, 1.2.xx kernels. Someone coded a module for this series of kernels so a user can read files that do not conform to the old 8.3 standard. FTP to and pick up a copy of README before doing anything. _NOTE_ I received this e-mail recently. Click Here for the latest info on this vfat.o module!

Finally, newer kernels (1.3.4x) as well as the long awaited 2.0 RELEASE have internal vfat support that you can compile in. These kernels allow safe read/writes to your VFAT partitions.

_NOTE:_ A word of caution!

IF you are running a "newer" version of Windows 95 (one that supposedly doesn't exist, like OEM-SR2) that has support for a non-existant convention called FAT32, Linux CANNOT read and write (or even mount) a FAT32 partition (yet). How can you tell if you are running a non-existant version of Windows 95? Chances are you signed several pieces of paper saying that this version does not exist. If you still aren't sure, when you run:

C:\> ver /r

Mircosoft Windows 95 [4.00.1034]
        (C) 1981-1996 Microsoft Corporation

and get that output, (a minor version GREATER than 950) you are running a copy of Windows 95 that does not exist. You still may be running a FAT16 or FAT12 partition, which LILO can deal with. However, you may be running a FAT32 partition which means you can't get LILO to load up a DOS/Win95 or even read/write/mount it. Run FDISK on that partition to be sure of it's type. If indeed it is FAT32 your best bet is then to use the LINLOAD package that comes with newer distributions of Linux and is widely available at your favorite FTP site.

_5.1 HELP!, I'm stuck with FAT32!_

_5.1.2.1 I have this brand new box that I got from (unamed chain/retail store)_

Newer PCs (Built/sold AFTER July 1996, claiming to have "Enhanced Windows 95") Will probably have FAT32 installed. (Use MS's fdisk program to verify this) If you are installing Linux ontop of this pre-existing system, follow the steps from above about installing Linux onto a Win95 system, but do NOT install LILO. Instead, skip to section 5.1.2 entitled "linload, what's that?" and read the step-by-step workaround for this unfortunate situation.

_5.1.2.2 OK, I get that inside joke about "ver /r" and signing lotsa papers, but I can't boot Win95/6!_

You just got your shiny new CD from Microsoft and you just HAD to run that fat32.bat program so you could free some clusters. The word beta is a flashing neon sign to you saying "come one, slay me, find my bugs." It's OK, I understand, I have a short attention span too, as well as a need for disk space. When you installed/upgraded with OEM-SR2 the MBR got overwritten (again!) You then probably re-installed LILO (with procedures mentioned in section 6 and were happy until you read the documentation on FAT32, and began to lust after the 10 or 30 megs more you could have on your disk. Upon reboot you then realize that LILO won't load a FAT32 partition (I don't think it will, this is completely untested!) Do not completely blow your brains out over this. IF you made an emegency, backup OEM-SR2 boot disk (like you were supposed to) you can skip all the way to the _italics_! If you didn't, there still IS a workaround!

_5.1.2.2 I really messed up this time!_

Load up Linux and mount the OEM-SR2 CD under /cdrom Then, find the disk image of the emergency systems disk. Under Linux do a

litterbox:/cdrom# find ./ -name "rawrite.exe" -print

to find the directory. Using "dd" copy this image to a new, FORMATTED, floppy. (If you aren't sure how to use dd, "man dd" gives examples). _Mount this floppy now as a DOS floppy, and copy a copy of your kernel, as well as the linload package to it (either off of your distribution CD-ROM or from your favorite sunsite mirror.) Reboot off this floppy, and type "fdisk /mbr" which clobbers your MBR again. Copy and install the linload program to its own directory on your hard disk, as well as the kernel._

_5.1.3 Linload, What's That?_

Linload is a DOS execuatble which loads a kernel image from a DOS HD (or floppy) and then boots the rest of the Linux Operating System from an appropriate root partition. If you're really a good hacker, you can do a floppy-less Linux install this way, but today we are going to do more traditional uses. When booting into Windows 95 hit the F8 key (when:

Starting Windows 95...

is displayed) and select "Safe mode, command prompt only." Go to your directory where you put your kernel and run "linload.exe zimage root=/dev/hda2 ro" from there. If you are any good with an MS-DOS setup with a multiple AUTOEXEC.BAT and CONFIG.SYS files, you can setup one MS-DOS boot-time option to use linload.exe and the other to do

_6 Problems?_

In the reverse of the begining scenario (you have a working Linux box and are forced by some power to install Windows 95) Windows 95 WILL overwrite your MBR, and thus crush LILO. You have two options: use loadlin.exe to load your kernel, and use that to run Linux, or boot Linux using a floppy and/or loadlin, then re-install LILO.

Best of luck with your new system!

-Jon        President and CEO, Internet Consulting by Jon
Voice: +1 317.823.8221  Fax: +1 317.823.8184
9010 Anchor Bay Drive, Indianapolis, IN 46236