Dell AMD Dimension and linux
 

Overview

We got a few Dell Dimension C521s. They're great little desktops - and with Dell's occasional sale ($429 with 19" flat panel), they're an amazing value. All but one are going to run Linux. Two are intended to become kiosk style workstations, not unlike an X-terminal, but with a very stripped down OS. The goal is to have these running a restricted Firefox and the users will be doing web updates via http in our intranet with limited white-list access to the internet.

My goal is to boot the kiosk computers off USB flash. We got these flash sticks and they are incredible - fast, bootable, and just plain work. Probably could have gotten 2G sticks, but these do just fine.

C521 box #3 is to be a back up server running amanda. I could / should have done more homework and gotten the E521 for the full sized chassis. For this system, I pulled out the CD-ROM and mounted up a removable HD rack and tray. Unfortunately, I had to dremel the front panel of the C521 to full size so the drive tray could pull out. Everything is tight in there, but it works. I've got 3 trays and 3 250G HDs for off site rotation. 

I must say that I definitely appreciate how easy the C521 is to take apart. Simple latches and levers hold everything together. And huge compliments to Dell's support area and their product owners and service manuals!!

About Linux

The big issue with linux on the C and E series Dimensions with the AMD cpu has to do with the nVidia chipset and USB freeze/lock-ups.

Two reliable workarounds:
» Use a cheap powered USB 2.0 hub for the keyboard and mouse. We've tested a few and before the OS runs, the keyboard may not work if the hub is self powered, while keyboard is always there if the hub is powered.
» Boot with kernel options: noapic and acpi=off  

Hubs that work: 7 port with bright obnoxious leds, 3 port with flash card reader (is clumsy reading Sony MS Pro), Belkin from Office Depot that's $3 more in the store. I bought the Belkin for at-home development, as the 7 port LED one was like a disco in my bedroom.

Hub that didn't work: This slender self-powered hub is popular and rebranded as Belkin, et al. With this one, the keyboard didn't work through it before an OS loads... so no F2=setup!

Distributions:
Kubuntu installed from the downloaded CD iso on the first try. With no setup what-so-ever, it was running and on the net! When asking it to browse for network shares (WinXP), the OS guides you through a couple questions and you're connected. Of course, connecting to a Vista box didn't happen. :P Kubuntu installed so easily that I bought a Latitude D520 to put it on for use at home!

Knoppix also worked on the first try. Fumbling around with its live CD and trying to make a more flexible USB install proved annoying. But the OS works and is stable, especially with the boot options as above. It defaults to KDE desktop, which I'm starting to really like.

DSL: my goal is to get damn small linux to work. We tried DSL-embedded but ran into a few issues we couldn't easily figure out. It is based on Knoppix, so I'm hoping to get it going.

Booting from USB stick

I spent about 100 hours researching, Googling, and WiKi-ing linux USB booting. Wow, too much info!

Download and install HP usb format utility :
 http://h18000.www1.hp.com/support/files/serveroptions/us/download/20306.html

Use HP tool ( HPUSBFW.EXE ) to format your USB to FAT. Most USB sticks require FAT16; Google told me it has to do with the physical architecture of the memory. If you want it to boot DOS, tick the box to create a DOS startup disk and point it to a folder with DOS files. (I used the FreeDos 3.2 folder)

Remember to change the bios boot order (how to). We set ours to USB Device (then all the other USB stuff), CD-ROM, then installed hard disk is last.

Syslinux reliably starts linux distributions for me from the HP formatted USB stick. I have seen the syslinux.cfg files make a difference but I don't know enough about them to edit on the stick and have something really special happen, like be able to choose between different OSs. Typically, you'll find isolinux files for CD-ROM iso images. Their .zip also has a README.usbkey file. Between that and syslinux.doc, you should be working well.

Knoppix's kfix.bat file converts the ISO from CD-ROM to USB-ready with these commands:
copy boot\isolinux *.*
del isolinux.bin
ren isolinux.cfg syslinux.cfg

Doing some searching on USB linux boot etc will get you lots of info. I would be all over Knoppix for my project, but it mounts the USB as /dev/cdrom in read only mode. I'll need to remaster the image if I want that changed. NOT!

I did make one change to the syslinux.cfg before copying the files to USB (which I tested to work):
LABEL c521
KERNEL linux
APPEND ramdisk_size=100000 init=/etc/init lang=us noapic acpi=off noapm 
  screen=1280x1024 depth=32 initrd=minirt.gz nomce loglevel=0 quiet BOOT_IMAGE=knoppix

I added these 4 lines immediately following the F1/F2/F3 descriptors. Note that the APPEND is all on one line without CR/LF. You can be slick and also add mention of c521 in boot.msg or F2.

Booting Knoppix from the USB was much faster than from the live CD.

Goal:
Once I have a working solution, I'll freeze it with an ISO that I can easily distribute (and/or switch to PXE boot).

Bios Update using USB

I'm going to keep getting the latest bios versions in hopes Linux USB and acpi stability improve. Using the Dell tool can be tricky, as you basically need a bootable disk/device running DOS to run Dell's bios reflash update (v 1.1.8). Vista pissed me off so bad that I refuse to boot any of the 3 "linux" c521s to the new virus. I probably could have made a CD-ROM to do the bios update, but I kinda have the USB thing stuck in my craw.

To update bios of Dell using USB...

From windoze :

Download and unpack freedos 3.2 ( FD32 ) :
 http://freedos-32.sourceforge.net/

Edit AUTOEXEC.BAT to add the line PATH=C:\ else you default to a non-existant A:.

Download and install HP usb format utility :
 http://h18000.www1.hp.com/support/files/serveroptions/us/download/20306.html

Use HP tool ( HPUSBFW.EXE ) to format your USB and tick the box to create a DOS startup disk, pointing it to the folder with the FD32 files.

Copy over AUTOEXEC.BAT and the bios updater .EXE from Dell to the USB stick.
(on my windoze notebook, G: is the USB stick)
G:\>attrib
   SHR     G:\KERNEL.SYS
   SHR     G:\COMMAND.COM
A          G:\AUTOEXEC.BAT
A          G:\BIOS118.EXE
G:\>
Make bios boot to USB above your HD.
Put USB in accessible port of your Dell.
Boot.
Run the bios update command.

I created an archive ( bios_update_noISO.7z ) of everything needed to do the bios update. I also made an ISO image ( dell_c521_usb_bios_118.iso ) of the files on the USB stick, allowing one to bypass the autoexec copying and all that.

ISO created in windoze via http://isorecorder.alexfeinman.com/isorecorder.htm.

Very handy Windows tools and links when messing around with this Linux stuff

 You can Google for these... I'm getting lazy. PeaZip, UniExtract, 7-Zip, [xplorer²], http://lifehacker.com/,  gparted partition resizer in Knoppix live-CD

More:

kiosk candy:
http://www.eng.uwaterloo.ca/twiki/bin/view/Linux/LinuxKiosk
http://developer.kde.org/documentation/tutorials/kiosk/index.html
http://www.linuxjournal.com/article/7701
http://www.sabayonlinux.org/wiki/index.php?title=Sabayon_Linux#Why_Sabayon_Linux_is_different_from_other_distributions.3F
http://openkiosk.sourceforge.net/


http://stlouis-shopper.com/~jtjsoftware/kiosk/
http://www.faqs.org/docs/Linux-HOWTO/Kiosk-HOWTO.html#s3

Whoa: cheap tiny kiosk box:
 http://www.norhtec.com/products/mcjr/index.html

More about KDE on damn small linux: (full tutorial)
 http://www.linuxlibrarian.org/node/219

http://pcburn.com/article.php?sid=1433

Heheh pictures:
 http://swik.net/damnsmalllinux

Links to SuSE and small knoppix builds...
 http://www.vmware.com/vmtn/appliances/directory/cat/25/size+asc

Dude put DSL on USB for ancient laptop:
 http://www.othermachines.demon.co.uk/weblog/2006/09/bootable-usb-memory-stick.html

http://www.distromania.com/index.php?distro=all
http://loll.sourceforge.net/linux/links/


http://www.othermachines.demon.co.uk/weblog/2006/09/bootable-usb-memory-stick.html

KDE hidden tricks:
 http://wiki.kde.org/tiki-index.php?page=Hidden%20configuration
 http://canllaith.org/?page_id=15