Logic Assembly Software Logo
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.

I could have gone with many other more user-friendly Linux distros, but based on the research I found, 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 Windows-like features 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. Basic Linux fit the bill perfectly and I encourage others to give it a whirl on that old 'paperweight' sitting in your garage.

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!
    Copyright © 2006-2014, Logic Assembly, All Rights Reserved.