Learning Debian GNU/Linux

Another way of booting Linux is by using
loadlin, an MS-DOS program that can load a Linux kernel. To load Linux,
loadlin relies on MS-DOS rather than your system's BIOS; therefore,
loadlin can load a kernel stored beyond cylinder 1023. More generally, it can load a kernel from any filesystem or location accessible to MS-DOS.

However,
loadlin cannot be run from a DOS Prompt Window within Windows 3.x or 9x. You must start your system in MS-DOS mode in order for
loadlin to work. By making the proper entries to your
config.sys file, you can create a convenient boot menu that lets you boot MS-DOS, Windows, or Linux.

The
loadlin program must have access to the
file containing the Linux kernel you want to boot. The easiest way to
get this file onto your Windows system is to boot Linux, make sure the
Windows filesystem that corresponds to the Windows C: drive is
mounted, and copy the kernel file. The following commands assume
that your Windows filesystem is mounted as
/mnt/c and that you want to store the kernel in
the directory
c:\linux.

mkdir /mnt/c/linux
cp /boot/vmlinuz /mnt/c/linux/vmlinuz

The
loadlin program needs to know the identity of your Linux root partition. To learn the name of the root partition, issue the command:

The root partition is the partition mounted as /. Here, it's
/dev/hda2. Make a note of the partition name. Then, boot your Microsoft Windows system and copy the file
loadlin.exe from the
/dosutils directory to a convenient location on your hard drive.

To test
loadlin, restart your Windows system in MS-DOS mode, by clicking on Start Shut Down, choosing Restart in MS-DOS Mode from the Shut Down Windows dialog box that appears, and clicking on OK. When the MS-DOS prompt appears, change to the directory containing
loadlin and issue the command:

loadlin c:\linux\vmlinuz root=/dev/hd
xn ro

where
/dev/hd
xn is the root partition of your Linux system, which you earlier recorded. If your Linux files are stored in a directory other than
\linux, you must adjust the command's first argument appropriately. Your Linux system should boot. If it does not, check your work and try again.

Once you're satisfied that
loadlin works with your system, you can configure your system to make using
loadlin more convenient. Microsoft Windows supports a simple boot menu that will let you decide whether to boot Linux or Windows. To create such a boot menu, boot Microsoft Windows and use Notepad to add the following lines to the top of your
config.sys file:

If you're using Windows 3.x or Windows 98 rather than Windows 95, change the file accordingly.

The
config.sys file is located in the root directory of the
C: drive. If your system has no
config.sys file, create one using the lines given.

Now, add the following lines to the top of your
autoexec.bat file:

goto %config%
:win95

The
autoexec.bat file is located in the root directory of the
C: drive. If your system has no
autoexec.bat file, create one using the lines given.

Finally, use
Notepad to create the file
bootopts.txt in the
\linux directory. The file should have the contents similar to the following:

c:\linux\vmlinuz root=/dev/hd
xn ro

Be sure to substitute the name of your Linux root partition for the placeholder
/dev/hd
xn. You can specify additional options if you like. The next section introduces you to the most popular ones.

Now, when you boot your system, you'll see a convenient menu that lets you type a digit to choose which operating system you want to boot.

Another convenient way to use
loadlin with Windows 95 (but not Windows 98) is to create a program shortcut that switches your system to MS-DOS mode and runs
loadlin. Launch the dialog box for creating the shortcut by right clicking on the desktop and clicking on New Shortcut. The dialog lets you specify the contents of the
autoexec.bat and
config.sys files. The former should be empty and the latter should contain the line: