Booting a USB Pendrive From DOS


Forum: Other Help Topics
Topic: Booting a USB Pendrive From DOS
started by: raymond_d_lewis

Posted by raymond_d_lewis on Sep. 27 2004,19:11
I have found the DOS Driver for the Universal, Open, Enchanced Host Controler Interface (UHCI, OHCI or EHCI).  The driver is called USBASPI.SYS and should be loaded in the config.sys.  After loading USBASPI you need to load and additional ASPI driver.  The driver is called ASPIDISK.SYS and should be loaded in the config.sys too.  After loading both you shoul have access to your pendrive, usb hardrive, etc.  Then you can use loadlin to load you linux os on the pendrive/usb hardrive.  The Url to download both files is < http://newdos.yginfo.net/usbdos.htm >

Try to download the usbaspi v2.15 which is called usbaspy4.sys.

Here is the problem After running loading loadlin a get an error message: invalid compressed format (err=1)

I installed DSL on my pendrive using the frugal script and I load loadlin with the following parameters: c:\dsl\linux24 initrd=c:\dsl\minirt24.gz fromhd=/dev/sda1  ramdisk_size=100000 init=/etc/init lang=nl apm=power-off max_scsi_luns=6 vga=792 quiet nomce noprompt noeject splash

If I'm doing something wrong please tell me.

Thanks.

Posted by cbagger01 on Sep. 27 2004,22:48
FYI,

If your computer is capable of using a "bootable" USB drive like most newer Dells, you don't need USB DOS support because the BIOS will emulate your USB drive as if it was a "C:\" drive in DOS.

See this post for more details:

< http://damnsmalllinux.org/cgi-bin....8;st=20 >

Also, I read that the FreeDOS kernel (build 2028) has a bug inside that can corrupt data when writing to a FAT32 disk partition.  So if you use the Dell USB FreeDOS boot utility it would be a good idea to visit the FreeDOS download page and update your kernel.sys (might as well do the command.com too) to a newer version of the file.

Below is my linux.par parameter file that is used for loadlin:

Code Sample
# EDIT THIS BEFORE USING !
#
# this is an example commandline parameter file for LOADLIN
# You may have comments starting with "#" at any place
# comments end at end of a line
# any number of empty lines may be inserted.
# The contents are compacted by LOADLIN to produce an as small
# commandline as possible.
# For more commandline options see the file PARAMS.DOC.
#
# There can only be one parameter file and LOADLIN must be called as:
#   LOADLIN @param_file
# However, the parameters in param_file may be overwritten by
# (or appended to) those following the @param_file, e.g:
#   LOADLIN @param_file image=other_image root=/dev/other
#
#
C:\loadlin\linux24 # first value must be the filename of the Linux-kernel
                  # if this should be changed at load time,
                  # the keyword 'image=' must be used (see above)

#-v              # verbose the actual params, but load anyway
#-t             # write debug output and stop.
#-d c:\dump     # write debug output to file c:\dump and stop.

vga=ask         # legal values are:
               # numeric:
               #   -3    ask
               #   -2    extended
               #   -1    normal
               #   0..9  as if entered on boot-prompt
               # symbolic:
               #   ask
               #   normal
               #   extended
               # However, starting with Linux-1.3.75 the code for
               # vga=has changed, to get the actual values for your
               # special video card, you should use 'ask' and remember
               # the values that were printed on screen.
               #
               # See also linux/Documentation/svga.txt
#root=/dev/hdb2  # the device which gets mounted as root FS
# root=201      # NOTE: the numeric device tokens are hexa !
# root=/dev/sda1
# ....

#rw
# rw

initrd=C:\loadlin\minirt24.gz
#initrd=..\initdisk.gz  # This file gets loaded as 'initial ramdisk'
                       # see initrd.txt for more

#noinitrd               # This keyword is usefull, if you wany get
                       # the 'initial ramdisk' loaded, but not
                       # processed at startup.
                       # It will remain as /dev/initrd.

# this can be used in /etc/rc to do some special work
#MY_SPECIAL_OPTION=what_I_need

ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 nomce noapic quiet BOOT_IMAGE=knoppix frugal alsa restore=sda1

#ether=10,0x280,0xc8000,0xcbfff,eth0
#ether=10,0x280,0xd0000,0xd3fff,eth0




and you call the par file with a command like this:

Code Sample
C:\loadlin\loadlin.exe @C:\loadlin\linux.par

Posted by raymond_d_lewis on Oct. 02 2004,04:38
First of all, I'm assuming dsl is fun because you can carry it on you wallet and because is a lightweight OS that can be run on machines so old that don't have USB ports or they have them but are not able to boot from them.  Second, I'm not using FreeDos.  I'm using a floppy formated from Windows XP with the check box "create ms-dos startup disk" selected.  The boot disk is working fine because it loads all the drivers perfectly and it gives me full access to my pendrive.  The problem begin after loadlin is started.

"invalid compressed format (err=1)"

The parameters on my .par file are:

c:\dsl\linux24 initrd=c:\dsl\minirt24.gz fromhd=/dev/sda1  ramdisk_size=100000 init=/etc/init lang=nl apm=power-off max_scsi_luns=6 vga=792 quiet nomce noprompt noeject splash

I know there  most be something wrong with my parameters. I will really appreciate if someone can help me.  All the files are on the usb pendrive including the kernel images because they dont fit in the floppy with the usb and aspi driver with loadlin.  My pendrive is mounted on DOS in C: and in linux is SDA1.

Posted by cbagger01 on Oct. 02 2004,14:35
Don't use the command line to pass all of your parameters.

DOS has this nasty habit of turning all command line parameters into UPPERCASE LETTERS.  This can cause problems with some of the DSL boot commands.

Try using the linux.par parameter file method and see if it works for you.

FYI, my bootable USB drive works great on newer computers that can boot from a USB device.

It also works well on old computers, as long as you boot with the USB version of the DSL boot floppy.  I believe that the image is stored at the DSL download site as dsl0.8usbboot.img or something like that.  You use rawrite32 or a similar program to create the boot floppy disk.

I have used it on an ancient Pentium 200MMX box with old USB ports and it works fine.

Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.