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 DOS
Okay, 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:
find that old dusty DOS floppy disk, or use that Windows 98 EBD ("Emergency Boot Disk") feature to create a boot disk for you
put the boot disk in your floppy drive and reboot (you're running on an older machine that has a floppy drive, right?)
after booting, run fdisk.exe and delete all the partitions on your hard drive (you did back-up anything of importance on this machine?)
in fdisk, create a primary bootable 100MB partition and exit
reboot the machine, again with your DOS boot disk
your single 100MB partition will be drive C:, so run the following command:
format c: /s
after the format is complete run the following commands:
c:
mkdir dos
cd \dos
copy a:\*.*
now your computer will boot DOS without a floppy disk and you have the basic DOS files on your hard drive.
Step #2 - Boot Basic Linux from Floppies
Visit 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 Partition
If 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...
fdisk /dev/hda
[n]ew
[p]rimary
2
<HIT ENTER FOR FIRST/DEFAULT CYLINDER>
+100M
a
2
w
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:
mke2fs /dev/hda2
The Basic Linux filesystem is now ready to me mounted and for the files to be copied.
mkdir /hd
mount -t ext2 /dev/hda2 /hd
install-to-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 Drive
As soon as you see "LILO", quickly hit the <CTRL> key. You should see a "boot:" prompt.
Type in the following command:
hd root=/dev/hda2
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 Floppies
LILO 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:
mount /fd
cp /fd/chain.b /boot
edit /etc/lilo.conf
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:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
compact
prompt
timeout=100
image=/boot/zimage
label=Basic_Linux
root=/dev/hda2
read-write
other=/dev/hda1
label=DOS
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:
lilo -v
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
Added DOS
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!
<< Logic Assembly Home
| << Linux Help