AMD64 Debian Linux on a Dell Latitude 430S

This report is listed at TuxMobil - Linux on laptops, notebooks, PDAs and mobile phones

I'm going to start off by saying that this machine is pretty damn
good.  I was lucky enough to be able to get it at a discounted rate,
reconditioned.  Everything works - that I have tested - and one feature
I haven't tested is the built-in 3G (HDSPA) modem which will operate in
Europe.  This machine has a really good quality 1280x800 screen, weighs
only 1.4kg, has Intel Extreme 945GM Graphics, a Ricoh SD/MMC card,
Gigabit Ethernet and a Broadcom 4328 Wireless-N 802.11gn card that
unfortunately requires a 64-bit NDISWRAPPER driver - the only real
"fly in the ointment".

So basically - watch out!  Everything will work - as long as you
install the 64-bit version of Debian (AMD64). Skype you will need to do
in a 32-bit chroot (if you use it).  However, if you absolutely
absolutely must use 32-bit Debian, there is a standard PCMCIA slot (not
a PCI-Express) into which you can put a better-supported Wifi Card.

Lastly on the features- and this was the kicker for me that made me get
this machine: it has 2Gb of RAM and a 32gb Solid State Drive (ooo I'm so
excited). Oh.  Almost forgot: Dual-core 1.2ghz CPU, which does beef up
the heat when Firefox is running.  My beautiful Acer Travelmate C112,
long past its retirement date, never went above 47 Centigrade when I
replaced the hard drive with an 8Gb CF card in a CF-to-2.5-IDE converter
bay, so the fan never came on: as a result I'm a bit disconcerted
by this funny whirring noise when acpi reports 56 Centigrade....

Debian / Stable initially, bits of upgrades to Testing.

The install on this machine was a little awkward.  I first made the
mistake of installing the 32-bit from my tiny new shiny PQi
$12-from-Hong-Kong USB boot key.  If ever you get that set up, do
remember that what you download doesn't actually contain the packages:
it's set up to look, on the partitions on the USB drive, for ISO
images.  So you must first unpack the .gz file onto the first partition
(I didn't: I loop-back mounted it then cp'd all the files and ran
syslinux on it, and that way I only needed a 16gb first partition
rather than the silly 256mb one that the .gz unpacks to!) then you
can copy ISO images plural onto one of the other partitions of your USB
drive.  The USB boot media is smart enough to let you pick one.

So the mistake I made was in discovering that the Dell Broadcom 4328
Wireless N binary-only NDIS driver, requiring ndiswrapper to be built,
is 64-bit!  So I'm all set up, laptops back-to-back having had to set
up dnscache and polipo via a cross-over cable to get the source code
for ndiswrapper, X-Windows working and everything - and I can't damn
install the Wifi driver.

What I then did is slightly crazy, but it worked.  I looked for the
AMD64 "netboot" linux and initrd.gz - as that was about the only option
available: there is no USB key option compiled up for AMD64, only i386.
I'm kind of pleased about that because otherwise I would need to mess
with my USB key setup.  So, having a complete setup of i386 Debian on
this machine I was able, through the crossover cable on my other
laptop, to download the AMD64 "netboot" linux file and initrd.gz, using
my other laptop as an HTTP and DNS proxy.

The next bit is the mad bit. I configured grub to be able to boot the
64-bit "netboot" linux kernel and initrd.gz.  From the hard drive.  Not
from my USB key (although that would be feasible I didn't want to
disrupt the USB key setup).  Not over the network, because I found to
my slight annoyance that every TFTP server (dnsmasq or atftp or
tftp, on my other laptop) returned a stupid incomprehensible error
message.  So, after successfully booting up the "netboot" linux kernel
and initrd.gz from the hard drive, and confirming that the network (via
the crossover cable) was detected, I blew away the contents of the hard
drive, entirely :)

