Joined: Oct. 2003
||Posted: Dec. 15 2004,04:01
I DID get DSL to triple boot from an *.iso file on a USB pendrive.
The new arrangement works as follows:
The drive is formatted to a bootable FreeDOS FAT filesystem using the Dell memory key boot utility program. The FreeDOS kernel and command interpreter files were then manually replaced with FreeDOS 0.95b files to resolve the FAT32 read/write issue.
During bootup, a config.sys menu gives the user the choice to boot directly into FreeDOS command prompt or boot up DSL.
DSL is booted via loadlin. I used the standard DSL kernel linux24 file that is part of DSL versions 0.8.x/0.9.x but I needed to create a custom minirt24.gz file that contains not only the loop.o modules, but a bunch of other executables and busybox that is needed to use the "bootfrom" an *.iso file command parameter. Originally, you can only execute a "bootfrom" for an ISO file if you are already booting from a KNOPPIX livcd compressed image but this customized miniroot avoids this requirement. I needed to modify the linuxrc to delete the extra programs at the end because these files take up too much room inside the root filesystem.
I also installed dsl-embedded 0.9.0.1 on this thumbdrive and I use the same dsl.iso file for BOTH the embedded qemu bootup from MSWindows and also for the USB loadlin bootfrom
This eliminated 50MB of duplicated space on my thumbdrive.
Finally, the icing on the cake is this:
I create a qemu virtual hard drive image file on the thumbdrive similar to the 60MB harddisk image that is provided inside the dsl-embedded zip file.
But I can also use this "virtual hard drive" image file when I am running DSL natively via a USB bootup. I create a mountpoint /mnt/qemuhd and then I mount the first partition inside my image file using the loop device and the offset parameter.
In this way, I can save user files and myDSL extensions in a place that is accessable by both my dsl-embedded session and my native DSL session.
Files can also be saved to the USB FAT directory if you are the "root" user (it does not work as username "dsl" for some reason), and they can also be accessed during a dsl-embedded session by doing the following:
1) Install samba.dsl into the virtual hard drive image, OR create a remastered dsl.iso that includes this extension.
2) In MS Windows, enable network sharing for your thumb drive. For example, if your thumb drive is E: drive, then enable network file sharing on E:\ drive.
3) After booting dsl-embedded, use samba command line program "smbmount" or the "linneighborhood" gui to mount your //WINCOMPNAME/E file share.