User Feedback :: Problem with USB Boot
I apologize for posting this here - I tried to put it in the USB booting forum, but got a message stating that I was not authorized to post there. Anyway, here's the situation:
I have a 128mb usb drive that I received as a gift. It is a generic drive that one of our vendors sent to my company. I have tried using the DSL installer from the 'tools' menu to install DSL on it, but to no avail. My bios is set properly to recognize a USB-HDD boot device.
I tried the troubleshooting doc that explains how to change the drive geometry, etc. It was set like this from the factory:
*******************
Disk /dev/sdb: 132 MB, 132481024 bytes
5 heads, 51 sectors/track, 1014 cylinders
Units = cylinders of 255 * 512 = 130560 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 1014 129259+ 6 FAT16
*******************
So I tried doing this:
dsl@box:~$ sudo sfdisk -f -C1010 -H8 -S32 /dev/sdb
And I created one big FAT16 partition using the whole drive. I then used dd to write zeros on the first 512 bytes:
dsl@box:~$ sudo dd if=/dev/zero of=/dev/sdb1 bs=512 count=1
and finally created a filesystem on my partition:
dsl@box:~$ sudo mkdosfs /dev/sdb1
mkdosfs 2.9 (15 May 2003)
Just to verify, I ran fdisk to make sure my new settings took:
dsl@box:~$ sudo fdisk /dev/sdb
Command (m for help): p
Disk /dev/sdb: 132 MB, 132481024 bytes
8 heads, 32 sectors/track, 1010 cylinders
Units = cylinders of 256 * 512 = 131072 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 1010 129279+ 6 FAT16
Now what? If I use the DSL built-in installer, it just reverts my drive back to 5 heads, 1014 cylinders, and 51 sectors/track.
Any suggestions?
Geometry is not important for a USBHDD installation. It is only important when doing a USBZIP installation.
I would do the following:
(1) Visit your computer manufacturer or motherboard manufacturer web site and download the latest BIOS version and install it. For example, DELL has had numerous problems with older BIOS versions that are supposed to allow for USBHDD booting but needed fixing.
(2) Boot DSL from livecd with the drive plugged in. Open a terminal window and type:
dmesg | grep scsi -A 3
to find your drive's device name. It is usually "sda" but not always the case.
(3) Do the USBHDD pendrive installation from the DSL fluxbox "Right-Click" main menu.
(4) Set your BIOS to allow USBHDD booting. Turn USB keyboard emulation ON. Disable "FAST BOOT" if it exists.
(5) Plug your USB drive into a rear port on your PC and give it a try. Hopefully it works.
Ok, thank you for the tips. I brought my USB memory stick to work today to test it on my Linux laptop. This particular memory stick is a cheapo Chinese-made promotional schwag model that Google tossed our way as a gift for spending some advertising dollars with them. I figured it would make a good candidate for DSL.
The install on a Linux machine is extremely easy - just fdisked it, created a fat16 partition, moved all the embedded files onto it and ran syslinux. Very clean install.
I was able to boot my Dell d600 notebook - works fine. I was also able to use the embedded version on both Linux and Windows. Nice work - my Sylpheed mail settings saved properly so I can instantly get my IMAP email. VNC allows me to jump onto my company's network server with the GNOME desktop.
Nice work!
Now how do I install packages so they also come up in embedded mode? I can use nmap, Yahoo messenger and the other proggies when I boot from USB, but they don't show up in embedded mode. Is this possible? If not, how to create my own embedded image and copy back to the memory stick?
If you save the extension files to the root directory in your USB drive (IE: /cdrom or "E:\" drive for example in MSWindows) then they will be available from DSL native but not from embedded.
To have them available in both systems, while running embedded save or copy the extension or "package" files to your /mnt/hdb mountpoint. Open emelfm and go to the /mnt folder and then Right-Click on the mountpoint and choose "Mount" from the menu.
I believe that the same location is either called /mnt/harddisk or /mnt/hdb when you are running native DSL and not running embedded. You may need to boot with the "qemu" cheatcode in order to see them.
To activate your extensions, highlight the file in emelfm and press the Mydsl button in emelfm.
original here.