Introduction | Configuration | Subsystems | Installation | Recommendations |
This is a plan for efficiently setting up the new Dell Inspiron 6000d when it arrives. Where relevant, my notes on the procedure have been included. Much of this material is not specific to the 6000d, applying to any upgrade of hardware or the distro version.
Here is a list of critical (and not-so-critical) features that
I want to be working, in approximate order of importance. The new ATI Radeon X300 graphics chip has got to work, otherwise
I can't see anything. 3D acceleration is nice, and it's worth putting in
some effort to make it work, but I don't have an actual operational
requirement for 3D. (But some people do have such a requirement.)
The Alps touchpad has to work, since the X Window System cannot
operate without a core pointer, and the way I use my laptop an external
mouse isn't going to fly.
I suspend this laptop a lot. One of the suspend modes has got to
be working. (In case you're not familiar with the issue: you need to
migrate elsewhere, or to do a non-laptop task, so you hit the magic button
and the machine The CD-RW/DVD drive is essential, since it's my installation media.
The ability to burn CDs, however, is not so important: I haven't had this
capability before on the laptop, and I do backups across the (wireless) net
to my server.
Wireless networking is very important to me, both at home and
at work. Wired ethernet, as a backup mode, is less important. I never
use the modem, having DSL, but as a matter of pride I'd like to see it
work.
Often I need to use my laptop on battery power, and I would like the
power-saving features of the Pentium-M and Centrino chipsets to function.
Sometimes I enjoy listening to (legal) streaming audio from the
internet, or to music discs, so I'd like sound to work.
A number of software packages are very important, but I don't expect
actual hardware entanglements with most of the software. One point where
hardware could help (but doesn't, hiss, boo) is entropy production (random
numbers)
The old laptop is named Xena. It has a permanently assigned IP address
on the home wireless network, which it obtains by DHCP, because it also
regularly operates on foreign nets. The new machine will be called Orion,
but once it is ready for production use, Xena and Orion will exchange
identities, i.e. IP addresses and host keys.
We need to decide what we're going to do with old machine. In particular,
how much work should be done to make it functional on the CouchNet? Does it
need its own host certificates and keys? If it's just going to be donated or
sold, it should not get keys that will just have to be made to go away later.
Here are the planned steps:
Check and record identity and serial number of all parts. Pay
particular attention to the memory. Complain to Dell if they sent the wrong
memory. (Useless, see this brief
discussion.)
Add Orion to Fafnir's and Piranha's MAC address filter list
and Fafnir's DHCP fixed IP address assignment table. (Piranha is the
wireless access point -- Orinoco technology -- and Fafnir is the house
server and DSL gateway.)
Configure Windows for UTC timezone, no daylight savings time. In Linux,
lots of stuff is much easier if the hardware clock contains UTC.
Using the provided Windows installation, use Device Manager to review
all subsystems. Give each one some exercise. This step will be repeated
under Linux later. Title links are to the detailed description of each
subsystem, in many cases showing the results of these testing activities.
Battery. If it's charged, do these
steps on battery power to get a feel for battery life.
Processor. Does it process? :-)
Display. How many bad pixels?
Didn't notice any (yet).
Graphics. Is 3D acceleration
happening? Check video RAM. Check Back VGA port and S-video out to TV.
Memory. Is it all there? Correct
speed? Try to do a complete memory diagnostic, one pass, from the SuSE
disc before installation. Later, let the memory tester run overnight.
Sound card, using internally
generated PCM sound. Test the internal speakers, headphone, and
microphone.
Modem. (Need to revive my Bruin
Online account.)
Hard disc. Is it the expected size?
Did they put any weird partitions on it? Estimate the data transfer
rate.
Optical disc. Activities to be tested;
in each one, try to estimate the data transfer rate and the error
rate.
Network devices. For each of these, test sending and receiving
in each major operating mode and measure the data transfer rate.
Wireless NIC: test 802.11b and
802.11g (at work). Does the kill switch (Fn-F2) do anything?
Wired Ethernet: test 802.3 10baseT
and 100baseT.
PCMCIA card, the old Xircom
wired NIC. This test both corroborates the Ethernet test and
checks if PCMCIA is working.
Secure Digital memory card slot:
Need to get media for this.
Suspend power modes. Try suspend
to RAM and suspend to disc.
These devices will not be tested unless I can come up with equipment
that uses them.
Since the old Xena is not being destroyed, a special backup is not
needed; regular backups are sufficient. On a distro version upgrade
I would make a special backup of /home, /root, /usr/local, certain
files in /var (see /var/backup.pln). But /etc should be copied from
the old to the new machine (in /home/upgrade/xena/etc) for a subsequent
step.
In the next step of repartitioning, it's important to turn off the
Windows swap file. To do this: Control panel; Performance and
Maintenance; System; Advanced; Performance; Advanced; Virtual memory;
Change; No paging file; then hit Set. You also need to get rid of
/hiberfil.sys, the hibernation (suspend to disc) file. To turn this off:
Control Panel; Performance and Maintenance; Power Options; Hibernate tab;
Enable Hibernation (uncheck the box). Then reboot, and defrag the Windows
partition. Remember to turn the swap file back on later. Hibernation
(suspend to disc) is useless under Windows; no need to turn it back on.
The Inspiron 6000d has a SATA disc controller (disc itself is not SATA),
and therefore Linux uses SCSI emulation. It is /dev/sda. However, the CD
drive is on /dev/hdc.
Partitioning plan: We'll preserve the Dell diagnostics and a shrunken
Windows partition. (See here for how to run
the diagnostics.) In Windows, turn off swap and defrag radically. In the
Linux rescue system, shrink the Windows filesystem with this command line:
The SuSE rescue system and the SuSE installer seemed OK with the default
settings, i.e. hit Install SuSE Linux v9.2 from DVD. Basic selection: graphical system
without KDE or Gnome, but with some add-ons like web server. To install:
2.3 GB, 850 packages. Took about 30 mins. Online update from Mathnet using
VPN on Fafnir. Use wired Ethernet. Be sure to use Orion's IP address
(192.9.200.200) so old Xena can also be used. Configure the clock to UTC.
Change default timezone to PST-PDT.
Copy /home from old Xena to Orion on wired Ethernet. UML COW files are
sparse, and it would be best to exclude them, then copy them in a separate
step using the -S option of tar or -osparse of rdist. I copy /home first
because the local scripts are needed in the next step. Also copy xena:/etc
to orion:/home/upgrade/xena/etc.
Unplanned sidetrack: tapping on the touchpad doesn't work and it's a big
pain to edit files. With much struggle this was overcome. The final
xorg.conf file is here. See here for a reference to the latest
Synaptics driver and a new kernel patch needed to make double clicking work
right on the Alps pad.
Execute audit-suse, a Mathnet local script to recognize missing and
unwanted software. Remove junk software (a ton of it). Install forgotten
software (a lot of that too). Online update again.
Configuration files specific to the host (where Final propagation of configuration files.
Download and install the latest wireless driver
(ipw2200.ko). The one in the SuSE distro is v0.12, and an experimental
driver like this advances quickly. Details:
Download from ipw2200.sourceforge.net; you
need both the sources (currently ipw2200-1.0.1.tgz) and the firmware
(currently ipw2200-fw-2.2.tgz). At certain driver version transitions,
the format of the firmware changed, so get the right one. Be alert to
version changes.
You need package kernel-source. No need to configure or build the
kernel; the SuSE distro includes a valid .config file and headers.
Un-tar the driver sources. Execute Probably best not to do Un-tar the firmware you downloaded into /usr/lib/hotplug/firmware.
(SuSE package ipw-firmware-3-3 contains the old driver's firmware, and
that one goes in /lib/hotplug/firmware.)
Execute Unload all the old wireless modules and reload the new
ones. It's easiest to just reboot, but if you don't want to play the
Windows game, take the network down, and Wait for the next kernel security patch. Will the self-compiled
driver still load; is an exact match to the kernel micro-version really
required?
Likely configuration issues specific to the new machine:
X-Windows: display size has changed. OK, no problem.
Wireless: should be able to configure this with YaST2. Can we
shift to eth0 = wireless, eth1 = wired, i.e. persistent devices?
Not with YaST2.
Usng Linux, repeat the activity tests listed above.
Now that installation is supposedly complete, exchange identities of
Orion and Xena. See the above list of host-specific files.
Software activity checks (some of them require valid host keys):
boot.udev and udevpurgeJ still working. Yes, works well.
Command line forcefsck is recognized? Yes, after installing the
hacked scripts.
boot.laptop.J -- are the tweaks still appropriate? Yes but
changed device to /dev/sda.
boot.loadmodules -- are the preload modules still appropriate?
No, removed all preload modules.
boot.idedma -- are the tweaks still appropriate? /etc/sysconfig/ide
was and still is empty, on all machines. The SATA disc always uses DMA;
don't mess with the using_dma flag. The optical disc /dev/hdc has the
flag but it can only be 0 (off) because ide_generic has that interface
(see here). I'm hoping for a kernel
fix to make DMA work on the optical disc.
boot.sched -- are the timeslices still appropriate? Made smaller.
This feature seems to be going away in kernel 2.6.12 (or earlier).
Does this machine have a hardware random number generator
/dev/hw_random? No, hiss, boo.
Any weird-outs with firewall.J? Reviewed, neatened but no substantive
changes.
Is the network getting configured right? Yes.
Syslog events being logged? Yes.
Whatever we're using portmap for, does it happen? Used for FAM;
don't know how to test.
Does jxcd (my own CD player app) still work? No, it's now totally
dead. Really needs to be rewritten. Or use a public player. I tried
out xmms, and once I figured out how to use it, it was fine.
At jobs (like xalarm) happening. Yes.
DNS: Need to copy files from xena:/var/lib/named.
Need to authorize (on Fafnir) Orion to receive zone transfers. (Done.)
CUPS printing. Need to make /etc/cups/printcap owned by lp. Also
it had the wrong default destination (to fix: lpadmin -d lp). All done.
Keyboard font being loaded -- Formerly I was using a non-graphic (text)
video mode to (unsuccessfully) work around a bug in XFree86, and I
needed a smaller console font. This is no longer needed. Fixed.
xntpd syncs the clock, which should now be on UTC. Yes for both.
The clock on the Inspiron 4100 was off by 1e-4 (tick = 10001);
this machine is apparently off by only 2.5e-6, and tick was put
back to 10000.
powersaved, can it adjust the CPU speed? Yes, 800 MHz when idle,
1600 MHz when busy. The powersave module in kernel 2.6.8 is
speedstep_centrino. (When 2.6.12 is installed, the preferred module
will be acpi-cpufreq.) With this loaded you have
/sys/devices/system/cpu/cpu0/cpufreq. With powersaved stopped, setting
scaling_max_freq = 1.6e9, a memory-intensive test of 10 standard work
units took 8.59 secs. Setting to 0.8e9, it took 17.34 secs (close to
twice as long), as expected. Running powersaved the test takes up to
0.5 sec longer, because powersaved polls to determine when to turn up
the CPU speed. On the Inspiron 4100 at 1.0e9 the same test takes 9.37
secs. Very interesting: I re-ran the tests for 60 work units, and the
1.6 GHz Pentium-M CPU is only about 6% faster than the 1.0 GHz Mobile
Pentium-III (Coppermine). So much for bogomips! See more benchmark
results here, plus a preview of
the improved performance possible with acpi-cpufreq.
xdm, is the login screen right? Yes.
Cryptovault being mounted? Yes.
Kerberos -- Working. Including incremental propagation
(ipropd-slave).
Postfix, test TLS mail to Harlech. Oops, missing symlink for the
certificate. Fixed, mail is now working.
Apache -- Working, except suexec as usual refuses to accept users
and groups less than 100. Need to either fix my UID-GID once and
for all (done), or install the hacked suexec. Also Apache is refusing
TLS (https). Not Apache's fault, client certificate is wrong.
SSH -- Works.
FTP (vsftpd), which is started by xinetd -- Works.
OpenVPN -- Need to upgrade to v2.0 (RPM on Mathnet). Done.
/etc/init.d/boot.localfs -- jimc hacks when unmounting, still
needed? Still working? Hacks seem to not be needed, but I saved the
hacked file just in case.
Does Windows still boot? Yes.
These services are in use but were not properly tested.
Additions to the system:
Get the system monitoring stripchart working on the new machine. (Done.)
Does it still cost you a lot of CPU time (and lost interrupts) to
read the battery status? The Inspiron 3800 and 4100 were notorious for
this. Querying the battery (/proc/acpi/battery/BAT0/state) 10x per
second makes a job run 35% longer, implying 26 msec per query, which is
about the same as on the older machines.
Accessing the info file costs another 26 msec.
There is no way to read out the fan status. Hiss, boo.
Do a real battery life test under Linux. Results are
here.
Formerly current problems, now fixed:
Installed the latest version (1.0.1) of ipw2200. Version 0.12
exudes a message about "TODO: Stop scan". Frequently.
Opera web browser: When starting, it complains that it can't load
libnpp.so which is required for plugins. Library is there.
Also it's using the wrong icon. Because the symlink /usr/share/opera
-> /usr/local/opera-whatever was not there. (Fixed.) Standard
browser tests now work: JPEG, PNG, GIF pictures, WAV sound file,
Java applet.
Something appends "127.0.0.2 orion.cft.ca.us" to /etc/hosts even
if it's defined already. Deleted. Complain to SuSE about this.
Suspend to disc: See here
for the issues. A band-aid solution is to compile the ata_piix module
into the kernel. This has been done, but follow the above link for
some rough edges remaining. Suspend to disc isn't really Alps Glidepoint touchpad: Can't turn off hardware tap detection,
even though the serio driver claims to be doing it. As a result, double
click detection is user-unfriendly at best, and completely useless
under Gnome. See here for a
reference to a new kernel patch that works around this problem.
Apache: it's refusing TLS connections. No it's not; the CGI
protected by the certificate is an old version, which has a bug,
and in addition, the client certificate was corrupt (Opera's fault).
Both fixed.
OpenVPN: Need to upgrade to v2.0 (RPM on Mathnet). Done.
The CPU slowdown formerly blamed on the cpufreq_centrino driver has
now been pinned on the powersaved daemon. I don't know what it's
doing, but my replacement releases the full capability of the CPU. See
here for a discussion. I need to
identify and notify the maintainer of powersaved.
Current problems -- these are for kernel 2.6.8 (SuSE
9.2). Where appropriate the status in later versions is noted.
DMA for the CD-RW/DVD drive on ide1: 10.0 works out of the box.
9.3: needs small patch. 9.2: needs big patch.
In 9.2, you can't turn DMA on. Reading is very
slow (4x on a 24x drive) and burning is impossible, high error rates.
I tried all combinations of ata_piix, piix
(regular IDE), etc. in various orders as modules or compiled into the
kernel. Either you get ide_generic working the CD without DMA, or DMA
on the interface but failure to detect the CD. Complain to the
developers. (Done.)
See here for details including
a kernel patch, which is effective, but only on recent kernels
(I used 2.6.12-rc1). SuSE 9.3 (kernel 2.6.11.4) has an equivalent
patch in their kernel. However, until the new ATAPI code
is officially released the DMA issue cannot be considered to be solved.
Suspend to disc (software suspend): 10.0 works out of the box.
9.3 works if you're careful. 9.2:
can't suspend to disc. The ata_piix driver is
loaded from the initrd, which happens after resuming is
unsuccessfully attempted. See here for further discussion, a
workaround, and an alternative kernel patch.
Radeon M300 graphics: Xorg (6.8.2 dated 2005-02-09) doesn't yet
support direct rendering on Radeon 9500 and newer. Keep checking for a
new version at www.x.org. Or use
the proprietary driver mentioned
here. With SuSE 10.0 the proprietary driver has almost
all of the bugs fixed.
CPU speed throttling: works in all versions. But if you load the
speedstep_centrino driver from v9.2 it uses a generic voltage to
frequency table. You should be using acpi-cpufreq, available in more
recent kernels such as 2.6.11.4 (SuSE 9.3), which uses the
real frequency table. In kernel 2.6.16 (SuSE 10.1) it's back
to speedstep_centrino (but using the real frequency table).
But beware, old versions of powersaved are poison on Dell laptops.
It's started behaving itself in v0.12 (SuSE 10.1).
See here for details of both
issues.
The mainline kernel, and SuSE distro, has no Linux driver for the
Ricoh RL5c476 chip that operates the MMC-SD card slot. An add-on
driver is available starting with kernel 2.6.14. See
here for discussion.
Starting in SuSE 10.1, the procedure for mounting removeable media
is Continued: Upgrading to subsequent SuSE versions
goes to sleep
, consuming low or zero power, until
you turn it back on, whereupon it resumes as if nothing had happened. Both
steps are much faster than shutting down and rebooting.)
ntfsresize --size 5.5G /dev/sda2
(Next time you boot Windows it will automatically run fdisk; in my case it
found no errors.) Then use parted (Gnu Partition Editor) to make the
Windows partition match the filesystem, and add the Linux partitions.
Sizes below are in gigabytes.
(With overhead, /home ended up as 24.7 GB.)
Function Device Size Used Available
Old Machine (20 GB)
Windows /dev/hda1 4.3 3.1 1.2
Swap /dev/hda2 0.29 -- --
Root /dev/hda3 4.5 3.2 1.1
Home /dev/hda4 10.1 4.9 4.7
New Machine Windows Partitioning (40 GB)
Dell Diagnostics /dev/sda1 0.056 0.007 0.049
Windows /dev/sda2 35.5 3.7 31.8
System Recovery /dev/sda3 3.5 -- --
New Machine Linux Partitioning (40 GB)
Dell Diagnostics /dev/sda1 0.056 0.007 0.049
Windows /dev/sda2 5.5 3.7 1.8
Root /dev/sda3 7.0 3.2 3.8
(Extended Partitions) /dev/sda4 -- -- --
Swap /dev/sda5 1.0 -- --
Home /dev/sda6 27.0 4.9 22.1
Installation
or Rescue System
on the
initial menu. There was a problem with I/O-APIC initialization on older
Inspirons, which is now gone.
xena
appears):
kadmin -l
; give these commands:
add -r host/orion.cft.ca.us@CFT.CA.US
unlimited
, 2 expirations:
never
, attributes (hit return).
add -r iprop/orion.cft.ca.us@CFT.CA.US
1 hour
.
ext_keytab -k /tmp/orion.keytab iprop/orion.cft.ca.us@CFT.CA.US host/orion.cft.ca.us@CFT.CA.US host/localhost@CFT.CA.US
iprop/orion.cft.ca.us@CFT.CA.US
to the list. (Done.)
make
. It should compile
without errors.
make install
. Copy *.ko into
/lib/modules/(version)-override-(arch) (substitute your kernel version,
not including the build number, e.g. 2.6.8, and your architecture, e.g.
default or smp). In a SuSE system, /lib/modules/(version)-(arch) (this
version with the build number) will have a symlink updates -> to the
override directory so the contents can be found.
depmod -a
.
modprobe -r -v ipw2200
and also ieee80211_crypt_wep. Then either bring the network back up,
or modprobe -v ipw2200
and hotplug will run the network
up
script.
fixed
,
just papered over.
improved
. I need to find an equivalent to the Gnome Volume
Manager that's useable with fvwm (the window manager I prefer); until
that's done, I won't get my volumes mounted.
Introduction | Configuration | Subsystems | Installation | Recommendations |