Making a custom DSL on USB drive


Forum: USB booting
Topic: Making a custom DSL on USB drive
started by: solidsnake

Posted by solidsnake on April 20 2005,21:15
I currently have a 1GB Sandisk USB drive, and since DSL is so tiny, I wanted to add a few linux goodies to my copy so I don't have to config the OS everytime I use it.  Could I save .dsl applications like bittorrent or gcc to my USB drive, so that when I boot or qemu into DSL it auto loads these programs?  I found out quickly that /tmp is a virtual folder  :D
Posted by Caspar_s on April 20 2005,21:34
Put them into the root or /optional.
Posted by cbagger01 on April 21 2005,03:23
Just put the *.dsl , .tar.gz or .uci files into the top level of your thumb drive.

IE: if your drive is "E:\", then put them into "E:\" and reboot into linux and they will be autoloaded.

If you want to load-on-demand and not autoload, create a new folder called "optional", IE: E:\optional\  NOTE THE LOWER CASE LETTERS and put your optional extension files into this folder.

However, these files won't be loaded into a QEMU session.

If you want to save them for your embedded system, boot DSL in QEMU and go to the menu and choose Emelfm as Super User

Then go to the /mnt directory

Then right click on "hdb" and choose "Mount" from the menu.

Then copy your extension files over to /mnt/hdb  or to /mnt/hdb/optional/

Good Luck.

Posted by DeeJay on April 21 2005,08:33
Quote (cbagger01 @ April 20 2005,23:23)
If you want to save them for your embedded system, boot DSL in QEMU and go to the menu and choose Emelfm as Super User

Then go to the /mnt directory

Then right click on "hdb" and choose "Mount" from the menu.

Then copy your extension files over to /mnt/hdb  or to /mnt/hdb/optional/

That looks SO simple, so the fact that it doesn't work must mean I am missing the point...

Using DSL1.0, booted from within QEMU hosted on WinXP.

In /mnt/hdb I have a file lynx.dsl, retreived from the DSL repository.

If I invoke MyDSL on that file from within the FileManager the app installs and I can run it from the shell as dsl@box: lynx

If I then reboot my DSL in QEMU session the file
/mnt/hdb/lynx.dsl  
is restored, but the lynx application is not installed.

Can you gently tell me what it is that I haven't understood?  Am I right to expect to be able to run dsl@box: lynx from the shell after a reboot, without invoking the .dsl loader myself?


[EDIT]
A follow-up, having had a break and a shower! I haven't tried it, but I think that what I overlooked, which is documented elsewhere, is the need to pass a MyDSL argument at boottime which points to the stored .dsl files.
For the DSL-Embedded package, I think that means editting the dsl-windows.bat script to add an appropriate MyDSL= to the Append string which currently reads
"qemu sb=0x220,5,1,1 frugal quiet"
I think this needs to become
"qemu sb=0x220,5,1,1 frugal quiet mydsl=harddisk"
[/EDIT]

Thanks
DeeJay

Posted by neon on April 21 2005,13:39
I'm not sure, but I believe that would be mydsl=/dev/hdb because you're appending arguments to the kernel at boot time; the qemu/harddisk file shows up as /dev/hdb at that point.  I haven't tried it yet, though.
Posted by cbagger01 on April 21 2005,16:28
I don't have a copy of the newer style DSL embedded handy, but I thought that the qemu harddisk and mydsl=xxx stuff was already taken care of inside the defualt windows.bat file

You can doublecheck this by opening the file in Wordpad and take a look at it.  There should be a reference to some kind of qemu or harddisk append boot parameter and also a mydsl=xxx reference.

If not, you need to fix this yourself.  If mydsl=hdb doesn't work, then try the other syntax and see what happens.

Posted by DeeJay on April 21 2005,17:25
Quote (cbagger01 @ April 21 2005,12:28)
I don't have a copy of the newer style DSL embedded handy, but I thought that the qemu harddisk and mydsl=xxx stuff was already taken care of inside the defualt windows.bat file

You can doublecheck this by opening the file in Wordpad and take a look at it.  There should be a reference to some kind of qemu or harddisk append boot parameter and also a mydsl=xxx reference.

