Search Members Help

» Welcome Guest
[ Log In :: Register ]

Mini-ITX Boards Sale, Fanless BareBones Mini-ITX, Bootable 1G DSL USBs, 533MHz Fanless PC <-- SALE $200 each!
Get The Official Damn Small Linux Book. DSL Market , Great VPS hosting provided by Tektonic
Pages: (4) </ [1] 2 3 4 >/

[ Track this topic :: Email this topic :: Print this topic ]

reply to topic new topic new poll
Topic: USB flash boot + USB flash embeded, can we combine the two ?< Next Oldest | Next Newest >
BadIdea Offline

Group: Members
Posts: 1
Joined: Nov. 2004
Posted: Nov. 18 2004,21:41 QUOTE

it would be nice if we could use a single installation on a USB flash card to boot into dsl and use the same card to launch embedded dsl. Would this be possible ?
Back to top
Profile PM 
cbagger01 Offline

Group: Members
Posts: 4264
Joined: Oct. 2003
Posted: Nov. 19 2004,05:06 QUOTE


It should be possible.

On my to-do list is to try and get a triple-boot USB pendrive of DSL 0.8.4

I probably won't be able to get to it in the next few days, but here is the approach. Much of it is borrowed from a previous post by myself on setting up a USB key drive with FreeDOS and the Dell bootable USB key utility:

1) Create a bootable USB device with FreeDOS using the Dell USB key utility.  Grab the latest version of the FreeDOS kernel and command file from the FreeDOS website because there are bugs in the default FreeDOS version that is supplied by the Dell program when it is used with FAT32 hard drive partitions.
2) Add the newer version of the loadlin program that is used for booting a linux 2.4.x kernel from DOS.
3) Copy the linux24 and miniroot.gz file over from the DSL USB boot floppy
4) Copy the unzipped dsl-embedded files over to the pendrive.  This inlcludes a dsl.iso file.
5) Create a loadlin config file to boot up the DSL kernel and miniroot with the following boot parameter:

dsl bootfrom=/dev/sda1/dsl.iso

6) Create a config.sys DOS boot menu that has choices to boot up into FreeDOS or DSL.  If you wish to run DSL Embedded from MS Windows, you just double-click on the dsl-windows.bat file on the USB drive while inside Windows Explorer.

You can also store your myDSL extensions on a virtual embedded hard drive located on the USB device.

The last hurdle is to figure out some way ( mount -t ext2 -o loop /sda1/harddisk /mnt/virtdrive  ????) to mount the virtual harddrive file while you are booting into Native non-embedded DSL distro.  This way, you won't need to store two copies of your myDSL extensions depending on whether you boot with native DSL or embedded DSL.  Another approach would be to use the mkmydsl script to create a custom dsl.iso file and replace the standard dsl.iso file with your new one.

Implementing these ideas should be possible. I or someone else just needs the time to do this.
Back to top
Profile PM 

Posted: Dec. 14 2004,17:10 QUOTE

I have made a working triple-boot usb pendrive with dsl-0.8.4.

I used a modified minirt24.gz with the loop.o module, a loop-enabled
mount command and a hacked linuxrc. The trick is to mount the dsl iso
image and the harddisk image with the loop option and to specify the
extensions harddisk with the mydsl boot option. I didn't use the knoppix
bootfrom option because I wanted to mount both the dsl iso and the
harddisk image before init is started.

The boot from usb is done with syslinux on vfat (no freedos) or with
an usb bootfloppy. The qemu boot from linux or windows is done in
the usual way.

If you are interested I can upload my changes on a web site.

Massimo Dal Zotto <>
Back to top

Posted: Dec. 15 2004,02:53 QUOTE

Dizzy, I am interested in reading your changes.  Please post a link.
Back to top
cbagger01 Offline

Group: Members
Posts: 4264
Joined: Oct. 2003
Posted: Dec. 15 2004,04:01 QUOTE


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 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.
Back to top
Profile PM 
16 replies since Nov. 18 2004,21:41 < Next Oldest | Next Newest >

[ Track this topic :: Email this topic :: Print this topic ]

Pages: (4) </ [1] 2 3 4 >/
reply to topic new topic new poll
Quick Reply: USB flash boot + USB flash embeded

Do you wish to enable your signature for this post?
Do you wish to enable emoticons for this post?
Track this topic
View All Emoticons
View iB Code