Image

Linux Netbook on the Cheap

Not too long ago, I came into possession of an old piece-of-crap laptop (Gateway Solo 3300). I managed to get a full Debian install on it, but, well, it isn't working too well. At all. I can boot into it, but then can't do anything with it. This old laptop just can't handle a full Debian install. And there's no simple way to whittle the existing installation down to a usable level.

I finally came to the realization that I really need to put a mini Linux distro on it if I want to be able to actually use it. There are a number of mini distros that could work (DeLi, Puppy, DSL, etc) -- I chose DSL (Damn Small Linux) since it has a naughty word in its name.

There is still the problem of how to get it installed on that old laptop since it does not have a CD drive or a floppy drive, and can't boot from a USB device.

I started reading up on booting via PXE (which the laptop does support). After much Googling and reading, I was under the impression that this would be a rather involved process to get a PXE server configured and running.

Then I happened across the little miracle of SliTaz linux. This is another mini distro, and is intended to load completely into RAM. Lots of cool things about it, but for my situation the best thing is that it is easily configured to run as a PXE server.

Sweet.

Unfortunately, since SliTaz is meant to run completely in RAM, I can't use it as the installed OS on the little laptop. It only sports 64MB of RAM, and SliTaz wants 128MB to run well. SliTaz does have some options for running on low-memory systems, and I tried them out, but the speed trade-off just wasn't worth it. So, I'm sticking to a DSL installation.

But SliTaz made the process a whole lot easier. Here's the step-by-step:

The client machine: Gateway Solo 3300
Pentium 3
64MB RAM
5GB hard drive
No other media drives (CD/DVD)
USB port, but does not support booting from USB


1. Download SliTaz linux ISO and burn to disk. You will need to use the "cooking" version, which has the necessary apps for running a PXE server. I used the loram ISO (derived from "cooking") for reasons that will be explained later.

2. Download DSL ISO (I used the standard 4.4.10 ISO) and copy to USB flash drive. I did this the long way: First I burned the ISO to a disk, then just copied all the files from the disk to the flash drive.

3. Boot the server with the SliTaz disk (assuming it will boot from CD/DVD). I used my old Dell Inspiron 8100. Note that SliTaz loads completely to RAM, so you'll want at least 256MB, though it will run on less. The reason you want more RAM is that you'll be copying the kernel image and compressed filesystem files into the RAM disk.

4. Per the simple instructions, set up the SliTaz-booted machine as a PXE server. If you know the proper settings, it's a good idea to include the vga=xxx option in the boot parameter list when editing the PXE configuration file. For the Gateway Solo 3300, the setting is vga=788. Leave the Netbox window open; you'll need it later.

5. Connect the client machine to the SliTaz server with a cross-over ethernet cable. I did this to avoid reconfiguring my home network (router settings, etc). Trust me, this is the simplest thing to do.

6. Turn on the client machine and enter the BIOS setup, usually by pressing a function key within the first few seconds of being powered on. For the Solo 3300, press the F2 key.

7. Set the client machine's BIOS to boot via PXE (might be called something like network boot).

8. Save settings and exit the BIOS setup.

9. The client machine should connect to the PXE server and boot SliTaz.

10. When the GUI logon screen pops up, press Ctrl-Alt-Backspace to exit out of X.

11. At the CLI prompt, login as root (password is root).

12. Run fdisk to partition the hard drive. I set mine up this way:
hda1 = 256MB swap
hda2 = 4.5GB linux (for the DSL installation)
hda3 = ~500MB linux (temp use for installation)

13. Format the new partitions appropriately (mkswap, mke2fs).

14. Plug the DSL USB flash drive into the client machine and mount it.

15. Copy all the files from the flash drive to the temporary (hda3) partition. Note that you may need to rename the KNOPPIX directory and file if they were changed to all lower-case when copied to the flash drive.

16. Shutdown the client machine and remove the USB flash drive.

17. Remove the SliTaz disk from the server machine (should have automatically been un-mounted).

18. On the server machine, insert the USB flash drive and mount it.

19. Copy the linux24 and minirt24.gz files from the flash drive to /boot on the server machine.

20. In the Netbox window, go to the Server / PXE tab and edit the configuration file like this:
label dsl
kernel linux24
append initrd=minirt24.gz rw root=hda3 vga=788

21. Now go to the Server / DHCP tab, click Stop, then click Start. This will pick up the changes you just made to the PXE configuration file.

22. Boot the client machine again. This time it will boot into DSL.

23. When fully booted into the DSL environment, follow the normal instructions to install it to the hard drive.

That's it! Don't forget to change the BIOS settings of the client machine to boot from the hard drive now.