If not, you need to fix this yourself.  If mydsl=hdb doesn't work, then try the other syntax and see what happens.

The Qemu line in the copy of dsl-windows.bat shipped in dsl-embedded-1.0.1.zip at the time of writing looks like this:

START qemu\qemu.exe -L qemu/  -enable-audio -localtime
-kernel linux24
-initrd minirt24.gz
-hda KNOPPIX/knoppix
-hdb qemu/harddisk
-append "qemu sb=0x220,5,1,1 frugal quiet"

[Line breaks added to aid comprehension]

One of my questions to the DSL maintainer(s) [RobertsS?] was going to be whether it would do any harm to ship this file with an appropriate MYDSL entry already in the -append, even if there were no .dsl file to be re-installed, to save neophytes struggling and maybe dismissing DSL as 'broken'?

It turns out that the value of 'xxx', for me, is indeed 'hdb'.

Other sources of information on the web and in these forums have suggested mydsl=harddisk; mydsl=/dev/hdb; mydsl=/mnt/hdb. None of these worked for me in the context of booting a Qemu virtual machine hosted in Windows.

The -append argument in my batch file now reads -

-append "qemu sb=0x220,5,1,1 frugal quiet mydsl=hdb lang=uk"

and both the changes have the expected effect. (But I'll be back later to ask about zoneinfo files.... )

Thanks to all who have helped, esp. CBagger. Perhaps the outcome could be documented. [Or if it is there already, made clearer and the misleading information removed  :-)  ]

DeeJay

Posted by sonny73044 on April 21 2005,19:13
Quote
It turns out that the value of 'xxx', for me, is indeed 'hdb'


This will work if your not using ther 5-way install, this should also work:
mydsl=harddisk
And this works with all boots look here
< http://damnsmalllinux.org/cgi-bin....arddisk >

Edit: Sorry everyone as roberts pointed out this is for syslinux.cfg and bios boot you are right in using hdb in the .bat and .sh files

Posted by solidsnake on April 21 2005,19:24
What would I have to do to save preferences, like if I changed by desktop background (somehow) and wanted it to stay that way.

I have another computer in the house that I would like to boot into with my regular preferences/settings loaded everytime, if possible.

Posted by roberts on April 21 2005,21:08
I see some confusion here.

When running 5way, i.e., embedded-dsl, then the shared virtual drive device is specified by:

1. When inside Qemu the device is referred to as hdb
2. When running natively from BIOS the device is referred to as harddisk

Both backup and mydsl as well as other boot time options refer to the device and not the mount point..

Both Qemu and Native mount the shared drive device as /mnt/hdb

The default location for downloading mydsl extensions is /tmp  This is true across all versions of DSL.

Currently embedded dsl mounts the shared drive device as root only access.
This is what I will change in the next version of DSL. Then it should be simple to download the extensions directly into the shared drive.

It should have user dsl write access as it, the shared drive device, is embedded and not in anyway belongs to the host computer, as typically the real hard drive are.

Posted by DeeJay on April 22 2005,07:45
Quote (solidsnake @ April 21 2005,15:24)
What would I have to do to save preferences, like if I changed by desktop background (somehow) and wanted it to stay that way.

That's easy - it's documented, and it works!

Read the file "Getting Started" that Dillo uses as its default start page. See the section "Saving your Configuration".

Pointer -> you need to edit filetool.lst

DeeJay

Posted by Marskov on May 05 2005,17:42
I have installed DSL as frugal on my usb stick. I am booting a pc without harddisk and it is working fine, but i am starting from scratch after restart.

I want to save my settings on the same usb stick. I have tried to edit the filetool.lst but everytime i restart my edit is forgotten??

How can i save settings when i cant save filetool.lst??

Please help.

Posted by Caspar_s on May 06 2005,22:19
One of the items in filetool.lst is filetool.lst... ie. it automatically saves itself.
Check your usb stick to see if there is a backup.tar.gz being created after you press backup/restore in the menu.

Also check that it is backing up to the right drive... Umm, not too sure where it would be going if you don't have another drive, but making sure the backup.tar.gz is there and contains the right files should work.

Cya

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