Jay's Homepage > >
Mandrake on an IBM X31
|
Mandrake Linux on an IBM Thinkpad x31
|
Hardware Support
General Install of Mandrake
Before installing I used Partition Magic to resize my WindowsXP
partition to 6GB and converted it from NTFS to FAT32 (so that I could
write to it from my Linux system, and use the freespace on it
as temporary storage space.)
To boot from the Mandrake install CD-Rom in a USB CD-Rom drive,
press the blue Access IBM button and select "ATAPI CD-ROM" in the
startup options. (some USB drives may make you use the "Removable Media" option instead.)
I suggest you select the "use freespace on disk" option and allow
Mandrake to automatically partition your drive.
Select packages, and install. Total time is about 50 minutes with
the default package selection. If you do a manual selection, be sure
to get the following packages as I will be telling you how to configure
them later on in this document (and they are useful):
- wireless-tools
- powernowd
- tpb and libxosd2-devel and xosd-tools and xterm
- irda-utils (for IR palm Pilot syncing)
- radeontool
Choose to configure your X system, Mandrake automatically and correctly
determines the screen resolution (1024x768) and X-server type (Radeon).
For everything else, I just used the default options.
Congratulations, you now have a working Linux partition.
Post Install Tweaks
This is a list of tweaks that I performed after the initial install
to enable extra features in the hardware
such as getting the special IBM keys to give on-screen display
information.
- Optional hint if you have the disk space- Copy the install CD's to your HD for the first month or so
if you have the extra space. I copied all of the directories
on the six install CD's to my hard disk so
that in the Mandrake Software Media Manager I could add links
to "local files" and
be able to install files quickly without network connectivity
or swapping CD's in and out. After your have your system configured
as you like, you can delete them to recover the space.
- Speed-Step - Speed-step allows the system to
dynamically change the frequency of the Pentium-M cpu in the
X31 (from 1.4ghz down to 600mhz) to save power when the
system is essentially idle. (How many Mhz do you really need
to type an email?)
Mandrake is nice and already provides the correct (speedstep-centrino) kernel module
and a CPU frequency monitoring and control daemon (powernowd) which we
just have to configure and enable. Add a line "speedstep-centrino" to your
/etc/modprobe.preload file so it will be loaded automatically on reboot, and then load
it manually the first time by typing "modprobe speedstep-centrino".
You can verify that the module is working by typing "cat /proc/cpuinfo" to get something like this:
[root@localhost install]# cat /proc/cpuinfo
(stuff snippedr)
cpu MHz : 599.512
(more stuff snipped)
A urpmi powernowd should find and install the powernowd rpm. If not, search for
powernowd on google and install the RPM manually.
Edit the /etc/sysconfig/powernowd and add "-vv -p 50" to the OPTIONS line. This
will show a bit more information in the /var/log/messages file upon startup, as well
as make the frequency changes happen faster than the default (1000ms or every second)
to keep your system responsive. If you use -vvv instead of -vv you will get a new line in /var/log/messages every time the frequency changes, which is good for debugging, but bad for daily operation.
Note that the Pentium-M in the X31 can only go down to 600mhz, so
42% is the slowest the CPU will ever get down to.
- Suspend to Memory Suspend to memory works well if you
configure a few files like this:
- Create an /etc/acpi/events/sleepbtn file as follows:
event=button[ /]sleep
action=/etc/acpi/actions/sleepbtn.sh
- Create an /etc/acpi/actions/sleepbtn.sh file as follows:
#!/bin/bash
#Stop the bluetooth service.
service bluetooth stop
#sync the disks.
sync && sync && sync
#Change the screen to VT1 (text mode)
/usr/bin/chvt 1
#turn off the backlight on the laptop
# (Note: You must have the radeontool installed....)
/usr/sbin/radeontool light off
#perform the actual "go-to-sleep" function.
echo "mem" > /sys/power/state
#Pause a second or two to let us sleep.
sleep 2
#Sleepytime...Everything after this line gets exectued
#after the user resumes...
#switch back to the Xterminal (automatically turns on backlight)
/usr/bin/chvt 7
#restart services...
service bluetooth start
- Make sure that the acpid service is running (in the Mandrake Control Center) and set to start on boot. (This daemon executs the above script. You
will need to restart the daemon after adding the scripts.)
- To Sleep:Press the Fn-F4 (sleep) button.
- To Resume: Press the power button.
- Suspend Time / Battery usage My X31 uses between 2-4% of its
battery for every hour that it is suspended. This is fine for traveling
between meetings or home and work, but if I won't be using the laptop
for more than a day without having it plugged in I'd shut the
system down.
- Suspend-to-Disk I've had only limited succes with this
using the stock Mandrake kernel on Mandrake 2006. I can hibernate to disk
as long as I'm only in console mode, and have not installed the radeon module (or started X). I expect that this is a problem with the radeon video card driver more than the Linux Kernel, so I'm waiting to see if Xorg fixes it.
- tpb - ThinkPad button - This program will use the xosd (X on
screen display) to display on-screen the status of audio volume and screen
brightness when you press the ThinkPad buttons. But the really nice
feature is the ability to bind the blue "Access IBM" button to start a
command of your choice.
Install the tbp and xosd packages if you have not already done so.
Then, make the /dev/nvram device as follows: "mknod /dev/nvram c 10 144"
Add the "nvram" module to /etc/modprobe.preload and load it manually the first time with "modprobe nvram".
Now, you can add an entry at the very end of /etc/rc.d/rc.local to start the
program at boot: "tpb -d"
This will get the default on screen display working. I'd suggest modifying the
configuration file (/etc/tpbrc) more to your liking. Mine is available as
an example here.
- Modem Support The modem is supported by the slmodem package,
but when I attempted to dial out to an ISP the modem would dial and make
bing-bong noises, but never connect successfully, so I have to say that
it's not as reliable as a real modem. (to be fair, I was very far from the
centeral office, and if I had a better phone line the soft modem may have
worked.) Go buy a (quality) PCMCIA modem if you need one.
- irda Palm Pilot sync - As the x31 does not have a serial port,
I found it easy to use IRDA (infrared) to sync my Palm.
You should confirm that the "IRDA" service is set to start on boot, and make sure that all of the following modules are loaded: irda,ircomm,ircomm-tty.
I found that I had to place ircomm-tty into my /etc/modprobe.preload file to get it
to load automatically. (modprobe ircomm-tty will load it temporarily for testing.)
On the X31, the SIR IR device is either /dev/ttyS0 or /dev/ttyS1. (If you have the "serial port" disabled in the bios, it's likely to be ttyS0.) The command
irattach /dev/ttyS0 -s will connect your Irda software to the Irda
hardware. You can either run it manually each time, or place it in your
/etc/rc.local file to be ran automatically at bootup.
I also added the following to give my userid (summetj) access to the /dev/ircomm0 device. "chown summetj /dev/ircomm0", which is what I have set jPilot to use.
You may need to add the following to /etc/modules.conf
alias char-major-161 ircomm-tty
alias tty-ldisc-11 irtty-sir
Note: If you want a FIR device, I saw this on a mailing list:
nsc-ircc . Took me some time to figure it out, but it works. You need to
do a setserial uart none /dev/ttyS1
in order for it to work properly (this is necessary to tell the kernel
that it is NOT a serial device).
I've added the following to /etc/modules.conf to
automatically do this when loading the nsc-ircc module:
alias irda0 nsc-ircc
options nsc-ircc dongle_id=0x9
pre-install nsc-ircc /bin/setserial /dev/ttyS1 uart none
Note: If you want to use IrDA with a Sony Ericson T610 phone, run the
following commands to make it work (you can also use sysctl.conf file
to load these values:
# echo 1000 > /proc/sys/net/irda/min_tx_turn_time
# echo 1 > /proc/sys/net/irda/max_tx_window
- 1 GB Memory-works correctly
Under Mandrake 10.1 my 1GB of memory works correctly (10.0 didn't support it corectly)
I have used Dreamhost to host my site for many years and I have been very happy with them and recommend them to you for all of your web-hosting needs! (SSH/SSL-IMAP/PHP/MySQL/Jabber).
Jay's Homepage > >
Mandrake on an IBM X31