From ariel lh on Fri, 12 Feb 1999
Hi!, i have a 6.4Gb Western Digital HDD partitioned with EZ-Drive (version 9.03w) into 4 partitions (3 of 1.95Gb and one 117Mb). The first one has MS-Windows and the other 3 partitions are empty. I've read lots of info about installing linux on large HDD, because it has to be installed below the 1024 cylinders.... i must tell you that i don't understand anything about this nor partitions. How would i know is i can install linux in any of the other partitions?
Linux doesn't have to be installed below the 1023 cylinder boundary. It doesn't have to be installed on the first or second hard drive. Linux can be installed in many different ways across all sorts of devices. (Indeed its possible to install Linux on a remote hard drive and to a boot over the network mounting the root filesystem via NFS).
There are two rules regarding a Linux installation:
- The kernel must get loaded (by a supported system into a sufficient block of memory)
- The kernel must be able to access a root filesystem somewhere.
The first requirement is generally thought to mean that you must install Linux where a typical PC BIOS can "find" it. Thus the commonly repeated "1024 cylinder" problem. Old BIOS' couldn't access beyond the 1024th cylinder (numbered 0 through 1023, naturally). This was a BIOS limitation and it applies to all operating systems. However, some of them (like NT and OS/2) get around that by using a "protected mode" (32-bit) boot loader. This generally requires that these systems create a small 1 or two Mb mini-partition. Linux doesn't require this.
The most commonly used boot loader for Linux (LILO) is a small real mode program. It therefore must work with the BIOS to load a Linux kernel. Another common loader is Syslinux. This installs a suitable boot loader into an MS-DOS (FAT) formatted floppy. Yet another option is LOADLIN.EXE, a DOS program for loading Linux (from a common DOS batch file, or from the DOS CONFIG.SYS --- via a SHELL= or INSTALL= directive). LOADLIN.EXE is currently included with a newer package called Linux_Load95 --- which is a Win '9x loader.
The easiest way to address the situation you've described is to use LOADLIN.EXE --- let it load your kernel.
You can do your initial installation by booting off of a CD (assuming you get one of the distributions that's shipped on a bootable CD --- which would be approximately all of them within the last couple of years). After the installation is complete (most distributions don't offer direct LOADLIN.EXE support) --- you'd copy your Linux kernel to some directory under one of your DOS/Windows filesystems. Then you boot into MS-DOS (Win '9x "Safe Mode") and install LOADLIN.
Please search back issues of Linux Gazette for more details on that.