Tiny.exe/Autoexec.bat USB Drive - booting off floppy problem
Tiny.exe/Autoexec.bat USB Drive - booting off floppy problem
I'm using the version of Tiny.exe that comes with the boot2pup image. It's version 0.8
I'm getting the error:
"Command Line Too Long, Truncated"
This later causes:
"Cannot Mount Home Device : Cannot Save Personal Files"
(I modified autoexe.bat where tiny.exe is called to get it to boot right of my USB stick [see thread below for explaination])
So I switched to Tiny.exe version 1.2, thinking the latest would work better. Now the USB drivers don't load.
For anyone that's made it this far, this is a continuation of the thread here:
http://www.murga.org/%7Epuppy/viewtopic.php?t=581
Note that in the second to last post in the thread, BungaDunga mentions this also. We are both headed down the same road I think.
I'm getting the error:
"Command Line Too Long, Truncated"
This later causes:
"Cannot Mount Home Device : Cannot Save Personal Files"
(I modified autoexe.bat where tiny.exe is called to get it to boot right of my USB stick [see thread below for explaination])
So I switched to Tiny.exe version 1.2, thinking the latest would work better. Now the USB drivers don't load.
For anyone that's made it this far, this is a continuation of the thread here:
http://www.murga.org/%7Epuppy/viewtopic.php?t=581
Note that in the second to last post in the thread, BungaDunga mentions this also. We are both headed down the same road I think.
Correct.Bruce B wrote:I think you are using FreeDOS.
Looks like 87 (not counting the executable name or the space)Bruce B wrote:How long is your command?
tiny.exe C:\vmlinuz C:\image.gz root=/dev/ram0 PROOTFS=umsdos PSLEEP=25 PFILE=pup100-none-262144
With 1.0 - 1.2 gujin I don't get the command line arguments error (using same DOS and autoexec).
Although they each has other issues:
1.2
Loading USB base driver modules...
FAILED TO LOAD USB BASE DRIVER MODULE
1.1
Loading USB base driver modules...
FAILED TO LOAD USB BASE DRIVER MODULE
1.0 (*note, I do have a root= option in my argument)
Please append a correct "root=" boot option
Kernel Panic: VFS: Unable to mount root fs on 00:00
Using 0.9 I get the same command line arguments error as 0.8
Thanks for the info. I'm bound and determine to get this working.
You count the entire string from start to finish. May I suggest using GRUB for DOS on your floppy? You must make a bootable MS-DOS disk.
With an MS machine and clean formatted floppy type:
http://www.murga.org/%7Epuppy/viewtopic.php?t=449
you will need to modify the menu.lst file included in the package
good luck!
With an MS machine and clean formatted floppy type:
- sys c:\ a:
- format a: /s /u
http://www.murga.org/%7Epuppy/viewtopic.php?t=449
you will need to modify the menu.lst file included in the package
good luck!
Sorry, it doesn't seem to work with USB.
I only have hd0 and fd0 listed as available devices. No light on the USB flash drive either.
I was all set to be the guy that got the USB entries for the menu also, what a bummer.
Are there any other options available? I was going to try "wakepup" but that just calls tiny.exe also and I figure I'd have the same trouble.
I only have hd0 and fd0 listed as available devices. No light on the USB flash drive either.
I was all set to be the guy that got the USB entries for the menu also, what a bummer.
Are there any other options available? I was going to try "wakepup" but that just calls tiny.exe also and I figure I'd have the same trouble.
Using FreeDOS is OK, having a longer command line than bare DOS,
so that command line length is no more a problem.
Gujin-1.0 tiny.exe was far from perfection, but since v1.1 you should
have support for long command line and v1.2 can load uncompressed
initrd (i.e. initramfs) on latest 2.6 kernels.
I assume that your error with the kernel is when Linux starts, and not
when you are trying to load the USB drivers from FreeDOS, even before
calling tiny.exe in the autoexec.bat.
I think you have to search a solution in the Linux kernel configuration,
because everything seems loaded correctly (the kernel has correctly
started), you can maybe check that the initrd is correctly recognised
by appending the "debug" on the command line and follow messages
on screen.
The big difference in between starting from a bootable CDROM
containning those vmlinuz and image.gz and starting from USB drive
is that the USB stack is active by the disk emulation and that may
create a problem somewhere in Linux USB drivers.
Check USB parameters and maybe EDD (extended BIOS disk)
parameter too.
You may want to check if those vmlinuz and image.gz are correct
by writing them either on a CDROM or on a current E2FS/E3FS or
FAT partition in the /boot directory to boot them using the complete
Gujin loader - for instance installed on a floppy. You then have to
rename them, something like vmlinuz-test and initrd-test.
Etienne.
so that command line length is no more a problem.
Gujin-1.0 tiny.exe was far from perfection, but since v1.1 you should
have support for long command line and v1.2 can load uncompressed
initrd (i.e. initramfs) on latest 2.6 kernels.
I assume that your error with the kernel is when Linux starts, and not
when you are trying to load the USB drivers from FreeDOS, even before
calling tiny.exe in the autoexec.bat.
I think you have to search a solution in the Linux kernel configuration,
because everything seems loaded correctly (the kernel has correctly
started), you can maybe check that the initrd is correctly recognised
by appending the "debug" on the command line and follow messages
on screen.
The big difference in between starting from a bootable CDROM
containning those vmlinuz and image.gz and starting from USB drive
is that the USB stack is active by the disk emulation and that may
create a problem somewhere in Linux USB drivers.
Check USB parameters and maybe EDD (extended BIOS disk)
parameter too.
You may want to check if those vmlinuz and image.gz are correct
by writing them either on a CDROM or on a current E2FS/E3FS or
FAT partition in the /boot directory to boot them using the complete
Gujin loader - for instance installed on a floppy. You then have to
rename them, something like vmlinuz-test and initrd-test.
Etienne.
- everettattebury
- Posts: 14
- Joined: Sun 08 May 2005, 13:13
- Location: Sarasota, Florida
Ok, it's been years since I wrote batch files, but maybe you could set some DOS environment variables to be your parameters to tiny.exe, then use those environment variable names in the tiny.exe command line? Maybe this could get you around the command line length limitation?John Doe wrote:Correct.Bruce B wrote:I think you are using FreeDOS.
Looks like 87 (not counting the executable name or the space)Bruce B wrote:How long is your command?
tiny.exe C:\vmlinuz C:\image.gz root=/dev/ram0 PROOTFS=umsdos PSLEEP=25 PFILE=pup100-none-262144
With 1.0 - 1.2 gujin I don't get the command line arguments error (using same DOS and autoexec).
Running Puppy 1.0.2 from 1gb Sandisk Cruzer Mini.
You can't fool dos with a varible, it counts the 'expanded' command line.Ok, it's been years since I wrote batch files, but maybe you could set some DOS environment variables to be your parameters to tiny.exe, then use those environment variable names in the tiny.exe command line? Maybe this could get you around the command line length limitation?
There is a workaround for these limits. Use the 4DOS shell, which is now free. It supports FreeDOS, MS-DOS and DR DOS. 4DOS supports 128 byte command strings.
But the shell is a lot to load from a floppy, somewhere around a 1/4 MB, and needs a memory manager like himem.sys.
Re: Tiny.exe/Autoexec.bat USB Drive - booting off floppy pro
John Doe wrote:I'm using the version of Tiny.exe that comes with the boot2pup image. It's version 0.8. I'm getting the error:
"Command Line Too Long, Truncated"
I'm the guy that did the WAKEPUP boot disk, and your right: what I've done is to completely re-write the BOOT2PUP config.sys & autoexec.bat files to include drivers and support for more hardware before actually calling TINY.EXE and the same parameters that Barry used.John Doe wrote:I was going to try "wakepup" but that just calls tiny.exe also and I figure I'd have the same trouble.
However, I think that I can help you anyway with the truncated command line. Somewhere in the Wiki (it doesn't seem to be searchable, and I can't seem to find the reference again ) someone, I think it was Lobster, explained about an improved TINY.EXE called LINLD.COM which overcomes the limited command line by using a separate file to hold the parameters.
This is something that I just discovered a couple of days ago and I've been testing it myself for, possibly, making a more flexible WAKEPUP boot floppy. It has worked flawlessly for me so far. As I can't find the original reference, I'll give you an example of its use:
LINLD.COM image=e:\vmlinuz initrd=e:\image.gz cl=@puppy.lin
with puppy.lin, a plain text file, containing (for example):
root=/dev/ram0
ramdisk_size=16384
PSLEEP=25
PHOME=hda1
PFILE=pup100-none-262144
PKEYS=us
Like I said, this might be a new approach for making a more flexible Puppy boot disk. This could be done by using a menu to choose the boot parameters that you want. I'm still thinking about it... I'm open to any ideas that you or anyone else has.
Anyway, I hope this helps.
EDIT: Just found the 'search' button in Wiki - it's at the bottom of the page. The reference to LINLD.COM is here - last entry on the page.
Thanks to everyone for the help so far. I'm getting close.
"Command Line Too Long, Truncated" is now fixed with LINLD.COM
Unfortunately, "Cannot Mount Home Device : Cannot Save Personal Files" persists.
My params look like this:
root=/dev/ram0
ramdisk_size=16384
PSLEEP=20
PHOME=sda1
PFILE=pup100-none-262144
PKEYS=us
PROOTFS=umsdos
I get "Failed to mount /dev/sda1 /mnt/home/pup100 on /mnt/pupxxx" during the boot.
I did have to delete the junk pup100 file that was made by the truncated command line. I had this little 2.6k file (guess where it got snipped ) but the new correctly sized file doesn't get found .
I can't find this by searching. Anyone know what to do?
Unfortunately, "Cannot Mount Home Device : Cannot Save Personal Files" persists.
My params look like this:
root=/dev/ram0
ramdisk_size=16384
PSLEEP=20
PHOME=sda1
PFILE=pup100-none-262144
PKEYS=us
PROOTFS=umsdos
I get "Failed to mount /dev/sda1 /mnt/home/pup100 on /mnt/pupxxx" during the boot.
I did have to delete the junk pup100 file that was made by the truncated command line. I had this little 2.6k file (guess where it got snipped ) but the new correctly sized file doesn't get found .
I can't find this by searching. Anyone know what to do?
I must be getting close :-/
I'm not sure. I just tried it without it and get:Bruce B wrote:What's with the PROOTFS=umsdos ?
usb_control/bulk_msg:timeout
Then it continues on and I get the same problem.
Currently:Bruce B wrote:Exactly how is the device formatted? E.g, FAT32, FAT16, ?
Fat16, 512Byte Sectors, 4KB Clusters
Should it be something else?
(I hope this is the case anyway. I'm getting so close)
Addition notes for people searching later
I also get this error, after the "bulk" error:
"The superblock could not be read or does not describe a correct ext2 filesystem."
These are both after it tries to mount /root
"The superblock could not be read or does not describe a correct ext2 filesystem."
These are both after it tries to mount /root
Mark this one solved.
IT WORKS!!! I'M A USER!!
Thanks for the help everyone.
262144 was too big for my card so I changed it to 131072 and it loads right and saves my settings and data when I shut down.
Thanks for the help everyone.
262144 was too big for my card so I changed it to 131072 and it loads right and saves my settings and data when I shut down.