Serving Two Masters

You installed Windows 95, and now you can't boot Linux. Don't panic. The fix is simple, and doesn't require removing Windows or Linux.
LOADLIN

If you are willing to boot DOS in order to boot Linux, you can use the LOADLIN program. In some cases, this is actually the best way to boot Linux. In particular, some sound cards will work under Linux only if they are first initialized under DOS.

Some people who were using LOADLIN to start up Linux from the DOS prompt have discovered that after installing Windows 95, they can't bring up a DOS command prompt window and boot Linux from there—and it is no fun to reboot into DOS in order to finally get into Linux. Perhaps you are one of those people.

As you have discovered, LOADLIN has some limitations. For example, you can't use it to boot Linux while you are running Windows. Even if you aren't running Windows, if you are using an extended memory manager, it must support VCPI in order for LOADLIN to work. However, these constraints don't cause problems if you run it from a CONFIG.SYS menu item. If menu support hasn't been added, your entire CONFIG.SYS file might look something like this:

DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE
FILES=40
DOS=HIGH,UMB

Let's call that your DOS section. You will also need a LINUX section, and you will need to be able to choose between them. In order to cause DOS to allow you to choose between them while booting, you will need a MENU section. The result looks like this:

[MENU]
MENUITEM=DOS, Boot DOS
MENUITEM=LINUX, Boot Linux
[DOS]
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE
FILES=40
DOS=HIGH,UMB
[LINUX]
REM Here is where you would load a driver for
REM a sound card that is not completely
REM supported by Linux.
SHELL=c:\LOADLIN\LOADLIN.exe @c:\LOADLIN\params

The @c:\LOADLIN\params means that the boot arguments for the kernel are kept in the file c:\LOADLIN\params. This file might look like:

root=/dev/hda2
ro

The documentation that accompanies LOADLIN explains this in much more detail, but you are likely to find this explanation sufficient to start using LOADLIN under most circumstances.

Many distributions include a copy of LOADLIN. You can also ftp a copy of LOADLIN from tsx-11.mit.edu in the directory /pub/linux/dos_utils/ in the file LOADLIN15.tar.gz.

Michael K. Johnson is the editor of Linux Journal and has to boot Windows 95 in order to do OCR (Optical Character Recognition) to convert paper books into on-line ones. He entertains hopes that someday soon, he will no longer have the experience necessary to write an article like this...

______________________

Geek Guide
The DevOps Toolbox

Tools and Technologies for Scale and Reliability
by Linux Journal Editor Bill Childers

Get your free copy today

Sponsored by IBM

Webcast
8 Signs You're Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
On Demand
Moderated by Linux Journal Contributor Mike Diehl

Sign up and watch now

Sponsored by Skybot