Installing Dsl To Hard Drive


May 11, 2007
Outer Heaven!
Visit site
Dear Readers,

I have decided to install DSL (Damn Small Linux) to my hard drive. I currently am dual-booting Windows Xp Home Edition and Ubuntu 8.04 lts 32-bit. I have the grub menu already working fine. My question though involves the installation process of DSL. I have found a wiki tutorial to install to a hard drive ( ), but somethings remain yet unclear. For one I am using the "Installing DSL to Harddisk (another way)" from the site listed above. I have a unpartitioned chunck of memory on my hard drive (9.76 Gib and unformatted). This is the process I am taking. 1) Insert live cd and turn on computer, 2) When DSL screen appears, I hit f2 and f3, 3) when the menu pops up, I type install 4) From the next menu I type cfdisk to partition the unformatted chunk of memory and format it. Ok, I haven't partitioned the chunck yet, but after I do and it returns to menu with all the install options, what do I click next? I already have the grub menu so do I click install to hard drive, or install with grub or install with lilo. The reason I ask is I don't want conflicts with my grub and I still want this distro to appear on my grub. I apologize in advance for confusion, if I am not being clear enough. Just ask for more info if need be. Thanks for your help and patience.

-Spadoof :gp2x


I feel a great disturbance in the source
Nov 1, 2006
Visit site
I don't have direct experience with DSL, but do have quite a bit of experience with Linux. Unfortunately, their online documentation stinks and doesn't provide the details I need to give you a good answer.

Nor do I have experience with Ubuntu.

Most Linux distros create a separate boot partition that is mounted to /boot. It looks like Ubuntu might not by default from my brief google searching. It instead would just create a /boot folder in your main root partition. Either way, it contains the grub configuration files and the Linux kernel that grub loads. What I would do is backup the grub configuration file (/boot/grub/menu.lst) in your current boot partition. Might also want to backup the kernel files in /boot as well in case DSL installs a similarly-named kernel (this is unlikely, however). Then, you have two good options:

1.) Install DSL to your new partition using the usual process, and tell it to install its kernel and grub stuff to the existing /boot partition. The big question is if it has you do all the steps manually or if it does it with a script. If it has you do them manually, good. Install the kernel aside the current kernels in the existing root or boot partition. Edit the existing /boot/grub/menu.lst in that filesystem to contain a third entry for your new DSL kernel with the appropriate root=/dev/blahlblah kernel parameter. If you installed your new big 9.7GB partition as /dev/sda4 then your kernel parameter would be root=/dev/sda4

2.) If it does things with a script and you don't want to screw up the existing root or boot partition you can create a second "boot" partition for DSL. That means you will be creating two new partitions for your DSL installation, a smaller maybe 100MB primary boot partition and a second "extended" 9.66GB partition for DSL. First, though, boot into Ubuntu and take a look at your current /boot/grub/menu.lst file. In the Linux boot entry look for a line like this:
root (hd0,1)
Write that down. Then, install DSL linux, creating that additional boot partition. It will overwrite the grub boot record you currently have with a new one that will load grub's "stage2" off the new boot partition you made. Not a problem. Simply boot DSL once it is installed to your hard drive. Mount your old root or boot partition (In ubuntu's case it is probably a boot/ folder in your main Linux partition to a folder somewhere. Maybe create a /mnt/tmp folder and mount it there. Copy the new kernels in DSL's /boot folder to this partition's folder aside your older kernels. You then will issue one of the following two commands.. The first one is for the probably case where Ubuntu has its kernels and grub stuff in a boot/ folder under its main root partition and you have that root partition mounted to a folder /mnt/tmp/ :
grub-install --root-directory=/mnt/tmp/boot hd0

The second command you would issue in place of that is if Ubuntu installed its kernels and grub stuff to a separate partition (this is less likely I think) and you have that separate partition mounted to /mnt/tmp/ :
grub-install --root-directory=/mnt/tmp hd0

Then, you will edit /mnt/tmp/grub/menu.lst or /mnt/tmp/boot/grub/menu.lst to contain a third entry for your new DSL installation. You can just copy the DSL entry from /boot/grub/menu.lst. It should work verbatim. Then you can ignore the new boot partition you made with DSL since it will no longer be used by anything. You could delete it once you are confident everything is working OK.

You will also want to edit your /etc/fstab. It will have that second extraneous partition mounted to /boot. Comment that entry out. You will create a folder /mnt/blahblah that you will mount your Ubuntu partition to. Create a new entry in /etc/fstab for that. Then, issue the following command on bootup, editing /etc/rc.local or whatever your rc.local file is under DSL:
mount --bind /mnt/blahblah/boot /boot

That will make /boot under DSL point to the actual boot stuff.


Recovering Jerk-A-Holic
Oct 19, 2005
USA California
Visit site
I like DSL as much as the next guy, but Puppy Linux is a much more full-featured lightweight if you are going to install to a hard drive (unless you plan on getting a real X server that can handle more than 60hz refresh).