|
First, a bit of humor to put you in the
right frame of mind....
|
|
|
- 14 Feb 2005: Gary Moyer reports that installing Fedora Core 3 on
an M300 goes smoothly as long as "nofb" is added as a boot option when
starting the installation (to avoid some display problems).
The M300 comes in a variety of configurations; this is AM3-P3500T1X12C6458
(Compaq part no. 152546-002):
- Pentium III 500Mz processor
- 11.3" CTFT XGA display (1024x768 LCD panel); more recent versions have a
12.1" screen
- 64 Mb RAM, upgraded to 320 Mb
- 12 Gb hard disk
- ATI Rage LT Pro video chip (4Mb video SGRAM)
- ESS Maestro 2E sound card
- Lucent Mini-PCI 56K modem
- Intel Pro/100+ Mini PCI Ethernet
This is an amazing machine; about 3.3 lbs, 0.9" thick, nearly full-sized
keyboard (95%, 18 mm pitch), beautiful screen, full set of built-in system
ports, magnesium case, very quiet. About the only thing I don't like
about it is that the Fn key is in the lower-left corner instead of
Ctrl (and Fn is the one key that can't be remapped by
xmodmap).
For more information, see the Armada M300 QuickSpecs and Reference
Guide.
The M300 came with a choice of Windows 95 or 98 (although simply turning on the
power switch booted into Win95). I originally intended to remove Windows
entirely but recanted for the following reason: the M300 has extremely
limited BIOS control independent of the operating system (i.e., accessible by
pressing F10 during boot-up). In particular, there is no control for any sort
of power management (e.g., hibernation, standby, various time-outs for screen
blanking and disk spin-down, etc.). I haven't figured out how to do all of
this via Linux (or whether it's even possible) so for the time being I'm stuck
with keeping a small Windows partition.
If you're going to keep Windows, the first thing to do is to shrink the Windows
partition to make room for Linux. This is done with a DOS utility called FIPS,
which can be found under dosutils/fips20/ in the RedHat 6.2
distribution. See the plain-text file fips.doc in that directory for
specific instructions. Basically, you do the following:
- Turn off Virtual Memory in Windows (no need to defragment the disk if
you haven't created any files under Windows yet).
- Create a DOS boot disk, and somehow copy RESTORRB.EXE,
FIPS.EXE and ERRORS.TXT from the fips20/
directory to this disk (I did this on another Linux machine).
- Reboot off the boot disk, run FIPS, and resize (actually split)
the Windows partition.
- Remove the disk, reboot into Windows and run SCANDISK just to
be sure everything's fine; also, turn Virtual Memory back on.
If you have a Mobile Expansion Unit with a CD reader, you can boot straight off
a RedHat 6.2 CD. Otherwise, if you have an ethernet connection, you can
install via the net (NFS, HTTP, or FTP) using the bootnet.img floppy
image in the images/ subdirectory of the distribution. Just write the
image file to a floppy (e.g., by running dd if=bootnet.img of=/dev/fd0
under Linux on another machine) and boot off it. The ethernet adaptor is
recognized fine by the initialization procedure. It might be possible to
install via the built-in modem if you have the binary Lucent PCI winmodem
module on a floppy (see the Modem section below) but I
haven't tried it. (In any case, do you really have the patience to
install over a 56K modem?)
The RH6.2 installation was completely straightforward. I deleted the
second Windows (FAT32) partition generated by FIPS and created four partitions:
- / (2 Gb)
- /usr/local/ (1 Gb)
- swap partition (330 Mb)
- /home (rest of disk)
The idea is that future installations/upgrades of RedHat (or another
distribution) can overwrite / without disturbing my own stuff in
/home or additional software I've installed in /usr/local/.
I had no problems with the configuration of XFree86 (although some people
have reported having some trouble---here are
XF86Config files [/etc/X11/XF86Config under RH6.2] for
XGA (1024x768) and
SVGA (800x600) LCD panels for XFree86 version
3.x, and for XGA (1024x768) under XFree86 version
4.x).
Audio works fine for me, although others have reported some problems.
Information on the ES1978 PCI audio card can be displayed by:
# lspci
# lspci -s 00:08.0 -vv
The essential maestro.o and souncdcore.o modules may not be recognized
on bootup. They are simply loaded by:
# modprobe maestro
for a stock Debian 2.4.18-686 Debian kernel and use /dev/sequencer.
The built-in modem doesn't work "out-of-the-box" because it's a software modem
(a.k.a. "winmodem"). There is, however, a driver that can be built for 2.2.x
and 2.4.x kernels that works fine. Test your system with the scanModem tool
at http://linmodems.technion.ac.il/
which will recommend the optimal support package for the Lucent/Agere DSP chip
modem, downloadable from http://ltmodem.heby.de (with support up to
2.6.0-test7 as of 30oct03).
If you kept Windows, hibernation (a.k.a. save-to-disk) works fine, by writing
to the file hibrn8.dat in the Windows partition. With 320 Mb of RAM,
however, it is very slow (about 1.5 min to save and nearly 3 min to restore).
As it takes only about a minute to boot and login, this is not a huge win.
If you removed the Windows partition, or if you don't want to wait 3
minutes to restore from hibernation, or if you're just the adventurous sort,
there is a patch to
>=2.2.14 kernels that enables hibernation to the Linux swap partition; here are
patches for 2.2.18 and 2.2.19. (If you don't know how to patch,
configure, compile and install a kernel then you probably don't want to try
this; take a look at the Kernel HOWTO to get
started.) The "software suspend" patch works by saving/restoring individual
processes rather than the entire contents of RAM; it shuts down in about 15 sec
and restores in about 30 sec. There are, however, a few additional things that
I had to do to get it to work:
- Resuming produces a runaway init process (using up 100% of the
CPU). If, however, init is compiled with INITDEBUG set to 1
(in src/init.h of the SysVinit source
package), all is fine.
- The eepro100 (ethernet) module doesn't seem to survive the
suspend/resume. The easiest way to handle this is to compile the kernel
so that software suspend intercepts APM calls
(CONFIG_SWSUSP_OVERRIDE_APM=y) and create a /etc/sysconfig/apm-scripts/apmcontinue
script that removes the eepro100 module on suspend, and then
reinstalls on resume.
I now run a 2.4.x kernel (2.4.14 as of 7 Nov 01) and I have not yet managed
to get the current swsusp patch to work.
-
Ronny Lam pointed out that the "hot keys" that control volume (Fn-F5),
brightness (Fn-F10), and others, work fine under Linux. Just press Fn
along with the relevant function key to activate it, then use the
arrow keys to adjust level (with Fn-F5, the down arrow will sound
a beep to show the current volume setting), and then press
Fn+function-key to exit the "hot-key" mode.
IrDA (infrared communication)
The infrared device on the M300 is on /dev/ttyS2. This defaults to
IRQ
4, but Mikael Hedin pointed out that this needs to be set to IRQ 3 for
IrDA to work. I've added /bin/setserial /dev/ttyS2 irq 3 to
/etc/rc.d/rc.local. Also, under Red Hat, be sure that
/etc/sysconfig/irda contains DEVICE=/dev/ttyS2.
Then, running service irda start should bring up IrDA (SIR)
under /dev/ircomm0.
I've only managed to get SIR working. The M300 has an SMC-based FIR
chip ("lspnp -v" lists a "SMCf010 communications device: RS-232") but the
"findchip" utility (included in the irda-utils package) doesn't detect
it.
If anyone has any suggesting on how to make these things work I'd love to hear them.
-
I have yet to verify this on my own machine, but Christoph Karpeter
reports that, if the machine is booted docked with the CD reader in the
expansion bay, then he has no trouble undocking and redocking. He finds
that running "init 1" and then "init 5" gets the hardware rescan right.
David Plaut
Last modified: Fri Aug 12 10:22:48 EDT 2005