Linux Tips Index --> Linux - How to Install Basic Linux 3.50 to a Hard Drive with Dual Boot
Basic Linux will always have a special place in my heart as it was the first Linux distribution I chose
when I decided it was time to begin the journey of moving away from Windows. I've never met a command
line I didn't like [with exception of Microsoft's NT recovery console - A true P.O.S., with less features than MSDOS 3.0].
The thing that kept
me away from Linux in the 90s was the lack of standardization or at least my perception of such. I didn't want to fill my brain
full of special cases so I procrastinated and stuck with Windows, although there are so many versions of
Windows now, my brain is full of special-cases anyway :).
I could have gone with many other more user-friendly Linux distros, but based on the research I found on the internet, Basic Linux was the distro that was the smallest (i.e. you can run this off of two 1.44 MB floppies), had the most minimal system requirements (i.e. I could resurrect that old yet perfectly functional Pentium 166MHz gathering dust), and it was the most scaled down version of Linux available. Why would I want a scaled down version of Linux? Because my goal was not to learn about all the cutesy little add-ons you get with DVD-size Linux installations nowadays, but to learn the gory details of what makes Linux tick. Once I could learn that, I knew I should be able to apply that knowledge to any modern Linux distro (which would eventually replace my main Windows desktop machine).
Basic Linux fit the bill perfectly and I encourage others to give it a whirl on that old 'paperweight' sitting in your garage. Linux is also a testament to people speeding up their computers not by buying all-new hardware to run the latest bloated version of Microsoft Windows, but by switching to a free, highly-maintained open-source operating system without commercial interests.
Help was a little tricky to find on the internet since most people that run Linux want an a distro with a good deal of features [similar to Windows and Mac] so you can imagine most of the Linux chatter is not about running Basic Linux! This is why I wanted to publish this diary of how I got Basic Linux working on a couple of my old computers because I believe Basic Linux is definitely a distro worthy of power-users, even if the kernel hasn't been updated since 1999.
As with any operating system [even back in the DOS days of the 80s], the first thing you want to do is get it on your hard drive so you don't have to swap floppy disks [although Basic Linux will work exclusively with floppies just fine!].
Before continuing, please visit the official Basic Linux website and get more acquainted with Basic Linux if you have not already.
Step #1 - Install DOSOkay, this is not really a requirement, but I always install a little 100MB DOS partition on my machines mainly for fixing problems. For example, when Windows won't boot, and Microsoft's recovery console is next to worthless, booting to good old DOS so I can restore a drive images, check the MBR, test the hard drive with SpinRite, etc. This step also allows me to show you how to dual boot between Linux and DOS (or even Windows if it is on your machine). You can also run Basic Linux from within a DOS environment, but I won't discuss that here because I don't consider that a real Linux installation. If you want to run Basic Linux from within DOS, please refer to the official Basic Linux website [above] for those instructions; it looks pretty easy :).
If you don't know how to install DOS, or need a refresher course, follow these steps:
format c: /s
Step #2 - Boot Basic Linux from FloppiesVisit the official Basic Linux website and download "Floppy Version 3.50". Follow the instructions to build your two Basic Linux floppy disks, and reboot your machine with disk #1 in the drive. When the boot process begins, you'll see a "LILO" prompt and after a couple seconds you'll see "Loading BL3_ramdisk". Eventually (after 30 seconds or so), you'll be instructed to insert disk 2. After Basic Linux is booted (45 seconds to 1 minute), you'll see some instructions followed by "Please press Enter to activate this console". Simply hit ENTER and you'll see a shell prompt:
You'll notice you are not required to log in at this time. We can address this later...
Step #3 - Setup your Linux PartitionIf you have an IDE drive, the first hard drive in your machine will be indentified by the Linux path /dev/hda, the second /dev/hdb and so on. If you have SCSI or SATA drives, your drive identifiers will be /dev/sda and /dev/sdb respectively. In the remainder of the steps below, we assume you are using /dev/hda as your primary hard drive, so replace that with /dev/sda if necessary.
The following fdisk commands create a 100MB Linux partition (after your DOS partition) to store the Basic Linux operating system. No swap partition is needed as with other Linux installations so that makes the whole process a little simpler. Feel free to specify a bigger partition than 100MB, but that is all I needed...
<HIT ENTER FOR FIRST/DEFAULT CYLINDER>
Now that we have created a second partition we will use for Basic Linux, we need to format it with the ext2 filesystem before we can put files on it. Run this command to do the format:
The Basic Linux filesystem is now ready to me mounted and for the files to be copied.
mount -t ext2 /dev/hda2 /hd
After the "install-to-hd" script starts, you'll have to press "Y" to begin copying files to the Linux partition. When this completes, you'll need to reboot the machine with Basic Linux disk #1 in the drive one more time. Use the "reboot" command or the "three-finger-salute" (<CTRL>-<ALT>-<DEL>).
Step #4 - Manual Boot to Linux Kernel on Hard DriveAs soon as you see "LILO", quickly hit the <CTRL> key. You should see a "boot:" prompt. Type in the following command:
If all goes well, you'll see "Loading hd" followed by the remainder of the Linux bootup messages. Although you needed a floppy to initiate the the boot process, you've just booted the Linux kernel that was copied to your hard drive. The steps that follow will allow you to boot without any floppies.
Step #5 - Configure LILO So We Can Boot Without FloppiesLILO stands for LInux LOader and is responsible for booting Linux. Strangely enough, Basic Linux does not come with all the LILO files necessary to dual-boot alongside another operating system although the file you need will fit fine on Basic Linux boot-floppy #2. Those that have tried are probably familiar with this error:
open /boot/chain.b: No such file or directory
Since Basic Linux was based on Slackware 4.0, you need a file called chain.b from the Slackware 4.0 distribution. No need to search for it, I have it available for download if you click in the link above. Unzip it and copy the chain.b file onto your Basic Linux floppy #2. Insert this into the floppy drive of your Basic Linux machine and follow these steps:
cp /fd/chain.b /boot
You'll be in a text editor, editing the contents of the LILO configuration. Edit the contents of this file so that you have the following Linux/DOS dual-boot configuration:
Now, you need to save changes using the <CTRL>-O command, followed by <CTRL>-X to exit. Once back at the shell prompt, you need to commit the LILO changes so that the boot sector invokes LILO instead of DOS:
You should see output similar to the following:
LILO version 20, Copyright 1992-1997 Werner Almesberger
Reading boot sector from /dev/hda
Merging with /boot/boot.b
Boot image: /boot/zimage
Added Basic_Linux *
Boot other: /dev/hda1, loader /boot/chain.b
Writing boot sector.
Now, invoke the "reboot" command and eject any disks from your floppy drive. When your computer starts, you'll see the "LILO" prompt. If you hit <TAB>, you'll see the choices "Basic_Linux" and "DOS". You can hit <ENTER> for the default option (Linux) or type in either option to boot to that operating system. The default operating system will boot if no choice is made within 10 seconds (as specified in the lilo.conf file).
BASIC LINUX IS NOW INSTALLED!
Now what? Read on to my next page Basic Linux Post Installation Suggestions so you can set it up to work with your hardware and connect to the internet.
Please report comments or errors on this page using the Contact Form. Thank you!