This was a bit risky time-wise: if the install didn't work first time,
I would have had to go through the whole thing again or perhaps disrupt
my perfect USB key arrangement... but I was lucky: it worked.

I can only recommend you do this if you haven't a USB DVD or CD drive,
or haven't a spare USB key that you can just copy the ISO onto
(directly, pretending it's a CD).  You can easily duplicate what
I did by creating yourself a USB boot partition with the 64-bit
"netboot" linux kernel and initrd.gz - just remember to use Stable
not Testing.  Your best bet is to use syslinux.  I'd already gone and
installed i386 Debian so it was simply... quicker for me to edit
/boot/grub/menu.lst and add the "netboot" stuff, directly from the hard
drive, saving me time looking up syslinux HOWTOs.

xorg and 915resolution

xorg.conf I regenerated with dpgk-reconfigure xserver-xorg and pressed
return on every single question - it worked fine.  915resolution I also
installed and didn't need to configure it.

cpufreqd

Also I have a preference for cpufreqd to run the ondemand module,
not the performance module, even and especially on AC.  I don't
care if it takes a while to kick in: the silence of the fan and
the reduced temperature far outweighs the benefit of having the CPU
run at "convenient" speeds.

It seems that I spoke too soon about cpufreq being up to the task of
always autodetecting everything, so I had to add speedstep-centrino to
/etc/modules.  If you're interested, this is the /etc/cpufreqd.conf used.

random useability configuration...

I made my usual edits to make the system useable.  /etc/default/rcS
I changed fsckfix="no" to "yes", likewise RAMRUN and RAMLOCK ; and I
ran "prelink -q -v -a --random --conserve-memory".  Having fsck fix a
filesystem that you're only going to do by running fsck -a and then
holding your finger down on the "y" key - I mean, the only sensible
thing is to let it be done automatically.

Also, I have to admit: I am a fan of debian-multimedia.org
for libdvdcss2 and w32codecs (which don't exist for amd64.  damn.) 
And, also, of adding nonfree and contrib to /etc/apt/sources.list
(included here for convenience).  Then you can add flash and mozplugger
"apt-get install libflash-mozplugin flashplugin-nonfree mozplugger"
You will find mozplugger to be very useful: pdfs for example will appear
in a firefox window rather than having to be downloaded and run by a
separate program.

sound

Sound works except I can't work out how to turn down the "key beep"!
Consequently it's at maximum volumen and is really irritating
when using tab-completion in bash (which I use a lot).

card reader

Haven't tested it.

wireless

The wireless is my one bugbear at the moment: the Broadcom 4328 in this
machines is a binary-only 802.11n card, and the only way to get it to
work is to use ndiswrapper.  Whilst many purists will be annoyed by
this, as NDIS has been a standard API for nearly two decades it's not
so bad (but yes I'm still pissed about it).  

conclusion

This is a pretty good machine - lightweight, good sized keyboard (I'm
used to one 20% smaller - the one of the Acer Travelmate C112). 
Everything I need works.  The Wireless N card is interestingly
good - a decent range even on 802.11g, although the lack of driver
for Linux is pretty irritating.

As this is a personal machine rather than one for other people, I've
installed fvwm and partially customised the configuration to leave me
with only the default 3x3 Pager, just like what was available four years
ago before someone decided to add a more complex and unnecessary Pager.

At some point I may have to install KDE for demonstration purposes but
do not like it or find it necessary.  However, I have installed
compiz-fusion on previous laptops, without any "window manager"
whatsoever, and found that to be both useable and extremely useful.  I
quite like being able to type, in one xterm "xterm &" or perform
the same trick to run firefox or any other application, but frequently
I just add those to .xinitrc so that they start up automatically.

Great machine.  brilliant price, reconditioned (£560).  Same weight,
same height and depth as my Acer Travelmate C112 but 25% wider. I'll get
used to it :)

The cpuinfo can be found here.
The meminfo can be found here.
The lspci info can be found here.
The lspci -v info can be found here.