trying not to break stuff

a new blog for.. who knows. technology stuff i am interested in.

Saturday, April 29, 2006

Ever want to be hip and show your friends what a geek you are? Tired of just having a regular USB flash memory drive to boot linux like everybody else? Ready for a change? Then this howto is for you..

Today we're learning how to install Damn Small Linux onto the Mercury 128 mp3 player with voice recorder. DSL is derived from Knoppix, and boots a functional linux desktop from a businesscard or larger cd, or an usb flash drive. (You can install it to the hard drive as well.)

I am sure there are many ways to do this, but this worked for me. This setup allows me to both boot my i486+ pc from the drive, access mp3's from within the booted DSL environment (as well as all the other DSL funtions), and still retain the functionality of the device as a portable mp3 player and voice recorder.

This could be vastly improved.. probably it needs a startup script somewhere to "automount" the drive, maybe provide symbolic links or something from the desktop to /mp3, /doc/ and whatever folders you want, but I don't know how to do that :-P

***Disclaimer: I provide no warranty for this howto. If you break your leg, become incontinent, or experience severe rectal bleeding, break your dog's wetware computer, or otherwise damage anything it is YOUR FAULT! CAVEAT USOR!***

***This may work with another device, but it may not :-)***

Ok, 'nuff said. Mosey on down to www.damnsmalllinux.org and poke around. You can click on "download" then choose a mirror. Go to the "current" directory then pick the right version.

I used http://gulus.usherbrooke.ca/pub/distro/DamnSmallLinux/current/dsl-2.3.iso

Open that in your favourite cd creation program and burn the livecd. If you don't know how, google it or something. I use gnomebaker for linux.

Put the cd in your cd drive and restart the computer. Make sure your bios is set to boot from cdrom before hd-1, etc. I'm not sure if it helps but I have 2 cdrom drives, I always put it in the drive hooked up as "master". While we're on the subject, if you plan to boot your drive on this pc, scroll through your bios options to look for something like USB-HD. If thats not there, look for USB-ZIP. Some older bioses don't have these options. USB-HD works the best for me, but you may be stuck with booting in USB-ZIP mode. The rest of this howto assumes you are booting in USB-HD; if you are using USB-ZIP the process is almost identical but just select the correct menu option in the DSL installer menu and setup your bios accordingly.

Insert the usb cable into the drive and into your pc's usb port. (If your box doesn't detect the device, try other ports, sometimes that helps.)

you should see the DSL boot screen with a "boot:" prompt. Pressing F2 and F3 gives you some boot options. Press F3. One option is "install," it is the DSL installer. Type "install" and push enter.

Ok now you have some install options. There are 2 options to install to usb flash media: one for USB-ZIP mode, one for USB-HD. Pick the hd mode. The ZIP mode screws with the voice recorder functionality, it didn't work for me. the HD mode creates 1 continuous FAT16 partition, which is used properly by DSL and by the Mercury mp3 player.

Just pick yes for everything. At one point it says something like, "Do you want to display your USB storage device information log? (Y,n)" Pick yes.

Mine displayed:

scsi1: SCSI emulation for USB storage devices
vendor: SigmaTel model: MS Music Player Rev: 0001
Type: Direct-Access ANSI SCSI revision: 02
Attached scsi removable disk sda at scsi1, channel 0, id 0, lun 0
SCSI device sda: 250880 512-byte hdwr sectors (128MB)

Notice 'sda' (yours may be different) is in green. Enter that when it says:

enter the device name (Example: sda) sda

okay, it will warn you about losing all data if you continue, just say yes to everything. It will also ask you if you want any special boot options, enter them here. I used the "toram" option, that loads the image to ram and works from there, it requires =>128MB of RAM to work.

Follow the bouncing ball and it should tell you it finished and exit to a prompt. Reboot, set your bios to boot from "USB-HD" and you should have you should see the DSL boot prompt screen with the cute penguin pic again. Just hit enter, and it will boot and bring up the window manager.

I also added a /mp3 directory to the stick. Ie. I mounted the drive from my linux workstation and created the directory on the drive. If you use the voice recorder, it automatically creates the /voice folder.

If you create other files/folders on the drive, to access them from DSL, boot from the drive, open a terminal, and type
sudo mount /dev/sda1. You should now be able to navigate to your files on the usb device from xmms, etc.

Have fun!

***Other devices***
I'm not sure if other mp3 players will work. It probably depends on:
1) does it use a compatible file system? You may have to tailor your installation more than the DSL installer allows. Also does the player depend on any files/folders in the filesystem to work?
2) you can view the usb storage device info log as stated above, that may give you a clue as to whether or not your device will work.

I am interested in trying this out on an iAudio mp3 player. They are available with more storage, and support more formats (eg. ogg, flac :-)

Have fun!