<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ed</id>
	<title>ThinkWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ed"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Ed"/>
	<updated>2026-05-01T23:50:19Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23627</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23627"/>
		<updated>2006-07-25T20:45:56Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* X.Org 6.8.1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
This article describes how to configure Slackware 10.1 on a [[PC110]], with a [http://www.hgst.com/hdd/micro/overvw.htm 4GB Hitachi Microdrive] in one PCMCIA type II slot, a wireless network adapter in the other PCMCIA slot, as well as configuration settings for the [[CT-65535|video hardware]], the built-in peripheral devices including the pointing stick and touch pad, the modem and [[IrDA]] serial ports, the sound hardware, and the [[Power Management|power management]] features.&lt;br /&gt;
&lt;br /&gt;
=== What works ===&lt;br /&gt;
&lt;br /&gt;
* 4GB Hitachi Microdrive in a PCMCIA slot, from where the root filesystem is mounted&lt;br /&gt;
* PCMCIA Network adapters (3Com 3c589, Linksys WPC11 11Mbps 802.11b WLAN Card) &lt;br /&gt;
* Graphics adapter and accelerator ([[CT-65535]])&lt;br /&gt;
* X.Org 6.8.1&lt;br /&gt;
* Digitizer pad&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[ES488]] Audio controller&lt;br /&gt;
* Modem&lt;br /&gt;
* Suspend/resume to RAM&lt;br /&gt;
&lt;br /&gt;
=== What needs to be fixed ===&lt;br /&gt;
&lt;br /&gt;
* Occasional video corruption when switching from X to console&lt;br /&gt;
* Suspend to disk ({{key|Fn}}{{key|F12}} -- there is an appropriate symbol on the key, but it is unknown whether the PC110 can suspend to disk at all)&lt;br /&gt;
* Floppy drive&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ed@carrot:~$ sudo mount -t msdos /dev/fd0h1440 /mnt/floppy/&lt;br /&gt;
mount: block device /dev/fd0h1440 is write-protected, mounting read-only&lt;br /&gt;
mount: wrong fs type, bad option, bad superblock on /dev/fd0h1440,&lt;br /&gt;
       missing codepage or other error&lt;br /&gt;
       In some cases useful info is found in syslog - try&lt;br /&gt;
       dmesg | tail  or so&lt;br /&gt;
&lt;br /&gt;
ed@carrot:~$ dmesg | tail&lt;br /&gt;
inserting floppy driver for 2.4.29&lt;br /&gt;
Floppy drive(s): fd0 is 1.44M&lt;br /&gt;
FDC 0 is a post-1991 82077&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|These instructions are intended for use with Slackware 10.1 plus Linux kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], rather than with any of the kernels included with the Slackware 10.1 distribution.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The stock 2.4.29 Linux kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (do this overnight if you're compiling on the PC110 itself) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Install any other modules you may have ([[hostap]] wireless network card driver modules, for example) if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order. It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the 4GB Hitachi Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
===WPA configuration===&lt;br /&gt;
&lt;br /&gt;
{{NOTE|WPA requires that the Prism3 card's station firmware is at least version 1.7.0. Newer firmware is available [http://www.red-bean.com/~proski/firmware/ here] and instructions for downloading it into the network card's flash memory using tools supplied as part of the [[hostap]] driver can be found [http://linux.junsun.net/intersil-prism/ here].}}&lt;br /&gt;
{{WARN|Unsuccessful attempts to reprogram the network card's flash memory may leave it in an unusable state, except as some sort of paperweight, or perhaps a tool for scraping ice off a car window. WEP and unencrypted network configurations will work with whichever station firmware version your card already has; if you don't understand the instructions for installing newer firmware versions, or don't understand why you might want a newer version, don't do it.}}&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===General wireless network configuration===&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}} (described in the next section).&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
===[[Standby mode]]===&lt;br /&gt;
&lt;br /&gt;
The BIOS takes care of entering standby mode and turning off the display backlight when running on battery power. The backlight stays on when connected to AC power.&lt;br /&gt;
&lt;br /&gt;
===[[Sleep mode]]===&lt;br /&gt;
&lt;br /&gt;
The system can be suspended by pressing {{key|Fn}}{{key|F4}}, or by closing the lid. Opening the lid, or pressing {{key|Fn}}, wakes the machine up again.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake the disk up properly after a suspend/resume cycle, whereas the Linux IDE driver does.}}&lt;br /&gt;
&lt;br /&gt;
Use the spare space on {{path|/dev/hda}}, mounted at {{path|/boot}} to keep a few handy binaries available even when {{path|/}}, the disk, is unavailable:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:/boot# ls -lR apmd/              &lt;br /&gt;
apmd/:&lt;br /&gt;
total 2&lt;br /&gt;
drwxr-xr-x  2 root root 1024 2006-07-23 16:17 bin/&lt;br /&gt;
drwxr-xr-x  2 root root 1024 2005-03-21 00:50 lib/&lt;br /&gt;
&lt;br /&gt;
apmd/bin:&lt;br /&gt;
total 349&lt;br /&gt;
-rwxr--r--  1 root root    650 2006-07-23 12:09 apmd_proxy*&lt;br /&gt;
-rwxr-xr-x  1 root root 263064 2005-03-21 01:12 ash.static*&lt;br /&gt;
-rwxr-xr-x  1 root root  14276 2005-03-21 00:50 cardctl*&lt;br /&gt;
-rwxr-xr-x  1 root root  47656 2005-03-21 18:12 hdparm*&lt;br /&gt;
-rwxr-xr-x  1 root root  14288 2005-03-21 18:13 sleep*&lt;br /&gt;
-rwxr-xr-x  1 root root  11892 2005-03-21 18:13 sync*&lt;br /&gt;
&lt;br /&gt;
apmd/lib:&lt;br /&gt;
total 1433&lt;br /&gt;
-rwxr-xr-x  1 root root  100449 2005-03-21 00:49 ld-linux.so.2*&lt;br /&gt;
-rwxr-xr-x  1 root root 1357414 2005-03-21 00:50 libc.so.6*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/boot/apmd/bin/apmd_proxy}} is a script called by &amp;lt;tt&amp;gt;apmd&amp;lt;/tt&amp;gt; immediately before going to sleep, and again immediately after waking up. Some experimentation has resulted in the following script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/boot/apmd/bin/ash.static&lt;br /&gt;
&lt;br /&gt;
# Make sure everything is flushed to the disk before suspending,&lt;br /&gt;
# and tell the disk to spin down.&lt;br /&gt;
&lt;br /&gt;
LD_SO=/boot/apmd/lib/ld-linux.so.2&lt;br /&gt;
LD_LIBRARY_PATH=/boot/apmd/lib&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
suspend)&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/hdparm -f /dev/hdc&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/hdparm -Y /dev/hdc&lt;br /&gt;
	;;&lt;br /&gt;
&lt;br /&gt;
resume)&lt;br /&gt;
        # The IDE disk driver will wake the disk up again if it is properly stopped before suspending.&lt;br /&gt;
	;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.M}} to tell &amp;lt;tt&amp;gt;apmd&amp;lt;/tt&amp;gt; where to find the script to execute.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Start APM or ACPI daemon.&lt;br /&gt;
# If APM is enabled in the kernel, start apmd:&lt;br /&gt;
if [ -e /proc/apm ]; then&lt;br /&gt;
  if [ -x /usr/sbin/apmd ]; then&lt;br /&gt;
    echo &amp;quot;Starting APM daemon:  /usr/sbin/apmd&amp;quot;&lt;br /&gt;
    /usr/sbin/apmd -P /boot/apmd/bin/apmd_proxy&lt;br /&gt;
  fi&lt;br /&gt;
elif [ -x /etc/rc.d/rc.acpid ]; then # otherwise, start acpid:&lt;br /&gt;
  . /etc/rc.d/rc.acpid start&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[[Hibernation mode]]===&lt;br /&gt;
&lt;br /&gt;
Although the F12 key has a symbol on it that suggests suspending to disk, {{key|Fn}}{{key|F12}} does nothing.&lt;br /&gt;
&lt;br /&gt;
==X.Org 6.8.1==&lt;br /&gt;
&lt;br /&gt;
Turn off &amp;quot;Font Window&amp;quot; in the BIOS memory settings.&lt;br /&gt;
&lt;br /&gt;
[[CT-65535|Here]] is a working {{path|xorg.conf}}. Note that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    Option &amp;quot;SWCursor&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is essential: configured to use the default hardware cursor, X will fail to start, and will just show a black screen and use 100% CPU until it's killed.&lt;br /&gt;
&lt;br /&gt;
The PC110 has enough video RAM to display 800x600 and 256 colours, either using a virtual desktop and a 640x480 viewport on the computer's own display, or full-screen using an external monitor connected to the VGA port on the port replicator. The appropriate Modeline to use depends on the desired settings for the external monitor.&lt;br /&gt;
&lt;br /&gt;
Using [http://www.jfc.org.uk/software/lwm.html &amp;lt;tt&amp;gt;lwm&amp;lt;/tt&amp;gt;] is a good way to make the most of the PC110's limited memory. Finding button 2 on the mouse is a bit tricky, and so is accurately moving the pointer to a window frame, so&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lwm*button1:  xterm&lt;br /&gt;
lwm*focus:  click&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
makes a good addition to {{path|~/.Xresources}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23626</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23626"/>
		<updated>2006-07-25T20:45:39Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Miscellaneous */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
This article describes how to configure Slackware 10.1 on a [[PC110]], with a [http://www.hgst.com/hdd/micro/overvw.htm 4GB Hitachi Microdrive] in one PCMCIA type II slot, a wireless network adapter in the other PCMCIA slot, as well as configuration settings for the [[CT-65535|video hardware]], the built-in peripheral devices including the pointing stick and touch pad, the modem and [[IrDA]] serial ports, the sound hardware, and the [[Power Management|power management]] features.&lt;br /&gt;
&lt;br /&gt;
=== What works ===&lt;br /&gt;
&lt;br /&gt;
* 4GB Hitachi Microdrive in a PCMCIA slot, from where the root filesystem is mounted&lt;br /&gt;
* PCMCIA Network adapters (3Com 3c589, Linksys WPC11 11Mbps 802.11b WLAN Card) &lt;br /&gt;
* Graphics adapter and accelerator ([[CT-65535]])&lt;br /&gt;
* X.Org 6.8.1&lt;br /&gt;
* Digitizer pad&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[ES488]] Audio controller&lt;br /&gt;
* Modem&lt;br /&gt;
* Suspend/resume to RAM&lt;br /&gt;
&lt;br /&gt;
=== What needs to be fixed ===&lt;br /&gt;
&lt;br /&gt;
* Occasional video corruption when switching from X to console&lt;br /&gt;
* Suspend to disk ({{key|Fn}}{{key|F12}} -- there is an appropriate symbol on the key, but it is unknown whether the PC110 can suspend to disk at all)&lt;br /&gt;
* Floppy drive&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ed@carrot:~$ sudo mount -t msdos /dev/fd0h1440 /mnt/floppy/&lt;br /&gt;
mount: block device /dev/fd0h1440 is write-protected, mounting read-only&lt;br /&gt;
mount: wrong fs type, bad option, bad superblock on /dev/fd0h1440,&lt;br /&gt;
       missing codepage or other error&lt;br /&gt;
       In some cases useful info is found in syslog - try&lt;br /&gt;
       dmesg | tail  or so&lt;br /&gt;
&lt;br /&gt;
ed@carrot:~$ dmesg | tail&lt;br /&gt;
inserting floppy driver for 2.4.29&lt;br /&gt;
Floppy drive(s): fd0 is 1.44M&lt;br /&gt;
FDC 0 is a post-1991 82077&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|These instructions are intended for use with Slackware 10.1 plus Linux kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], rather than with any of the kernels included with the Slackware 10.1 distribution.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The stock 2.4.29 Linux kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (do this overnight if you're compiling on the PC110 itself) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Install any other modules you may have ([[hostap]] wireless network card driver modules, for example) if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order. It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the 4GB Hitachi Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
===WPA configuration===&lt;br /&gt;
&lt;br /&gt;
{{NOTE|WPA requires that the Prism3 card's station firmware is at least version 1.7.0. Newer firmware is available [http://www.red-bean.com/~proski/firmware/ here] and instructions for downloading it into the network card's flash memory using tools supplied as part of the [[hostap]] driver can be found [http://linux.junsun.net/intersil-prism/ here].}}&lt;br /&gt;
{{WARN|Unsuccessful attempts to reprogram the network card's flash memory may leave it in an unusable state, except as some sort of paperweight, or perhaps a tool for scraping ice off a car window. WEP and unencrypted network configurations will work with whichever station firmware version your card already has; if you don't understand the instructions for installing newer firmware versions, or don't understand why you might want a newer version, don't do it.}}&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===General wireless network configuration===&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}} (described in the next section).&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
===[[Standby mode]]===&lt;br /&gt;
&lt;br /&gt;
The BIOS takes care of entering standby mode and turning off the display backlight when running on battery power. The backlight stays on when connected to AC power.&lt;br /&gt;
&lt;br /&gt;
===[[Sleep mode]]===&lt;br /&gt;
&lt;br /&gt;
The system can be suspended by pressing {{key|Fn}}{{key|F4}}, or by closing the lid. Opening the lid, or pressing {{key|Fn}}, wakes the machine up again.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake the disk up properly after a suspend/resume cycle, whereas the Linux IDE driver does.}}&lt;br /&gt;
&lt;br /&gt;
Use the spare space on {{path|/dev/hda}}, mounted at {{path|/boot}} to keep a few handy binaries available even when {{path|/}}, the disk, is unavailable:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:/boot# ls -lR apmd/              &lt;br /&gt;
apmd/:&lt;br /&gt;
total 2&lt;br /&gt;
drwxr-xr-x  2 root root 1024 2006-07-23 16:17 bin/&lt;br /&gt;
drwxr-xr-x  2 root root 1024 2005-03-21 00:50 lib/&lt;br /&gt;
&lt;br /&gt;
apmd/bin:&lt;br /&gt;
total 349&lt;br /&gt;
-rwxr--r--  1 root root    650 2006-07-23 12:09 apmd_proxy*&lt;br /&gt;
-rwxr-xr-x  1 root root 263064 2005-03-21 01:12 ash.static*&lt;br /&gt;
-rwxr-xr-x  1 root root  14276 2005-03-21 00:50 cardctl*&lt;br /&gt;
-rwxr-xr-x  1 root root  47656 2005-03-21 18:12 hdparm*&lt;br /&gt;
-rwxr-xr-x  1 root root  14288 2005-03-21 18:13 sleep*&lt;br /&gt;
-rwxr-xr-x  1 root root  11892 2005-03-21 18:13 sync*&lt;br /&gt;
&lt;br /&gt;
apmd/lib:&lt;br /&gt;
total 1433&lt;br /&gt;
-rwxr-xr-x  1 root root  100449 2005-03-21 00:49 ld-linux.so.2*&lt;br /&gt;
-rwxr-xr-x  1 root root 1357414 2005-03-21 00:50 libc.so.6*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/boot/apmd/bin/apmd_proxy}} is a script called by &amp;lt;tt&amp;gt;apmd&amp;lt;/tt&amp;gt; immediately before going to sleep, and again immediately after waking up. Some experimentation has resulted in the following script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/boot/apmd/bin/ash.static&lt;br /&gt;
&lt;br /&gt;
# Make sure everything is flushed to the disk before suspending,&lt;br /&gt;
# and tell the disk to spin down.&lt;br /&gt;
&lt;br /&gt;
LD_SO=/boot/apmd/lib/ld-linux.so.2&lt;br /&gt;
LD_LIBRARY_PATH=/boot/apmd/lib&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
suspend)&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/hdparm -f /dev/hdc&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/hdparm -Y /dev/hdc&lt;br /&gt;
	;;&lt;br /&gt;
&lt;br /&gt;
resume)&lt;br /&gt;
        # The IDE disk driver will wake the disk up again if it is properly stopped before suspending.&lt;br /&gt;
	;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.M}} to tell &amp;lt;tt&amp;gt;apmd&amp;lt;/tt&amp;gt; where to find the script to execute.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Start APM or ACPI daemon.&lt;br /&gt;
# If APM is enabled in the kernel, start apmd:&lt;br /&gt;
if [ -e /proc/apm ]; then&lt;br /&gt;
  if [ -x /usr/sbin/apmd ]; then&lt;br /&gt;
    echo &amp;quot;Starting APM daemon:  /usr/sbin/apmd&amp;quot;&lt;br /&gt;
    /usr/sbin/apmd -P /boot/apmd/bin/apmd_proxy&lt;br /&gt;
  fi&lt;br /&gt;
elif [ -x /etc/rc.d/rc.acpid ]; then # otherwise, start acpid:&lt;br /&gt;
  . /etc/rc.d/rc.acpid start&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[[Hibernation mode]]===&lt;br /&gt;
&lt;br /&gt;
Although the F12 key has a symbol on it that suggests suspending to disk, {{key|Fn}}{{key|F12}} does nothing.&lt;br /&gt;
&lt;br /&gt;
==X.Org 6.8.1==&lt;br /&gt;
&lt;br /&gt;
Turn off &amp;quot;Font Window&amp;quot; in the BIOS memory settings.&lt;br /&gt;
&lt;br /&gt;
[[CT-65535|Here]] is a working {{path|xorg.conf}}. Note that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    Option &amp;quot;SWCursor&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is essential: configured to use the default hardware cursor, X will fail to start, and will just show a black screen and use 100% CPU until it's killed.&lt;br /&gt;
&lt;br /&gt;
The PC110 has enough video RAM to display 800x600 and 256 colours, either using a virtual desktop and a 640x480 viewport on the computer's own display, or full-screen using an external monitor connected to the VGA port on the port replicator. The appropriate Modeline to use depends on the desired settings for the external monitor.&lt;br /&gt;
&lt;br /&gt;
Using [http://www.jfc.org.uk/software/lwm.html &amp;lt;tt&amp;gt;lwm&amp;lt;/tt&amp;gt;] is a good way to make the most of the PC110's limited memory. Finding button 2 on the mouse is a bit tricky, and so is accurately moving the pointer to a window frame, so&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lwm*button1:  xterm&lt;br /&gt;
lwm*focus:  click&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
makes a good addition to {{path|~/.Xresources}}.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23625</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23625"/>
		<updated>2006-07-25T20:45:11Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Kernel configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
This article describes how to configure Slackware 10.1 on a [[PC110]], with a [http://www.hgst.com/hdd/micro/overvw.htm 4GB Hitachi Microdrive] in one PCMCIA type II slot, a wireless network adapter in the other PCMCIA slot, as well as configuration settings for the [[CT-65535|video hardware]], the built-in peripheral devices including the pointing stick and touch pad, the modem and [[IrDA]] serial ports, the sound hardware, and the [[Power Management|power management]] features.&lt;br /&gt;
&lt;br /&gt;
=== What works ===&lt;br /&gt;
&lt;br /&gt;
* 4GB Hitachi Microdrive in a PCMCIA slot, from where the root filesystem is mounted&lt;br /&gt;
* PCMCIA Network adapters (3Com 3c589, Linksys WPC11 11Mbps 802.11b WLAN Card) &lt;br /&gt;
* Graphics adapter and accelerator ([[CT-65535]])&lt;br /&gt;
* X.Org 6.8.1&lt;br /&gt;
* Digitizer pad&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[ES488]] Audio controller&lt;br /&gt;
* Modem&lt;br /&gt;
* Suspend/resume to RAM&lt;br /&gt;
&lt;br /&gt;
=== What needs to be fixed ===&lt;br /&gt;
&lt;br /&gt;
* Occasional video corruption when switching from X to console&lt;br /&gt;
* Suspend to disk ({{key|Fn}}{{key|F12}} -- there is an appropriate symbol on the key, but it is unknown whether the PC110 can suspend to disk at all)&lt;br /&gt;
* Floppy drive&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ed@carrot:~$ sudo mount -t msdos /dev/fd0h1440 /mnt/floppy/&lt;br /&gt;
mount: block device /dev/fd0h1440 is write-protected, mounting read-only&lt;br /&gt;
mount: wrong fs type, bad option, bad superblock on /dev/fd0h1440,&lt;br /&gt;
       missing codepage or other error&lt;br /&gt;
       In some cases useful info is found in syslog - try&lt;br /&gt;
       dmesg | tail  or so&lt;br /&gt;
&lt;br /&gt;
ed@carrot:~$ dmesg | tail&lt;br /&gt;
inserting floppy driver for 2.4.29&lt;br /&gt;
Floppy drive(s): fd0 is 1.44M&lt;br /&gt;
FDC 0 is a post-1991 82077&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|These instructions are intended for use with Slackware 10.1 plus Linux kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], rather than with any of the kernels included with the Slackware 10.1 distribution.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The stock 2.4.29 Linux kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (do this overnight if you're compiling on the PC110 itself) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Install any other modules you may have ([[hostap]] wireless network card driver modules, for example) if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order. It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the 4GB Hitachi Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
===WPA configuration===&lt;br /&gt;
&lt;br /&gt;
{{NOTE|WPA requires that the Prism3 card's station firmware is at least version 1.7.0. Newer firmware is available [http://www.red-bean.com/~proski/firmware/ here] and instructions for downloading it into the network card's flash memory using tools supplied as part of the [[hostap]] driver can be found [http://linux.junsun.net/intersil-prism/ here].}}&lt;br /&gt;
{{WARN|Unsuccessful attempts to reprogram the network card's flash memory may leave it in an unusable state, except as some sort of paperweight, or perhaps a tool for scraping ice off a car window. WEP and unencrypted network configurations will work with whichever station firmware version your card already has; if you don't understand the instructions for installing newer firmware versions, or don't understand why you might want a newer version, don't do it.}}&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===General wireless network configuration===&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}} (described in the next section).&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
===[[Standby mode]]===&lt;br /&gt;
&lt;br /&gt;
The BIOS takes care of entering standby mode and turning off the display backlight when running on battery power. The backlight stays on when connected to AC power.&lt;br /&gt;
&lt;br /&gt;
===[[Sleep mode]]===&lt;br /&gt;
&lt;br /&gt;
The system can be suspended by pressing {{key|Fn}}{{key|F4}}, or by closing the lid. Opening the lid, or pressing {{key|Fn}}, wakes the machine up again.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake the disk up properly after a suspend/resume cycle, whereas the Linux IDE driver does.}}&lt;br /&gt;
&lt;br /&gt;
Use the spare space on {{path|/dev/hda}}, mounted at {{path|/boot}} to keep a few handy binaries available even when {{path|/}}, the disk, is unavailable:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:/boot# ls -lR apmd/              &lt;br /&gt;
apmd/:&lt;br /&gt;
total 2&lt;br /&gt;
drwxr-xr-x  2 root root 1024 2006-07-23 16:17 bin/&lt;br /&gt;
drwxr-xr-x  2 root root 1024 2005-03-21 00:50 lib/&lt;br /&gt;
&lt;br /&gt;
apmd/bin:&lt;br /&gt;
total 349&lt;br /&gt;
-rwxr--r--  1 root root    650 2006-07-23 12:09 apmd_proxy*&lt;br /&gt;
-rwxr-xr-x  1 root root 263064 2005-03-21 01:12 ash.static*&lt;br /&gt;
-rwxr-xr-x  1 root root  14276 2005-03-21 00:50 cardctl*&lt;br /&gt;
-rwxr-xr-x  1 root root  47656 2005-03-21 18:12 hdparm*&lt;br /&gt;
-rwxr-xr-x  1 root root  14288 2005-03-21 18:13 sleep*&lt;br /&gt;
-rwxr-xr-x  1 root root  11892 2005-03-21 18:13 sync*&lt;br /&gt;
&lt;br /&gt;
apmd/lib:&lt;br /&gt;
total 1433&lt;br /&gt;
-rwxr-xr-x  1 root root  100449 2005-03-21 00:49 ld-linux.so.2*&lt;br /&gt;
-rwxr-xr-x  1 root root 1357414 2005-03-21 00:50 libc.so.6*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/boot/apmd/bin/apmd_proxy}} is a script called by &amp;lt;tt&amp;gt;apmd&amp;lt;/tt&amp;gt; immediately before going to sleep, and again immediately after waking up. Some experimentation has resulted in the following script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/boot/apmd/bin/ash.static&lt;br /&gt;
&lt;br /&gt;
# Make sure everything is flushed to the disk before suspending,&lt;br /&gt;
# and tell the disk to spin down.&lt;br /&gt;
&lt;br /&gt;
LD_SO=/boot/apmd/lib/ld-linux.so.2&lt;br /&gt;
LD_LIBRARY_PATH=/boot/apmd/lib&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
suspend)&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/hdparm -f /dev/hdc&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/hdparm -Y /dev/hdc&lt;br /&gt;
	;;&lt;br /&gt;
&lt;br /&gt;
resume)&lt;br /&gt;
        # The IDE disk driver will wake the disk up again if it is properly stopped before suspending.&lt;br /&gt;
	;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.M}} to tell &amp;lt;tt&amp;gt;apmd&amp;lt;/tt&amp;gt; where to find the script to execute.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Start APM or ACPI daemon.&lt;br /&gt;
# If APM is enabled in the kernel, start apmd:&lt;br /&gt;
if [ -e /proc/apm ]; then&lt;br /&gt;
  if [ -x /usr/sbin/apmd ]; then&lt;br /&gt;
    echo &amp;quot;Starting APM daemon:  /usr/sbin/apmd&amp;quot;&lt;br /&gt;
    /usr/sbin/apmd -P /boot/apmd/bin/apmd_proxy&lt;br /&gt;
  fi&lt;br /&gt;
elif [ -x /etc/rc.d/rc.acpid ]; then # otherwise, start acpid:&lt;br /&gt;
  . /etc/rc.d/rc.acpid start&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[[Hibernation mode]]===&lt;br /&gt;
&lt;br /&gt;
Although the F12 key has a symbol on it that suggests suspending to disk, {{key|Fn}}{{key|F12}} does nothing.&lt;br /&gt;
&lt;br /&gt;
==X.Org 6.8.1==&lt;br /&gt;
&lt;br /&gt;
Turn off &amp;quot;Font Window&amp;quot; in the BIOS memory settings.&lt;br /&gt;
&lt;br /&gt;
[[CT-65535|Here]] is a working {{path|xorg.conf}}. Note that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    Option &amp;quot;SWCursor&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is essential: configured to use the default hardware cursor, X will fail to start, and will just show a black screen and use 100% CPU until it's killed.&lt;br /&gt;
&lt;br /&gt;
The PC110 has enough video RAM to display 800x600 and 256 colours, either using a virtual desktop and a 640x480 viewport on the computer's own display, or full-screen using an external monitor connected to the VGA port on the port replicator. The appropriate Modeline to use depends on the desired settings for the external monitor.&lt;br /&gt;
&lt;br /&gt;
Using [http://www.jfc.org.uk/software/lwm.html &amp;lt;tt&amp;gt;lwm&amp;lt;/tt&amp;gt;] is a good way to make the most of the PC110's limited memory. Finding button 2 on the mouse is a bit tricky, and so is accurately moving the pointer to a window frame, so&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lwm*button1:  xterm&lt;br /&gt;
lwm*focus:  click&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
makes a good addition to {{path|~/.Xresources}}.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23624</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23624"/>
		<updated>2006-07-25T20:43:19Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
&lt;br /&gt;
This article describes how to configure Slackware 10.1 on a [[PC110]], with a [http://www.hgst.com/hdd/micro/overvw.htm 4GB Hitachi Microdrive] in one PCMCIA type II slot, a wireless network adapter in the other PCMCIA slot, as well as configuration settings for the [[CT-65535|video hardware]], the built-in peripheral devices including the pointing stick and touch pad, the modem and [[IrDA]] serial ports, the sound hardware, and the [[Power Management|power management]] features.&lt;br /&gt;
&lt;br /&gt;
=== What works ===&lt;br /&gt;
&lt;br /&gt;
* 4GB Hitachi Microdrive in a PCMCIA slot, from where the root filesystem is mounted&lt;br /&gt;
* PCMCIA Network adapters (3Com 3c589, Linksys WPC11 11Mbps 802.11b WLAN Card) &lt;br /&gt;
* Graphics adapter and accelerator ([[CT-65535]])&lt;br /&gt;
* X.Org 6.8.1&lt;br /&gt;
* Digitizer pad&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[ES488]] Audio controller&lt;br /&gt;
* Modem&lt;br /&gt;
* Suspend/resume to RAM&lt;br /&gt;
&lt;br /&gt;
=== What needs to be fixed ===&lt;br /&gt;
&lt;br /&gt;
* Occasional video corruption when switching from X to console&lt;br /&gt;
* Suspend to disk ({{key|Fn}}{{key|F12}} -- there is an appropriate symbol on the key, but it is unknown whether the PC110 can suspend to disk at all)&lt;br /&gt;
* Floppy drive&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ed@carrot:~$ sudo mount -t msdos /dev/fd0h1440 /mnt/floppy/&lt;br /&gt;
mount: block device /dev/fd0h1440 is write-protected, mounting read-only&lt;br /&gt;
mount: wrong fs type, bad option, bad superblock on /dev/fd0h1440,&lt;br /&gt;
       missing codepage or other error&lt;br /&gt;
       In some cases useful info is found in syslog - try&lt;br /&gt;
       dmesg | tail  or so&lt;br /&gt;
&lt;br /&gt;
ed@carrot:~$ dmesg | tail&lt;br /&gt;
inserting floppy driver for 2.4.29&lt;br /&gt;
Floppy drive(s): fd0 is 1.44M&lt;br /&gt;
FDC 0 is a post-1991 82077&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|These instructions are intended for use with Slackware 10.1 plus Linux kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], rather than with any of the kernels included with the Slackware 10.1 distribution.&lt;br /&gt;
&lt;br /&gt;
These instructions also describe how to configure the PC110 to boot from a 4MB Hitachi CompactFlash type II Microdrive, how to configure the PC110 to connect to a WPA-encrypted wireless network using a Prism3 chipset PCMCIA card, how to configure the PC110's various other peripheral devices, and how to set up X.Org.}}&lt;br /&gt;
&lt;br /&gt;
The stock 2.4.29 Linux kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (do this overnight if you're compiling on the PC110 itself) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Install any other modules you may have ([[hostap]] wireless network card driver modules, for example) if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order. It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the 4GB Hitachi Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
===WPA configuration===&lt;br /&gt;
&lt;br /&gt;
{{NOTE|WPA requires that the Prism3 card's station firmware is at least version 1.7.0. Newer firmware is available [http://www.red-bean.com/~proski/firmware/ here] and instructions for downloading it into the network card's flash memory using tools supplied as part of the [[hostap]] driver can be found [http://linux.junsun.net/intersil-prism/ here].}}&lt;br /&gt;
{{WARN|Unsuccessful attempts to reprogram the network card's flash memory may leave it in an unusable state, except as some sort of paperweight, or perhaps a tool for scraping ice off a car window. WEP and unencrypted network configurations will work with whichever station firmware version your card already has; if you don't understand the instructions for installing newer firmware versions, or don't understand why you might want a newer version, don't do it.}}&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===General wireless network configuration===&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}} (described in the next section).&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
===[[Standby mode]]===&lt;br /&gt;
&lt;br /&gt;
The BIOS takes care of entering standby mode and turning off the display backlight when running on battery power. The backlight stays on when connected to AC power.&lt;br /&gt;
&lt;br /&gt;
===[[Sleep mode]]===&lt;br /&gt;
&lt;br /&gt;
The system can be suspended by pressing {{key|Fn}}{{key|F4}}, or by closing the lid. Opening the lid, or pressing {{key|Fn}}, wakes the machine up again.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake the disk up properly after a suspend/resume cycle, whereas the Linux IDE driver does.}}&lt;br /&gt;
&lt;br /&gt;
Use the spare space on {{path|/dev/hda}}, mounted at {{path|/boot}} to keep a few handy binaries available even when {{path|/}}, the disk, is unavailable:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:/boot# ls -lR apmd/              &lt;br /&gt;
apmd/:&lt;br /&gt;
total 2&lt;br /&gt;
drwxr-xr-x  2 root root 1024 2006-07-23 16:17 bin/&lt;br /&gt;
drwxr-xr-x  2 root root 1024 2005-03-21 00:50 lib/&lt;br /&gt;
&lt;br /&gt;
apmd/bin:&lt;br /&gt;
total 349&lt;br /&gt;
-rwxr--r--  1 root root    650 2006-07-23 12:09 apmd_proxy*&lt;br /&gt;
-rwxr-xr-x  1 root root 263064 2005-03-21 01:12 ash.static*&lt;br /&gt;
-rwxr-xr-x  1 root root  14276 2005-03-21 00:50 cardctl*&lt;br /&gt;
-rwxr-xr-x  1 root root  47656 2005-03-21 18:12 hdparm*&lt;br /&gt;
-rwxr-xr-x  1 root root  14288 2005-03-21 18:13 sleep*&lt;br /&gt;
-rwxr-xr-x  1 root root  11892 2005-03-21 18:13 sync*&lt;br /&gt;
&lt;br /&gt;
apmd/lib:&lt;br /&gt;
total 1433&lt;br /&gt;
-rwxr-xr-x  1 root root  100449 2005-03-21 00:49 ld-linux.so.2*&lt;br /&gt;
-rwxr-xr-x  1 root root 1357414 2005-03-21 00:50 libc.so.6*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/boot/apmd/bin/apmd_proxy}} is a script called by &amp;lt;tt&amp;gt;apmd&amp;lt;/tt&amp;gt; immediately before going to sleep, and again immediately after waking up. Some experimentation has resulted in the following script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/boot/apmd/bin/ash.static&lt;br /&gt;
&lt;br /&gt;
# Make sure everything is flushed to the disk before suspending,&lt;br /&gt;
# and tell the disk to spin down.&lt;br /&gt;
&lt;br /&gt;
LD_SO=/boot/apmd/lib/ld-linux.so.2&lt;br /&gt;
LD_LIBRARY_PATH=/boot/apmd/lib&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
suspend)&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/hdparm -f /dev/hdc&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/hdparm -Y /dev/hdc&lt;br /&gt;
	;;&lt;br /&gt;
&lt;br /&gt;
resume)&lt;br /&gt;
        # The IDE disk driver will wake the disk up again if it is properly stopped before suspending.&lt;br /&gt;
	;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.M}} to tell &amp;lt;tt&amp;gt;apmd&amp;lt;/tt&amp;gt; where to find the script to execute.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Start APM or ACPI daemon.&lt;br /&gt;
# If APM is enabled in the kernel, start apmd:&lt;br /&gt;
if [ -e /proc/apm ]; then&lt;br /&gt;
  if [ -x /usr/sbin/apmd ]; then&lt;br /&gt;
    echo &amp;quot;Starting APM daemon:  /usr/sbin/apmd&amp;quot;&lt;br /&gt;
    /usr/sbin/apmd -P /boot/apmd/bin/apmd_proxy&lt;br /&gt;
  fi&lt;br /&gt;
elif [ -x /etc/rc.d/rc.acpid ]; then # otherwise, start acpid:&lt;br /&gt;
  . /etc/rc.d/rc.acpid start&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[[Hibernation mode]]===&lt;br /&gt;
&lt;br /&gt;
Although the F12 key has a symbol on it that suggests suspending to disk, {{key|Fn}}{{key|F12}} does nothing.&lt;br /&gt;
&lt;br /&gt;
==X.Org 6.8.1==&lt;br /&gt;
&lt;br /&gt;
Turn off &amp;quot;Font Window&amp;quot; in the BIOS memory settings.&lt;br /&gt;
&lt;br /&gt;
[[CT-65535|Here]] is a working {{path|xorg.conf}}. Note that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    Option &amp;quot;SWCursor&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is essential: configured to use the default hardware cursor, X will fail to start, and will just show a black screen and use 100% CPU until it's killed.&lt;br /&gt;
&lt;br /&gt;
The PC110 has enough video RAM to display 800x600 and 256 colours, either using a virtual desktop and a 640x480 viewport on the computer's own display, or full-screen using an external monitor connected to the VGA port on the port replicator. The appropriate Modeline to use depends on the desired settings for the external monitor.&lt;br /&gt;
&lt;br /&gt;
Using [http://www.jfc.org.uk/software/lwm.html &amp;lt;tt&amp;gt;lwm&amp;lt;/tt&amp;gt;] is a good way to make the most of the PC110's limited memory. Finding button 2 on the mouse is a bit tricky, and so is accurately moving the pointer to a window frame, so&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lwm*button1:  xterm&lt;br /&gt;
lwm*focus:  click&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
makes a good addition to {{path|~/.Xresources}}.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23623</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23623"/>
		<updated>2006-07-25T20:20:04Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* APM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
=== What works ===&lt;br /&gt;
&lt;br /&gt;
* 4GB Hitachi Microdrive in a PCMCIA slot&lt;br /&gt;
* PCMCIA Network adapters (3Com 3c589, Linksys WPC11 11Mbps 802.11b WLAN Card) &lt;br /&gt;
* Graphics adapter and accelerator ([[CT-65535]])&lt;br /&gt;
* X.Org 6.8.1&lt;br /&gt;
* Digitizer pad&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[ES488]] Audio controller&lt;br /&gt;
* Modem&lt;br /&gt;
* Suspend/resume to RAM&lt;br /&gt;
&lt;br /&gt;
=== What needs to be fixed ===&lt;br /&gt;
&lt;br /&gt;
* Occasional video corruption when switching from X to console&lt;br /&gt;
* Suspend to disk ({{key|Fn}}{{key|F12}} -- there is an appropriate symbol on the key, but it is unclear whether the PC110 can suspend to disk under any OS)&lt;br /&gt;
* Floppy drive&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ed@carrot:~$ sudo mount -t msdos /dev/fd0h1440 /mnt/floppy/&lt;br /&gt;
mount: block device /dev/fd0h1440 is write-protected, mounting read-only&lt;br /&gt;
mount: wrong fs type, bad option, bad superblock on /dev/fd0h1440,&lt;br /&gt;
       missing codepage or other error&lt;br /&gt;
       In some cases useful info is found in syslog - try&lt;br /&gt;
       dmesg | tail  or so&lt;br /&gt;
&lt;br /&gt;
ed@carrot:~$ dmesg | tail&lt;br /&gt;
inserting floppy driver for 2.4.29&lt;br /&gt;
Floppy drive(s): fd0 is 1.44M&lt;br /&gt;
FDC 0 is a post-1991 82077&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|These instructions are intended for use with Slackware 10.1 plus Linux kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], rather than with any of the kernels included with the Slackware 10.1 distribution.&lt;br /&gt;
&lt;br /&gt;
These instructions also describe how to configure the PC110 to boot from a 4MB Hitachi CompactFlash type II Microdrive, how to configure the PC110 to connect to a WPA-encrypted wireless network using a Prism3 chipset PCMCIA card, how to configure the PC110's various other peripheral devices, and how to set up X.Org.}}&lt;br /&gt;
&lt;br /&gt;
The stock 2.4.29 Linux kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (do this overnight if you're compiling on the PC110 itself) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Install any other modules you may have ([[hostap]] wireless network card driver modules, for example) if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order. It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the 4GB Hitachi Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
===WPA configuration===&lt;br /&gt;
&lt;br /&gt;
{{NOTE|WPA requires that the Prism3 card's station firmware is at least version 1.7.0. Newer firmware is available [http://www.red-bean.com/~proski/firmware/ here] and instructions for downloading it into the network card's flash memory using tools supplied as part of the [[hostap]] driver can be found [http://linux.junsun.net/intersil-prism/ here].}}&lt;br /&gt;
{{WARN|Unsuccessful attempts to reprogram the network card's flash memory may leave it in an unusable state, except as some sort of paperweight, or perhaps a tool for scraping ice off a car window. WEP and unencrypted network configurations will work with whichever station firmware version your card already has; if you don't understand the instructions for installing newer firmware versions, or don't understand why you might want a newer version, don't do it.}}&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===General wireless network configuration===&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}} (described in the next section).&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
===[[Standby mode]]===&lt;br /&gt;
&lt;br /&gt;
The BIOS takes care of entering standby mode and turning off the display backlight when running on battery power. The backlight stays on when connected to AC power.&lt;br /&gt;
&lt;br /&gt;
===[[Sleep mode]]===&lt;br /&gt;
&lt;br /&gt;
The system can be suspended by pressing {{key|Fn}}{{key|F4}}, or by closing the lid. Opening the lid, or pressing {{key|Fn}}, wakes the machine up again.&lt;br /&gt;
&lt;br /&gt;
{{NOTE|It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake the disk up properly after a suspend/resume cycle, whereas the Linux IDE driver does.}}&lt;br /&gt;
&lt;br /&gt;
Use the spare space on {{path|/dev/hda}}, mounted at {{path|/boot}} to keep a few handy binaries available even when {{path|/}}, the disk, is unavailable:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:/boot# ls -lR apmd/              &lt;br /&gt;
apmd/:&lt;br /&gt;
total 2&lt;br /&gt;
drwxr-xr-x  2 root root 1024 2006-07-23 16:17 bin/&lt;br /&gt;
drwxr-xr-x  2 root root 1024 2005-03-21 00:50 lib/&lt;br /&gt;
&lt;br /&gt;
apmd/bin:&lt;br /&gt;
total 349&lt;br /&gt;
-rwxr--r--  1 root root    650 2006-07-23 12:09 apmd_proxy*&lt;br /&gt;
-rwxr-xr-x  1 root root 263064 2005-03-21 01:12 ash.static*&lt;br /&gt;
-rwxr-xr-x  1 root root  14276 2005-03-21 00:50 cardctl*&lt;br /&gt;
-rwxr-xr-x  1 root root  47656 2005-03-21 18:12 hdparm*&lt;br /&gt;
-rwxr-xr-x  1 root root  14288 2005-03-21 18:13 sleep*&lt;br /&gt;
-rwxr-xr-x  1 root root  11892 2005-03-21 18:13 sync*&lt;br /&gt;
&lt;br /&gt;
apmd/lib:&lt;br /&gt;
total 1433&lt;br /&gt;
-rwxr-xr-x  1 root root  100449 2005-03-21 00:49 ld-linux.so.2*&lt;br /&gt;
-rwxr-xr-x  1 root root 1357414 2005-03-21 00:50 libc.so.6*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/boot/apmd/bin/apmd_proxy}} is a script called by &amp;lt;tt&amp;gt;apmd&amp;lt;/tt&amp;gt; immediately before going to sleep, and again immediately after waking up. Some experimentation has resulted in the following script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/boot/apmd/bin/ash.static&lt;br /&gt;
&lt;br /&gt;
# Make sure everything is flushed to the disk before suspending,&lt;br /&gt;
# and tell the disk to spin down.&lt;br /&gt;
&lt;br /&gt;
LD_SO=/boot/apmd/lib/ld-linux.so.2&lt;br /&gt;
LD_LIBRARY_PATH=/boot/apmd/lib&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
suspend)&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/hdparm -f /dev/hdc&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/hdparm -Y /dev/hdc&lt;br /&gt;
	;;&lt;br /&gt;
&lt;br /&gt;
resume)&lt;br /&gt;
        # The IDE disk driver will wake the disk up again if it is properly stopped before suspending.&lt;br /&gt;
	;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.M}} to tell &amp;lt;tt&amp;gt;apmd&amp;lt;/tt&amp;gt; where to find the script to execute.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Start APM or ACPI daemon.&lt;br /&gt;
# If APM is enabled in the kernel, start apmd:&lt;br /&gt;
if [ -e /proc/apm ]; then&lt;br /&gt;
  if [ -x /usr/sbin/apmd ]; then&lt;br /&gt;
    echo &amp;quot;Starting APM daemon:  /usr/sbin/apmd&amp;quot;&lt;br /&gt;
    /usr/sbin/apmd -P /boot/apmd/bin/apmd_proxy&lt;br /&gt;
  fi&lt;br /&gt;
elif [ -x /etc/rc.d/rc.acpid ]; then # otherwise, start acpid:&lt;br /&gt;
  . /etc/rc.d/rc.acpid start&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[[Hibernation mode]]===&lt;br /&gt;
&lt;br /&gt;
Although the F12 key has a symbol on it that suggests suspending to disk, {{key|Fn}}{{key|F12}} does nothing.&lt;br /&gt;
&lt;br /&gt;
==X.Org 6.8.1==&lt;br /&gt;
&lt;br /&gt;
Turn off &amp;quot;Font Window&amp;quot; in the BIOS memory settings.&lt;br /&gt;
&lt;br /&gt;
[[CT-65535|Here]] is a working {{path|xorg.conf}}. Note that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    Option &amp;quot;SWCursor&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is essential: configured to use the default hardware cursor, X will fail to start, and will just show a black screen and use 100% CPU until it's killed.&lt;br /&gt;
&lt;br /&gt;
The PC110 has enough video RAM to display 800x600 and 256 colours, either using a virtual desktop and a 640x480 viewport on the computer's own display, or full-screen using an external monitor connected to the VGA port on the port replicator. The appropriate Modeline to use depends on the desired settings for the external monitor.&lt;br /&gt;
&lt;br /&gt;
Using [http://www.jfc.org.uk/software/lwm.html &amp;lt;tt&amp;gt;lwm&amp;lt;/tt&amp;gt;] is a good way to make the most of the PC110's limited memory. Finding button 2 on the mouse is a bit tricky, and so is accurately moving the pointer to a window frame, so&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lwm*button1:  xterm&lt;br /&gt;
lwm*focus:  click&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
makes a good addition to {{path|~/.Xresources}}.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=APM_vs._ACPI&amp;diff=23622</id>
		<title>APM vs. ACPI</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=APM_vs._ACPI&amp;diff=23622"/>
		<updated>2006-07-25T20:10:15Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Others */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
The following tables headings shell designate the following meanings...&lt;br /&gt;
&lt;br /&gt;
* APM&lt;br /&gt;
** Blank = ability to turn off the LCD while using APM&lt;br /&gt;
** Sleep = ability to do a suspend-to-ram using APM&lt;br /&gt;
** Hibernate = ability to perform a suspend-to-disk via the BIOS&lt;br /&gt;
** Battery = ability to get statistics on remaining battery life from the APM subsystem&lt;br /&gt;
*ACPI&lt;br /&gt;
** Blank = ability to turn off the LCD while using ACPI&lt;br /&gt;
** Sleep = ability to do a suspend-to-ram using ACPI&lt;br /&gt;
** Hibernate = ability to perform a suspend-to-disk using ACPI&lt;br /&gt;
** Battery = ability to get statistics on remaining battery life from the ACPI subsystem&lt;br /&gt;
&lt;br /&gt;
The fields should be filled with one of the following:&lt;br /&gt;
* ? = unknown / untested&lt;br /&gt;
* yes = working (with or without extra configuration effort)&lt;br /&gt;
* no = not working (because kernel support isn't there yet)&lt;br /&gt;
* part = partially working (unsolvable trouble on resume or something like that)&lt;br /&gt;
* N/A = not supported by the hardware&lt;br /&gt;
* ACPI-Hibernate can additionally have one of these:&lt;br /&gt;
** sus - hibernation works using the old in-kernel (2.6) [[swsusp]]&lt;br /&gt;
** sus2 - hibernation works using [[Software Suspend 2]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====Numbered====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:560 | 560]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570 | 570]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570E | 570E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600 | 600]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600E | 600E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600X | 600X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CD | 755CD]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CDV | 755CDV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CV | 755CV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CX | 755CX]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770 | 770]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770E | 770E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770X | 770X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | part&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770Z | 770Z]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====A Series====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20m | A20m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20p | A20p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21e | A21e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21m | A21m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21p | A21p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22e | A22e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22m | A22m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22p | A22p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30 | A30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30p | A30p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31 | A31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31p | A31p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====G Series====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G40 | G40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G41 | G41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====R Series====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R30 | R30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R31 | R31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | sus2&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R32 | R32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40 | R40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40e | R40e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50 | R50]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50e | R50e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50p | R50p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R51 | R51]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R52 | R52]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====T Series====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T20 | T20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes &lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | [[#t20_hib|yes]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | [[#t20_hib|yes]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T21 | T21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T22 | T22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | part&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | part&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T23 | T23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T30 | T30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40 | T40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40p | T40p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41 | T41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41p | T41p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42 | T42]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42p | T42p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43 | T43]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | part&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43p | T43p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T60 | T60]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====X Series====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X20 | X20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X21 | X21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | random&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y2.6&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X22 | X22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X23 | X23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X24 | X24]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | sus2&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X30 | X30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | sus2&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | sus2&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X31 | X31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X32 | X32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X40 | X40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 | X41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | part (SATA)&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | part (SATA)&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | part (SATA)&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes (sus)&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | X41 Tablet]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X60 | X60]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X60s | X60s]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====Z Series====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:Z60m | Z60m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:Z60t | Z60t]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====Others====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:TransNote | TransNote]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ? &lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:PC110 | PC110]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;t20_hib&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;T20 Hibernation:&amp;lt;/b&amp;gt;&lt;br /&gt;
* tested with SuSE 9.2&lt;br /&gt;
* APM needs a special file on a windows partition&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23620</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23620"/>
		<updated>2006-07-25T16:34:51Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Miscellaneous */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
=== What works ===&lt;br /&gt;
&lt;br /&gt;
* 4GB Hitachi Microdrive in a PCMCIA slot&lt;br /&gt;
* PCMCIA Network adapters (3Com 3c589, Linksys WPC11 11Mbps 802.11b WLAN Card) &lt;br /&gt;
* Graphics adapter and accelerator ([[CT-65535]])&lt;br /&gt;
* X.Org 6.8.1&lt;br /&gt;
* Digitizer pad&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[ES488]] Audio controller&lt;br /&gt;
* Modem&lt;br /&gt;
* Suspend/resume to RAM&lt;br /&gt;
&lt;br /&gt;
=== What needs to be fixed ===&lt;br /&gt;
&lt;br /&gt;
* Occasional video corruption when switching from X to console&lt;br /&gt;
* Suspend to disk ({{key|Fn}}{{key|F12}} -- there is an appropriate symbol on the key, but it is unclear whether the PC110 can suspend to disk under any OS)&lt;br /&gt;
* Floppy drive&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ed@carrot:~$ sudo mount -t msdos /dev/fd0h1440 /mnt/floppy/&lt;br /&gt;
mount: block device /dev/fd0h1440 is write-protected, mounting read-only&lt;br /&gt;
mount: wrong fs type, bad option, bad superblock on /dev/fd0h1440,&lt;br /&gt;
       missing codepage or other error&lt;br /&gt;
       In some cases useful info is found in syslog - try&lt;br /&gt;
       dmesg | tail  or so&lt;br /&gt;
&lt;br /&gt;
ed@carrot:~$ dmesg | tail&lt;br /&gt;
inserting floppy driver for 2.4.29&lt;br /&gt;
Floppy drive(s): fd0 is 1.44M&lt;br /&gt;
FDC 0 is a post-1991 82077&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|These instructions are intended for use with Slackware 10.1 plus Linux kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], rather than with any of the kernels included with the Slackware 10.1 distribution.&lt;br /&gt;
&lt;br /&gt;
These instructions also describe how to configure the PC110 to boot from a 4MB Hitachi CompactFlash type II Microdrive, how to configure the PC110 to connect to a WPA-encrypted wireless network using a Prism3 chipset PCMCIA card, how to configure the PC110's various other peripheral devices, and how to set up X.Org.}}&lt;br /&gt;
&lt;br /&gt;
The stock 2.4.29 Linux kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (do this overnight if you're compiling on the PC110 itself) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Install any other modules you may have ([[hostap]] wireless network card driver modules, for example) if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order. It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the 4GB Hitachi Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
===WPA configuration===&lt;br /&gt;
&lt;br /&gt;
{{NOTE|WPA requires that the Prism3 card's station firmware is at least version 1.7.0. Newer firmware is available [http://www.red-bean.com/~proski/firmware/ here] and instructions for downloading it into the network card's flash memory using tools supplied as part of the [[hostap]] driver can be found [http://linux.junsun.net/intersil-prism/ here].}}&lt;br /&gt;
{{WARN|Unsuccessful attempts to reprogram the network card's flash memory may leave it in an unusable state, except as some sort of paperweight, or perhaps a tool for scraping ice off a car window. WEP and unencrypted network configurations will work with whichever station firmware version your card already has; if you don't understand the instructions for installing newer firmware versions, or don't understand why you might want a newer version, don't do it.}}&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===General wireless network configuration===&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}} (described in the next section).&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake the disk up properly after a suspend/resume cycle, whereas the Linux IDE driver does.}}&lt;br /&gt;
&lt;br /&gt;
Use the spare space on {{path|/dev/hda}}, mounted at {{path|/boot}} to keep a few handy binaries available even when {{path|/}}, the disk, is unavailable:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:/boot# ls -lR apmd/              &lt;br /&gt;
apmd/:&lt;br /&gt;
total 2&lt;br /&gt;
drwxr-xr-x  2 root root 1024 2006-07-23 16:17 bin/&lt;br /&gt;
drwxr-xr-x  2 root root 1024 2005-03-21 00:50 lib/&lt;br /&gt;
&lt;br /&gt;
apmd/bin:&lt;br /&gt;
total 349&lt;br /&gt;
-rwxr--r--  1 root root    650 2006-07-23 12:09 apmd_proxy*&lt;br /&gt;
-rwxr-xr-x  1 root root 263064 2005-03-21 01:12 ash.static*&lt;br /&gt;
-rwxr-xr-x  1 root root  14276 2005-03-21 00:50 cardctl*&lt;br /&gt;
-rwxr-xr-x  1 root root  47656 2005-03-21 18:12 hdparm*&lt;br /&gt;
-rwxr-xr-x  1 root root  14288 2005-03-21 18:13 sleep*&lt;br /&gt;
-rwxr-xr-x  1 root root  11892 2005-03-21 18:13 sync*&lt;br /&gt;
&lt;br /&gt;
apmd/lib:&lt;br /&gt;
total 1433&lt;br /&gt;
-rwxr-xr-x  1 root root  100449 2005-03-21 00:49 ld-linux.so.2*&lt;br /&gt;
-rwxr-xr-x  1 root root 1357414 2005-03-21 00:50 libc.so.6*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/boot/apmd/bin/apmd_proxy}} is a script called by &amp;lt;tt&amp;gt;apmd&amp;lt;/tt&amp;gt; immediately before going to sleep, and again immediately after waking up. Some experimentation has resulted in the following script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/boot/apmd/bin/ash.static&lt;br /&gt;
&lt;br /&gt;
# Make sure everything is flushed to the disk before suspending,&lt;br /&gt;
# and tell the disk to spin down.&lt;br /&gt;
&lt;br /&gt;
LD_SO=/boot/apmd/lib/ld-linux.so.2&lt;br /&gt;
LD_LIBRARY_PATH=/boot/apmd/lib&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
suspend)&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/hdparm -f /dev/hdc&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/hdparm -Y /dev/hdc&lt;br /&gt;
	;;&lt;br /&gt;
&lt;br /&gt;
resume)&lt;br /&gt;
        # The IDE disk driver will wake the disk up again if it is properly stopped before suspending.&lt;br /&gt;
	;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.M}} to tell &amp;lt;tt&amp;gt;apmd&amp;lt;/tt&amp;gt; where to find the script to execute.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Start APM or ACPI daemon.&lt;br /&gt;
# If APM is enabled in the kernel, start apmd:&lt;br /&gt;
if [ -e /proc/apm ]; then&lt;br /&gt;
  if [ -x /usr/sbin/apmd ]; then&lt;br /&gt;
    echo &amp;quot;Starting APM daemon:  /usr/sbin/apmd&amp;quot;&lt;br /&gt;
    /usr/sbin/apmd -P /boot/apmd/bin/apmd_proxy&lt;br /&gt;
  fi&lt;br /&gt;
elif [ -x /etc/rc.d/rc.acpid ]; then # otherwise, start acpid:&lt;br /&gt;
  . /etc/rc.d/rc.acpid start&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==X.Org 6.8.1==&lt;br /&gt;
&lt;br /&gt;
Turn off &amp;quot;Font Window&amp;quot; in the BIOS memory settings.&lt;br /&gt;
&lt;br /&gt;
[[CT-65535|Here]] is a working {{path|xorg.conf}}. Note that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    Option &amp;quot;SWCursor&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is essential: configured to use the default hardware cursor, X will fail to start, and will just show a black screen and use 100% CPU until it's killed.&lt;br /&gt;
&lt;br /&gt;
The PC110 has enough video RAM to display 800x600 and 256 colours, either using a virtual desktop and a 640x480 viewport on the computer's own display, or full-screen using an external monitor connected to the VGA port on the port replicator. The appropriate Modeline to use depends on the desired settings for the external monitor.&lt;br /&gt;
&lt;br /&gt;
Using [http://www.jfc.org.uk/software/lwm.html &amp;lt;tt&amp;gt;lwm&amp;lt;/tt&amp;gt;] is a good way to make the most of the PC110's limited memory. Finding button 2 on the mouse is a bit tricky, and so is accurately moving the pointer to a window frame, so&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lwm*button1:  xterm&lt;br /&gt;
lwm*focus:  click&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
makes a good addition to {{path|~/.Xresources}}.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23618</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23618"/>
		<updated>2006-07-25T16:24:33Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Boot sequence */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
=== What works ===&lt;br /&gt;
&lt;br /&gt;
* 4GB Hitachi Microdrive in a PCMCIA slot&lt;br /&gt;
* PCMCIA Network adapters (3Com 3c589, Linksys WPC11 11Mbps 802.11b WLAN Card) &lt;br /&gt;
* Graphics adapter and accelerator ([[CT-65535]])&lt;br /&gt;
* X.Org 6.8.1&lt;br /&gt;
* Digitizer pad&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[ES488]] Audio controller&lt;br /&gt;
* Modem&lt;br /&gt;
* Suspend/resume to RAM&lt;br /&gt;
&lt;br /&gt;
=== What needs to be fixed ===&lt;br /&gt;
&lt;br /&gt;
* Occasional video corruption when switching from X to console&lt;br /&gt;
* Suspend to disk ({{key|Fn}}{{key|F12}} -- there is an appropriate symbol on the key, but it is unclear whether the PC110 can suspend to disk under any OS)&lt;br /&gt;
* Floppy drive&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ed@carrot:~$ sudo mount -t msdos /dev/fd0h1440 /mnt/floppy/&lt;br /&gt;
mount: block device /dev/fd0h1440 is write-protected, mounting read-only&lt;br /&gt;
mount: wrong fs type, bad option, bad superblock on /dev/fd0h1440,&lt;br /&gt;
       missing codepage or other error&lt;br /&gt;
       In some cases useful info is found in syslog - try&lt;br /&gt;
       dmesg | tail  or so&lt;br /&gt;
&lt;br /&gt;
ed@carrot:~$ dmesg | tail&lt;br /&gt;
inserting floppy driver for 2.4.29&lt;br /&gt;
Floppy drive(s): fd0 is 1.44M&lt;br /&gt;
FDC 0 is a post-1991 82077&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|These instructions are intended for use with Slackware 10.1 plus Linux kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], rather than with any of the kernels included with the Slackware 10.1 distribution.&lt;br /&gt;
&lt;br /&gt;
These instructions also describe how to configure the PC110 to boot from a 4MB Hitachi CompactFlash type II Microdrive, how to configure the PC110 to connect to a WPA-encrypted wireless network using a Prism3 chipset PCMCIA card, how to configure the PC110's various other peripheral devices, and how to set up X.Org.}}&lt;br /&gt;
&lt;br /&gt;
The stock 2.4.29 Linux kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (do this overnight if you're compiling on the PC110 itself) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Install any other modules you may have ([[hostap]] wireless network card driver modules, for example) if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order. It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the 4GB Hitachi Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
===WPA configuration===&lt;br /&gt;
&lt;br /&gt;
{{NOTE|WPA requires that the Prism3 card's station firmware is at least version 1.7.0. Newer firmware is available [http://www.red-bean.com/~proski/firmware/ here] and instructions for downloading it into the network card's flash memory using tools supplied as part of the [[hostap]] driver can be found [http://linux.junsun.net/intersil-prism/ here].}}&lt;br /&gt;
{{WARN|Unsuccessful attempts to reprogram the network card's flash memory may leave it in an unusable state, except as some sort of paperweight, or perhaps a tool for scraping ice off a car window. WEP and unencrypted network configurations will work with whichever station firmware version your card already has; if you don't understand the instructions for installing newer firmware versions, or don't understand why you might want a newer version, don't do it.}}&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===General wireless network configuration===&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}} (described in the next section).&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake the disk up properly after a suspend/resume cycle, whereas the Linux IDE driver does.}}&lt;br /&gt;
&lt;br /&gt;
Use the spare space on {{path|/dev/hda}}, mounted at {{path|/boot}} to keep a few handy binaries available even when {{path|/}}, the disk, is unavailable:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:/boot# ls -lR apmd/              &lt;br /&gt;
apmd/:&lt;br /&gt;
total 2&lt;br /&gt;
drwxr-xr-x  2 root root 1024 2006-07-23 16:17 bin/&lt;br /&gt;
drwxr-xr-x  2 root root 1024 2005-03-21 00:50 lib/&lt;br /&gt;
&lt;br /&gt;
apmd/bin:&lt;br /&gt;
total 349&lt;br /&gt;
-rwxr--r--  1 root root    650 2006-07-23 12:09 apmd_proxy*&lt;br /&gt;
-rwxr-xr-x  1 root root 263064 2005-03-21 01:12 ash.static*&lt;br /&gt;
-rwxr-xr-x  1 root root  14276 2005-03-21 00:50 cardctl*&lt;br /&gt;
-rwxr-xr-x  1 root root  47656 2005-03-21 18:12 hdparm*&lt;br /&gt;
-rwxr-xr-x  1 root root  14288 2005-03-21 18:13 sleep*&lt;br /&gt;
-rwxr-xr-x  1 root root  11892 2005-03-21 18:13 sync*&lt;br /&gt;
&lt;br /&gt;
apmd/lib:&lt;br /&gt;
total 1433&lt;br /&gt;
-rwxr-xr-x  1 root root  100449 2005-03-21 00:49 ld-linux.so.2*&lt;br /&gt;
-rwxr-xr-x  1 root root 1357414 2005-03-21 00:50 libc.so.6*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/boot/apmd/bin/apmd_proxy}} is a script called by &amp;lt;tt&amp;gt;apmd&amp;lt;/tt&amp;gt; immediately before going to sleep, and again immediately after waking up. Some experimentation has resulted in the following script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/boot/apmd/bin/ash.static&lt;br /&gt;
&lt;br /&gt;
# Make sure everything is flushed to the disk before suspending,&lt;br /&gt;
# and tell the disk to spin down.&lt;br /&gt;
&lt;br /&gt;
LD_SO=/boot/apmd/lib/ld-linux.so.2&lt;br /&gt;
LD_LIBRARY_PATH=/boot/apmd/lib&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
suspend)&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/hdparm -f /dev/hdc&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/hdparm -Y /dev/hdc&lt;br /&gt;
	;;&lt;br /&gt;
&lt;br /&gt;
resume)&lt;br /&gt;
        # The IDE disk driver will wake the disk up again if it is properly stopped before suspending.&lt;br /&gt;
	;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.M}} to tell &amp;lt;tt&amp;gt;apmd&amp;lt;/tt&amp;gt; where to find the script to execute.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Start APM or ACPI daemon.&lt;br /&gt;
# If APM is enabled in the kernel, start apmd:&lt;br /&gt;
if [ -e /proc/apm ]; then&lt;br /&gt;
  if [ -x /usr/sbin/apmd ]; then&lt;br /&gt;
    echo &amp;quot;Starting APM daemon:  /usr/sbin/apmd&amp;quot;&lt;br /&gt;
    /usr/sbin/apmd -P /boot/apmd/bin/apmd_proxy&lt;br /&gt;
  fi&lt;br /&gt;
elif [ -x /etc/rc.d/rc.acpid ]; then # otherwise, start acpid:&lt;br /&gt;
  . /etc/rc.d/rc.acpid start&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==X.Org 6.8.1==&lt;br /&gt;
&lt;br /&gt;
Turn off &amp;quot;Font Window&amp;quot; in the BIOS memory settings.&lt;br /&gt;
&lt;br /&gt;
[[CT-65535|Here]] is a working {{path|xorg.conf}}. Note that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    Option &amp;quot;SWCursor&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is essential: configured to use the default hardware cursor, X will fail to start, and will just show a black screen and use 100% CPU until it's killed.&lt;br /&gt;
&lt;br /&gt;
The PC110 has enough video RAM to display 800x600 and 256 colours, either using a virtual desktop and a 640x480 viewport on the computer's own display, or full-screen using an external monitor connected to the VGA port on the port replicator. The appropriate Modeline to use depends on the desired settings for the external monitor.&lt;br /&gt;
&lt;br /&gt;
Using [http://www.jfc.org.uk/software/lwm.html &amp;lt;tt&amp;gt;lwm&amp;lt;/tt&amp;gt;] is a good way to make the most of the PC110's limited memory. Finding button 2 on the mouse is a bit tricky, and so is accurately moving the pointer to a window frame, so&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lwm*button1:  xterm&lt;br /&gt;
lwm*focus:  click&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
makes a good addition to {{path|~/.Xresources}}.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23617</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23617"/>
		<updated>2006-07-25T16:21:27Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* X.Org 6.8.1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
=== What works ===&lt;br /&gt;
&lt;br /&gt;
* 4GB Hitachi Microdrive in a PCMCIA slot&lt;br /&gt;
* PCMCIA Network adapters (3Com 3c589, Linksys WPC11 11Mbps 802.11b WLAN Card) &lt;br /&gt;
* Graphics adapter and accelerator ([[CT-65535]])&lt;br /&gt;
* X.Org 6.8.1&lt;br /&gt;
* Digitizer pad&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[ES488]] Audio controller&lt;br /&gt;
* Modem&lt;br /&gt;
* Suspend/resume to RAM&lt;br /&gt;
&lt;br /&gt;
=== What needs to be fixed ===&lt;br /&gt;
&lt;br /&gt;
* Occasional video corruption when switching from X to console&lt;br /&gt;
* Suspend to disk ({{key|Fn}}{{key|F12}} -- there is an appropriate symbol on the key, but it is unclear whether the PC110 can suspend to disk under any OS)&lt;br /&gt;
* Floppy drive&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ed@carrot:~$ sudo mount -t msdos /dev/fd0h1440 /mnt/floppy/&lt;br /&gt;
mount: block device /dev/fd0h1440 is write-protected, mounting read-only&lt;br /&gt;
mount: wrong fs type, bad option, bad superblock on /dev/fd0h1440,&lt;br /&gt;
       missing codepage or other error&lt;br /&gt;
       In some cases useful info is found in syslog - try&lt;br /&gt;
       dmesg | tail  or so&lt;br /&gt;
&lt;br /&gt;
ed@carrot:~$ dmesg | tail&lt;br /&gt;
inserting floppy driver for 2.4.29&lt;br /&gt;
Floppy drive(s): fd0 is 1.44M&lt;br /&gt;
FDC 0 is a post-1991 82077&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|These instructions are intended for use with Slackware 10.1 plus Linux kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], rather than with any of the kernels included with the Slackware 10.1 distribution.&lt;br /&gt;
&lt;br /&gt;
These instructions also describe how to configure the PC110 to boot from a 4MB Hitachi CompactFlash type II Microdrive, how to configure the PC110 to connect to a WPA-encrypted wireless network using a Prism3 chipset PCMCIA card, how to configure the PC110's various other peripheral devices, and how to set up X.Org.}}&lt;br /&gt;
&lt;br /&gt;
The stock 2.4.29 Linux kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (do this overnight if you're compiling on the PC110 itself) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Install any other modules you may have ([[hostap]] wireless network card driver modules, for example) if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order. It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the Hitachi 4MB Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
===WPA configuration===&lt;br /&gt;
&lt;br /&gt;
{{NOTE|WPA requires that the Prism3 card's station firmware is at least version 1.7.0. Newer firmware is available [http://www.red-bean.com/~proski/firmware/ here] and instructions for downloading it into the network card's flash memory using tools supplied as part of the [[hostap]] driver can be found [http://linux.junsun.net/intersil-prism/ here].}}&lt;br /&gt;
{{WARN|Unsuccessful attempts to reprogram the network card's flash memory may leave it in an unusable state, except as some sort of paperweight, or perhaps a tool for scraping ice off a car window. WEP and unencrypted network configurations will work with whichever station firmware version your card already has; if you don't understand the instructions for installing newer firmware versions, or don't understand why you might want a newer version, don't do it.}}&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===General wireless network configuration===&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}} (described in the next section).&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake the disk up properly after a suspend/resume cycle, whereas the Linux IDE driver does.}}&lt;br /&gt;
&lt;br /&gt;
Use the spare space on {{path|/dev/hda}}, mounted at {{path|/boot}} to keep a few handy binaries available even when {{path|/}}, the disk, is unavailable:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:/boot# ls -lR apmd/              &lt;br /&gt;
apmd/:&lt;br /&gt;
total 2&lt;br /&gt;
drwxr-xr-x  2 root root 1024 2006-07-23 16:17 bin/&lt;br /&gt;
drwxr-xr-x  2 root root 1024 2005-03-21 00:50 lib/&lt;br /&gt;
&lt;br /&gt;
apmd/bin:&lt;br /&gt;
total 349&lt;br /&gt;
-rwxr--r--  1 root root    650 2006-07-23 12:09 apmd_proxy*&lt;br /&gt;
-rwxr-xr-x  1 root root 263064 2005-03-21 01:12 ash.static*&lt;br /&gt;
-rwxr-xr-x  1 root root  14276 2005-03-21 00:50 cardctl*&lt;br /&gt;
-rwxr-xr-x  1 root root  47656 2005-03-21 18:12 hdparm*&lt;br /&gt;
-rwxr-xr-x  1 root root  14288 2005-03-21 18:13 sleep*&lt;br /&gt;
-rwxr-xr-x  1 root root  11892 2005-03-21 18:13 sync*&lt;br /&gt;
&lt;br /&gt;
apmd/lib:&lt;br /&gt;
total 1433&lt;br /&gt;
-rwxr-xr-x  1 root root  100449 2005-03-21 00:49 ld-linux.so.2*&lt;br /&gt;
-rwxr-xr-x  1 root root 1357414 2005-03-21 00:50 libc.so.6*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/boot/apmd/bin/apmd_proxy}} is a script called by &amp;lt;tt&amp;gt;apmd&amp;lt;/tt&amp;gt; immediately before going to sleep, and again immediately after waking up. Some experimentation has resulted in the following script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/boot/apmd/bin/ash.static&lt;br /&gt;
&lt;br /&gt;
# Make sure everything is flushed to the disk before suspending,&lt;br /&gt;
# and tell the disk to spin down.&lt;br /&gt;
&lt;br /&gt;
LD_SO=/boot/apmd/lib/ld-linux.so.2&lt;br /&gt;
LD_LIBRARY_PATH=/boot/apmd/lib&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
suspend)&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/hdparm -f /dev/hdc&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/hdparm -Y /dev/hdc&lt;br /&gt;
	;;&lt;br /&gt;
&lt;br /&gt;
resume)&lt;br /&gt;
        # The IDE disk driver will wake the disk up again if it is properly stopped before suspending.&lt;br /&gt;
	;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.M}} to tell &amp;lt;tt&amp;gt;apmd&amp;lt;/tt&amp;gt; where to find the script to execute.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Start APM or ACPI daemon.&lt;br /&gt;
# If APM is enabled in the kernel, start apmd:&lt;br /&gt;
if [ -e /proc/apm ]; then&lt;br /&gt;
  if [ -x /usr/sbin/apmd ]; then&lt;br /&gt;
    echo &amp;quot;Starting APM daemon:  /usr/sbin/apmd&amp;quot;&lt;br /&gt;
    /usr/sbin/apmd -P /boot/apmd/bin/apmd_proxy&lt;br /&gt;
  fi&lt;br /&gt;
elif [ -x /etc/rc.d/rc.acpid ]; then # otherwise, start acpid:&lt;br /&gt;
  . /etc/rc.d/rc.acpid start&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==X.Org 6.8.1==&lt;br /&gt;
&lt;br /&gt;
Turn off &amp;quot;Font Window&amp;quot; in the BIOS memory settings.&lt;br /&gt;
&lt;br /&gt;
[[CT-65535|Here]] is a working {{path|xorg.conf}}. Note that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    Option &amp;quot;SWCursor&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is essential: configured to use the default hardware cursor, X will fail to start, and will just show a black screen and use 100% CPU until it's killed.&lt;br /&gt;
&lt;br /&gt;
The PC110 has enough video RAM to display 800x600 and 256 colours, either using a virtual desktop and a 640x480 viewport on the computer's own display, or full-screen using an external monitor connected to the VGA port on the port replicator. The appropriate Modeline to use depends on the desired settings for the external monitor.&lt;br /&gt;
&lt;br /&gt;
Using [http://www.jfc.org.uk/software/lwm.html &amp;lt;tt&amp;gt;lwm&amp;lt;/tt&amp;gt;] is a good way to make the most of the PC110's limited memory. Finding button 2 on the mouse is a bit tricky, and so is accurately moving the pointer to a window frame, so&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lwm*button1:  xterm&lt;br /&gt;
lwm*focus:  click&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
makes a good addition to {{path|~/.Xresources}}.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23595</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23595"/>
		<updated>2006-07-25T11:38:31Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* X.Org 6.8.1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
=== What works ===&lt;br /&gt;
&lt;br /&gt;
* 4GB Hitachi Microdrive in a PCMCIA slot&lt;br /&gt;
* PCMCIA Network adapters (3Com 3c589, Linksys WPC11 11Mbps 802.11b WLAN Card) &lt;br /&gt;
* Graphics adapter and accelerator ([[CT-65535]])&lt;br /&gt;
* X.Org 6.8.1&lt;br /&gt;
* Digitizer pad&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[ES488]] Audio controller&lt;br /&gt;
* Modem&lt;br /&gt;
* Suspend/resume to RAM&lt;br /&gt;
&lt;br /&gt;
=== What needs to be fixed ===&lt;br /&gt;
&lt;br /&gt;
* Occasional video corruption when switching from X to console&lt;br /&gt;
* Suspend to disk ({{key|Fn}}{{key|F12}} -- there is an appropriate symbol on the key, but it is unclear whether the PC110 can suspend to disk under any OS)&lt;br /&gt;
* Floppy drive&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ed@carrot:~$ sudo mount -t msdos /dev/fd0h1440 /mnt/floppy/&lt;br /&gt;
mount: block device /dev/fd0h1440 is write-protected, mounting read-only&lt;br /&gt;
mount: wrong fs type, bad option, bad superblock on /dev/fd0h1440,&lt;br /&gt;
       missing codepage or other error&lt;br /&gt;
       In some cases useful info is found in syslog - try&lt;br /&gt;
       dmesg | tail  or so&lt;br /&gt;
&lt;br /&gt;
ed@carrot:~$ dmesg | tail&lt;br /&gt;
inserting floppy driver for 2.4.29&lt;br /&gt;
Floppy drive(s): fd0 is 1.44M&lt;br /&gt;
FDC 0 is a post-1991 82077&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|These instructions are intended for use with Slackware 10.1 plus Linux kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], rather than with any of the kernels included with the Slackware 10.1 distribution.&lt;br /&gt;
&lt;br /&gt;
These instructions also describe how to configure the PC110 to boot from a 4MB Hitachi CompactFlash type II Microdrive, how to configure the PC110 to connect to a WPA-encrypted wireless network using a Prism3 chipset PCMCIA card, how to configure the PC110's various other peripheral devices, and how to set up X.Org.}}&lt;br /&gt;
&lt;br /&gt;
The stock 2.4.29 Linux kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (do this overnight if you're compiling on the PC110 itself) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Install any other modules you may have ([[hostap]] wireless network card driver modules, for example) if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order. It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the Hitachi 4MB Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
===WPA configuration===&lt;br /&gt;
&lt;br /&gt;
{{NOTE|WPA requires that the Prism3 card's station firmware is at least version 1.7.0. Newer firmware is available [http://www.red-bean.com/~proski/firmware/ here] and instructions for downloading it into the network card's flash memory using tools supplied as part of the [[hostap]] driver can be found [http://linux.junsun.net/intersil-prism/ here].}}&lt;br /&gt;
{{WARN|Unsuccessful attempts to reprogram the network card's flash memory may leave it in an unusable state, except as some sort of paperweight, or perhaps a tool for scraping ice off a car window. WEP and unencrypted network configurations will work with whichever station firmware version your card already has; if you don't understand the instructions for installing newer firmware versions, or don't understand why you might want a newer version, don't do it.}}&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===General wireless network configuration===&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}} (described in the next section).&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake the disk up properly after a suspend/resume cycle, whereas the Linux IDE driver does.}}&lt;br /&gt;
&lt;br /&gt;
Use the spare space on {{path|/dev/hda}}, mounted at {{path|/boot}} to keep a few handy binaries available even when {{path|/}}, the disk, is unavailable:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:/boot# ls -lR apmd/              &lt;br /&gt;
apmd/:&lt;br /&gt;
total 2&lt;br /&gt;
drwxr-xr-x  2 root root 1024 2006-07-23 16:17 bin/&lt;br /&gt;
drwxr-xr-x  2 root root 1024 2005-03-21 00:50 lib/&lt;br /&gt;
&lt;br /&gt;
apmd/bin:&lt;br /&gt;
total 349&lt;br /&gt;
-rwxr--r--  1 root root    650 2006-07-23 12:09 apmd_proxy*&lt;br /&gt;
-rwxr-xr-x  1 root root 263064 2005-03-21 01:12 ash.static*&lt;br /&gt;
-rwxr-xr-x  1 root root  14276 2005-03-21 00:50 cardctl*&lt;br /&gt;
-rwxr-xr-x  1 root root  47656 2005-03-21 18:12 hdparm*&lt;br /&gt;
-rwxr-xr-x  1 root root  14288 2005-03-21 18:13 sleep*&lt;br /&gt;
-rwxr-xr-x  1 root root  11892 2005-03-21 18:13 sync*&lt;br /&gt;
&lt;br /&gt;
apmd/lib:&lt;br /&gt;
total 1433&lt;br /&gt;
-rwxr-xr-x  1 root root  100449 2005-03-21 00:49 ld-linux.so.2*&lt;br /&gt;
-rwxr-xr-x  1 root root 1357414 2005-03-21 00:50 libc.so.6*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/boot/apmd/bin/apmd_proxy}} is a script called by &amp;lt;tt&amp;gt;apmd&amp;lt;/tt&amp;gt; immediately before going to sleep, and again immediately after waking up. Some experimentation has resulted in the following script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/boot/apmd/bin/ash.static&lt;br /&gt;
&lt;br /&gt;
# Make sure everything is flushed to the disk before suspending,&lt;br /&gt;
# and tell the disk to spin down.&lt;br /&gt;
&lt;br /&gt;
LD_SO=/boot/apmd/lib/ld-linux.so.2&lt;br /&gt;
LD_LIBRARY_PATH=/boot/apmd/lib&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
suspend)&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/hdparm -f /dev/hdc&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/hdparm -Y /dev/hdc&lt;br /&gt;
	;;&lt;br /&gt;
&lt;br /&gt;
resume)&lt;br /&gt;
        # The IDE disk driver will wake the disk up again if it is properly stopped before suspending.&lt;br /&gt;
	;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.M}} to tell &amp;lt;tt&amp;gt;apmd&amp;lt;/tt&amp;gt; where to find the script to execute.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Start APM or ACPI daemon.&lt;br /&gt;
# If APM is enabled in the kernel, start apmd:&lt;br /&gt;
if [ -e /proc/apm ]; then&lt;br /&gt;
  if [ -x /usr/sbin/apmd ]; then&lt;br /&gt;
    echo &amp;quot;Starting APM daemon:  /usr/sbin/apmd&amp;quot;&lt;br /&gt;
    /usr/sbin/apmd -P /boot/apmd/bin/apmd_proxy&lt;br /&gt;
  fi&lt;br /&gt;
elif [ -x /etc/rc.d/rc.acpid ]; then # otherwise, start acpid:&lt;br /&gt;
  . /etc/rc.d/rc.acpid start&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==X.Org 6.8.1==&lt;br /&gt;
&lt;br /&gt;
Turn off &amp;quot;Font Window&amp;quot; in the BIOS memory settings.&lt;br /&gt;
&lt;br /&gt;
Here is a working &amp;lt;a href=&amp;quot;xorg.conf.txt&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;xorg.conf&amp;lt;/tt&amp;gt;&amp;lt;/a&amp;gt;. Note that&lt;br /&gt;
&amp;lt;tt&amp;gt;Option &amp;quot;SWCursor&amp;quot;&amp;lt;/tt&amp;gt; is essential: configured to use the default hardware cursor, X&lt;br /&gt;
will fail to start, and will just show a black screen and use 100% CPU until it's killed.&lt;br /&gt;
&lt;br /&gt;
Using [http://www.jfc.org.uk/software/lwm.html &amp;lt;tt&amp;gt;lwm&amp;lt;/tt&amp;gt;] is a good way to make the most of the PC110's limited memory. Finding button 2 on the mouse is a bit tricky, and so is accurately moving the pointer to a window frame, so&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lwm*button1:  xterm&lt;br /&gt;
lwm*focus:  click&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
makes a good addition to {{path|~/.Xresources}}.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23594</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23594"/>
		<updated>2006-07-25T11:35:45Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Miscellaneous */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
=== What works ===&lt;br /&gt;
&lt;br /&gt;
* 4GB Hitachi Microdrive in a PCMCIA slot&lt;br /&gt;
* PCMCIA Network adapters (3Com 3c589, Linksys WPC11 11Mbps 802.11b WLAN Card) &lt;br /&gt;
* Graphics adapter and accelerator ([[CT-65535]])&lt;br /&gt;
* X.Org 6.8.1&lt;br /&gt;
* Digitizer pad&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[ES488]] Audio controller&lt;br /&gt;
* Modem&lt;br /&gt;
* Suspend/resume to RAM&lt;br /&gt;
&lt;br /&gt;
=== What needs to be fixed ===&lt;br /&gt;
&lt;br /&gt;
* Occasional video corruption when switching from X to console&lt;br /&gt;
* Suspend to disk ({{key|Fn}}{{key|F12}} -- there is an appropriate symbol on the key, but it is unclear whether the PC110 can suspend to disk under any OS)&lt;br /&gt;
* Floppy drive&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ed@carrot:~$ sudo mount -t msdos /dev/fd0h1440 /mnt/floppy/&lt;br /&gt;
mount: block device /dev/fd0h1440 is write-protected, mounting read-only&lt;br /&gt;
mount: wrong fs type, bad option, bad superblock on /dev/fd0h1440,&lt;br /&gt;
       missing codepage or other error&lt;br /&gt;
       In some cases useful info is found in syslog - try&lt;br /&gt;
       dmesg | tail  or so&lt;br /&gt;
&lt;br /&gt;
ed@carrot:~$ dmesg | tail&lt;br /&gt;
inserting floppy driver for 2.4.29&lt;br /&gt;
Floppy drive(s): fd0 is 1.44M&lt;br /&gt;
FDC 0 is a post-1991 82077&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|These instructions are intended for use with Slackware 10.1 plus Linux kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], rather than with any of the kernels included with the Slackware 10.1 distribution.&lt;br /&gt;
&lt;br /&gt;
These instructions also describe how to configure the PC110 to boot from a 4MB Hitachi CompactFlash type II Microdrive, how to configure the PC110 to connect to a WPA-encrypted wireless network using a Prism3 chipset PCMCIA card, how to configure the PC110's various other peripheral devices, and how to set up X.Org.}}&lt;br /&gt;
&lt;br /&gt;
The stock 2.4.29 Linux kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (do this overnight if you're compiling on the PC110 itself) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Install any other modules you may have ([[hostap]] wireless network card driver modules, for example) if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order. It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the Hitachi 4MB Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
===WPA configuration===&lt;br /&gt;
&lt;br /&gt;
{{NOTE|WPA requires that the Prism3 card's station firmware is at least version 1.7.0. Newer firmware is available [http://www.red-bean.com/~proski/firmware/ here] and instructions for downloading it into the network card's flash memory using tools supplied as part of the [[hostap]] driver can be found [http://linux.junsun.net/intersil-prism/ here].}}&lt;br /&gt;
{{WARN|Unsuccessful attempts to reprogram the network card's flash memory may leave it in an unusable state, except as some sort of paperweight, or perhaps a tool for scraping ice off a car window. WEP and unencrypted network configurations will work with whichever station firmware version your card already has; if you don't understand the instructions for installing newer firmware versions, or don't understand why you might want a newer version, don't do it.}}&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===General wireless network configuration===&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}} (described in the next section).&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake the disk up properly after a suspend/resume cycle, whereas the Linux IDE driver does.}}&lt;br /&gt;
&lt;br /&gt;
Use the spare space on {{path|/dev/hda}}, mounted at {{path|/boot}} to keep a few handy binaries available even when {{path|/}}, the disk, is unavailable:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:/boot# ls -lR apmd/              &lt;br /&gt;
apmd/:&lt;br /&gt;
total 2&lt;br /&gt;
drwxr-xr-x  2 root root 1024 2006-07-23 16:17 bin/&lt;br /&gt;
drwxr-xr-x  2 root root 1024 2005-03-21 00:50 lib/&lt;br /&gt;
&lt;br /&gt;
apmd/bin:&lt;br /&gt;
total 349&lt;br /&gt;
-rwxr--r--  1 root root    650 2006-07-23 12:09 apmd_proxy*&lt;br /&gt;
-rwxr-xr-x  1 root root 263064 2005-03-21 01:12 ash.static*&lt;br /&gt;
-rwxr-xr-x  1 root root  14276 2005-03-21 00:50 cardctl*&lt;br /&gt;
-rwxr-xr-x  1 root root  47656 2005-03-21 18:12 hdparm*&lt;br /&gt;
-rwxr-xr-x  1 root root  14288 2005-03-21 18:13 sleep*&lt;br /&gt;
-rwxr-xr-x  1 root root  11892 2005-03-21 18:13 sync*&lt;br /&gt;
&lt;br /&gt;
apmd/lib:&lt;br /&gt;
total 1433&lt;br /&gt;
-rwxr-xr-x  1 root root  100449 2005-03-21 00:49 ld-linux.so.2*&lt;br /&gt;
-rwxr-xr-x  1 root root 1357414 2005-03-21 00:50 libc.so.6*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/boot/apmd/bin/apmd_proxy}} is a script called by &amp;lt;tt&amp;gt;apmd&amp;lt;/tt&amp;gt; immediately before going to sleep, and again immediately after waking up. Some experimentation has resulted in the following script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/boot/apmd/bin/ash.static&lt;br /&gt;
&lt;br /&gt;
# Make sure everything is flushed to the disk before suspending,&lt;br /&gt;
# and tell the disk to spin down.&lt;br /&gt;
&lt;br /&gt;
LD_SO=/boot/apmd/lib/ld-linux.so.2&lt;br /&gt;
LD_LIBRARY_PATH=/boot/apmd/lib&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
suspend)&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/sync&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/hdparm -f /dev/hdc&lt;br /&gt;
	$LD_SO --library-path $LD_LIBRARY_PATH /boot/apmd/bin/hdparm -Y /dev/hdc&lt;br /&gt;
	;;&lt;br /&gt;
&lt;br /&gt;
resume)&lt;br /&gt;
        # The IDE disk driver will wake the disk up again if it is properly stopped before suspending.&lt;br /&gt;
	;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.M}} to tell &amp;lt;tt&amp;gt;apmd&amp;lt;/tt&amp;gt; where to find the script to execute.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Start APM or ACPI daemon.&lt;br /&gt;
# If APM is enabled in the kernel, start apmd:&lt;br /&gt;
if [ -e /proc/apm ]; then&lt;br /&gt;
  if [ -x /usr/sbin/apmd ]; then&lt;br /&gt;
    echo &amp;quot;Starting APM daemon:  /usr/sbin/apmd&amp;quot;&lt;br /&gt;
    /usr/sbin/apmd -P /boot/apmd/bin/apmd_proxy&lt;br /&gt;
  fi&lt;br /&gt;
elif [ -x /etc/rc.d/rc.acpid ]; then # otherwise, start acpid:&lt;br /&gt;
  . /etc/rc.d/rc.acpid start&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23591</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23591"/>
		<updated>2006-07-25T11:25:20Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* What works */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
=== What works ===&lt;br /&gt;
&lt;br /&gt;
* 4GB Hitachi Microdrive in a PCMCIA slot&lt;br /&gt;
* PCMCIA Network adapters (3Com 3c589, Linksys WPC11 11Mbps 802.11b WLAN Card) &lt;br /&gt;
* Graphics adapter and accelerator ([[CT-65535]])&lt;br /&gt;
* X.Org 6.8.1&lt;br /&gt;
* Digitizer pad&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[ES488]] Audio controller&lt;br /&gt;
* Modem&lt;br /&gt;
* Suspend/resume to RAM&lt;br /&gt;
&lt;br /&gt;
=== What needs to be fixed ===&lt;br /&gt;
&lt;br /&gt;
* Occasional video corruption when switching from X to console&lt;br /&gt;
* Suspend to disk ({{key|Fn}}{{key|F12}} -- there is an appropriate symbol on the key, but it is unclear whether the PC110 can suspend to disk under any OS)&lt;br /&gt;
* Floppy drive&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ed@carrot:~$ sudo mount -t msdos /dev/fd0h1440 /mnt/floppy/&lt;br /&gt;
mount: block device /dev/fd0h1440 is write-protected, mounting read-only&lt;br /&gt;
mount: wrong fs type, bad option, bad superblock on /dev/fd0h1440,&lt;br /&gt;
       missing codepage or other error&lt;br /&gt;
       In some cases useful info is found in syslog - try&lt;br /&gt;
       dmesg | tail  or so&lt;br /&gt;
&lt;br /&gt;
ed@carrot:~$ dmesg | tail&lt;br /&gt;
inserting floppy driver for 2.4.29&lt;br /&gt;
Floppy drive(s): fd0 is 1.44M&lt;br /&gt;
FDC 0 is a post-1991 82077&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|These instructions are intended for use with Slackware 10.1 plus Linux kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], rather than with any of the kernels included with the Slackware 10.1 distribution.&lt;br /&gt;
&lt;br /&gt;
These instructions also describe how to configure the PC110 to boot from a 4MB Hitachi CompactFlash type II Microdrive, how to configure the PC110 to connect to a WPA-encrypted wireless network using a Prism3 chipset PCMCIA card, how to configure the PC110's various other peripheral devices, and how to set up X.Org.}}&lt;br /&gt;
&lt;br /&gt;
The stock 2.4.29 Linux kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (do this overnight if you're compiling on the PC110 itself) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Install any other modules you may have ([[hostap]] wireless network card driver modules, for example) if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order. It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the Hitachi 4MB Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
===WPA configuration===&lt;br /&gt;
&lt;br /&gt;
{{NOTE|WPA requires that the Prism3 card's station firmware is at least version 1.7.0. Newer firmware is available [http://www.red-bean.com/~proski/firmware/ here] and instructions for downloading it into the network card's flash memory using tools supplied as part of the [[hostap]] driver can be found [http://linux.junsun.net/intersil-prism/ here].}}&lt;br /&gt;
{{WARN|Unsuccessful attempts to reprogram the network card's flash memory may leave it in an unusable state, except as some sort of paperweight, or perhaps a tool for scraping ice off a car window. WEP and unencrypted network configurations will work with whichever station firmware version your card already has; if you don't understand the instructions for installing newer firmware versions, or don't understand why you might want a newer version, don't do it.}}&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===General wireless network configuration===&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}} (described in the next section).&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23590</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23590"/>
		<updated>2006-07-25T11:24:03Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* What needs to be fixed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
=== What works ===&lt;br /&gt;
&lt;br /&gt;
* 4MB Hitachi Microdrive in a PCMCIA slot&lt;br /&gt;
* PCMCIA Network adapters (3Com 3c589, Linksys WPC11 11Mbps 802.11b WLAN Card) &lt;br /&gt;
* Graphics adapter and accelerator ([[CT-65535]])&lt;br /&gt;
* X.Org 6.8.1&lt;br /&gt;
* Digitizer pad&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[ES488]] Audio controller&lt;br /&gt;
* Modem&lt;br /&gt;
* Suspend/resume to RAM&lt;br /&gt;
&lt;br /&gt;
=== What needs to be fixed ===&lt;br /&gt;
&lt;br /&gt;
* Occasional video corruption when switching from X to console&lt;br /&gt;
* Suspend to disk ({{key|Fn}}{{key|F12}} -- there is an appropriate symbol on the key, but it is unclear whether the PC110 can suspend to disk under any OS)&lt;br /&gt;
* Floppy drive&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ed@carrot:~$ sudo mount -t msdos /dev/fd0h1440 /mnt/floppy/&lt;br /&gt;
mount: block device /dev/fd0h1440 is write-protected, mounting read-only&lt;br /&gt;
mount: wrong fs type, bad option, bad superblock on /dev/fd0h1440,&lt;br /&gt;
       missing codepage or other error&lt;br /&gt;
       In some cases useful info is found in syslog - try&lt;br /&gt;
       dmesg | tail  or so&lt;br /&gt;
&lt;br /&gt;
ed@carrot:~$ dmesg | tail&lt;br /&gt;
inserting floppy driver for 2.4.29&lt;br /&gt;
Floppy drive(s): fd0 is 1.44M&lt;br /&gt;
FDC 0 is a post-1991 82077&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|These instructions are intended for use with Slackware 10.1 plus Linux kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], rather than with any of the kernels included with the Slackware 10.1 distribution.&lt;br /&gt;
&lt;br /&gt;
These instructions also describe how to configure the PC110 to boot from a 4MB Hitachi CompactFlash type II Microdrive, how to configure the PC110 to connect to a WPA-encrypted wireless network using a Prism3 chipset PCMCIA card, how to configure the PC110's various other peripheral devices, and how to set up X.Org.}}&lt;br /&gt;
&lt;br /&gt;
The stock 2.4.29 Linux kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (do this overnight if you're compiling on the PC110 itself) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Install any other modules you may have ([[hostap]] wireless network card driver modules, for example) if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order. It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the Hitachi 4MB Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
===WPA configuration===&lt;br /&gt;
&lt;br /&gt;
{{NOTE|WPA requires that the Prism3 card's station firmware is at least version 1.7.0. Newer firmware is available [http://www.red-bean.com/~proski/firmware/ here] and instructions for downloading it into the network card's flash memory using tools supplied as part of the [[hostap]] driver can be found [http://linux.junsun.net/intersil-prism/ here].}}&lt;br /&gt;
{{WARN|Unsuccessful attempts to reprogram the network card's flash memory may leave it in an unusable state, except as some sort of paperweight, or perhaps a tool for scraping ice off a car window. WEP and unencrypted network configurations will work with whichever station firmware version your card already has; if you don't understand the instructions for installing newer firmware versions, or don't understand why you might want a newer version, don't do it.}}&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===General wireless network configuration===&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}} (described in the next section).&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23589</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23589"/>
		<updated>2006-07-25T11:23:02Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* What works */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
=== What works ===&lt;br /&gt;
&lt;br /&gt;
* 4MB Hitachi Microdrive in a PCMCIA slot&lt;br /&gt;
* PCMCIA Network adapters (3Com 3c589, Linksys WPC11 11Mbps 802.11b WLAN Card) &lt;br /&gt;
* Graphics adapter and accelerator ([[CT-65535]])&lt;br /&gt;
* X.Org 6.8.1&lt;br /&gt;
* Digitizer pad&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[ES488]] Audio controller&lt;br /&gt;
* Modem&lt;br /&gt;
* Suspend/resume to RAM&lt;br /&gt;
&lt;br /&gt;
=== What needs to be fixed ===&lt;br /&gt;
&lt;br /&gt;
* Suspend to disk ({{key|Fn}}{{key|F12}} -- there is an appropriate symbol on the key, but it is unclear whether the PC110 can suspend to disk under any OS)&lt;br /&gt;
* Floppy drive&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ed@carrot:~$ sudo mount -t msdos /dev/fd0h1440 /mnt/floppy/&lt;br /&gt;
mount: block device /dev/fd0h1440 is write-protected, mounting read-only&lt;br /&gt;
mount: wrong fs type, bad option, bad superblock on /dev/fd0h1440,&lt;br /&gt;
       missing codepage or other error&lt;br /&gt;
       In some cases useful info is found in syslog - try&lt;br /&gt;
       dmesg | tail  or so&lt;br /&gt;
&lt;br /&gt;
ed@carrot:~$ dmesg | tail&lt;br /&gt;
inserting floppy driver for 2.4.29&lt;br /&gt;
Floppy drive(s): fd0 is 1.44M&lt;br /&gt;
FDC 0 is a post-1991 82077&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|These instructions are intended for use with Slackware 10.1 plus Linux kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], rather than with any of the kernels included with the Slackware 10.1 distribution.&lt;br /&gt;
&lt;br /&gt;
These instructions also describe how to configure the PC110 to boot from a 4MB Hitachi CompactFlash type II Microdrive, how to configure the PC110 to connect to a WPA-encrypted wireless network using a Prism3 chipset PCMCIA card, how to configure the PC110's various other peripheral devices, and how to set up X.Org.}}&lt;br /&gt;
&lt;br /&gt;
The stock 2.4.29 Linux kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (do this overnight if you're compiling on the PC110 itself) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Install any other modules you may have ([[hostap]] wireless network card driver modules, for example) if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order. It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the Hitachi 4MB Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
===WPA configuration===&lt;br /&gt;
&lt;br /&gt;
{{NOTE|WPA requires that the Prism3 card's station firmware is at least version 1.7.0. Newer firmware is available [http://www.red-bean.com/~proski/firmware/ here] and instructions for downloading it into the network card's flash memory using tools supplied as part of the [[hostap]] driver can be found [http://linux.junsun.net/intersil-prism/ here].}}&lt;br /&gt;
{{WARN|Unsuccessful attempts to reprogram the network card's flash memory may leave it in an unusable state, except as some sort of paperweight, or perhaps a tool for scraping ice off a car window. WEP and unencrypted network configurations will work with whichever station firmware version your card already has; if you don't understand the instructions for installing newer firmware versions, or don't understand why you might want a newer version, don't do it.}}&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===General wireless network configuration===&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}} (described in the next section).&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23588</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23588"/>
		<updated>2006-07-25T11:21:35Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Installation of Slackware 10.1 on a PC110 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
=== What works ===&lt;br /&gt;
&lt;br /&gt;
* 4MB Hitachi Microdrive in a PCMCIA slot&lt;br /&gt;
* PCMCIA Network adapters (3Com 3c589, Linksys WPC11 11Mbps 802.11b WLAN Card) &lt;br /&gt;
* Graphics adapter and accelerator ([[CT-65535]])&lt;br /&gt;
* Digitizer pad&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[ES488]] Audio controller&lt;br /&gt;
* Modem&lt;br /&gt;
* Suspend/resume to RAM&lt;br /&gt;
&lt;br /&gt;
=== What needs to be fixed ===&lt;br /&gt;
&lt;br /&gt;
* Suspend to disk ({{key|Fn}}{{key|F12}} -- there is an appropriate symbol on the key, but it is unclear whether the PC110 can suspend to disk under any OS)&lt;br /&gt;
* Floppy drive&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ed@carrot:~$ sudo mount -t msdos /dev/fd0h1440 /mnt/floppy/&lt;br /&gt;
mount: block device /dev/fd0h1440 is write-protected, mounting read-only&lt;br /&gt;
mount: wrong fs type, bad option, bad superblock on /dev/fd0h1440,&lt;br /&gt;
       missing codepage or other error&lt;br /&gt;
       In some cases useful info is found in syslog - try&lt;br /&gt;
       dmesg | tail  or so&lt;br /&gt;
&lt;br /&gt;
ed@carrot:~$ dmesg | tail&lt;br /&gt;
inserting floppy driver for 2.4.29&lt;br /&gt;
Floppy drive(s): fd0 is 1.44M&lt;br /&gt;
FDC 0 is a post-1991 82077&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|These instructions are intended for use with Slackware 10.1 plus Linux kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], rather than with any of the kernels included with the Slackware 10.1 distribution.&lt;br /&gt;
&lt;br /&gt;
These instructions also describe how to configure the PC110 to boot from a 4MB Hitachi CompactFlash type II Microdrive, how to configure the PC110 to connect to a WPA-encrypted wireless network using a Prism3 chipset PCMCIA card, how to configure the PC110's various other peripheral devices, and how to set up X.Org.}}&lt;br /&gt;
&lt;br /&gt;
The stock 2.4.29 Linux kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (do this overnight if you're compiling on the PC110 itself) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Install any other modules you may have ([[hostap]] wireless network card driver modules, for example) if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order. It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the Hitachi 4MB Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
===WPA configuration===&lt;br /&gt;
&lt;br /&gt;
{{NOTE|WPA requires that the Prism3 card's station firmware is at least version 1.7.0. Newer firmware is available [http://www.red-bean.com/~proski/firmware/ here] and instructions for downloading it into the network card's flash memory using tools supplied as part of the [[hostap]] driver can be found [http://linux.junsun.net/intersil-prism/ here].}}&lt;br /&gt;
{{WARN|Unsuccessful attempts to reprogram the network card's flash memory may leave it in an unusable state, except as some sort of paperweight, or perhaps a tool for scraping ice off a car window. WEP and unencrypted network configurations will work with whichever station firmware version your card already has; if you don't understand the instructions for installing newer firmware versions, or don't understand why you might want a newer version, don't do it.}}&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===General wireless network configuration===&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}} (described in the next section).&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23587</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23587"/>
		<updated>2006-07-25T11:20:11Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Kernel configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Installation of Slackware 10.1 on a PC110 =&lt;br /&gt;
== Summary ==&lt;br /&gt;
=== What works ===&lt;br /&gt;
&lt;br /&gt;
* 4MB Hitachi Microdrive in a PCMCIA slot&lt;br /&gt;
* PCMCIA Network adapters (3Com 3c589, Linksys WPC11 11Mbps 802.11b WLAN Card) &lt;br /&gt;
* Graphics adapter and accelerator ([[CT-65535]])&lt;br /&gt;
* Digitizer pad&lt;br /&gt;
* [[IrDA]]&lt;br /&gt;
* [[ES488]] Audio controller&lt;br /&gt;
* Modem&lt;br /&gt;
* Suspend/resume to RAM&lt;br /&gt;
&lt;br /&gt;
=== What needs to be fixed ===&lt;br /&gt;
&lt;br /&gt;
* Suspend to disk ({{key|Fn}}{{key|F12}} -- there is an appropriate symbol on the key, but it is unclear whether the PC110 can suspend to disk under any OS)&lt;br /&gt;
* Floppy drive&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ed@carrot:~$ sudo mount -t msdos /dev/fd0h1440 /mnt/floppy/&lt;br /&gt;
mount: block device /dev/fd0h1440 is write-protected, mounting read-only&lt;br /&gt;
mount: wrong fs type, bad option, bad superblock on /dev/fd0h1440,&lt;br /&gt;
       missing codepage or other error&lt;br /&gt;
       In some cases useful info is found in syslog - try&lt;br /&gt;
       dmesg | tail  or so&lt;br /&gt;
&lt;br /&gt;
ed@carrot:~$ dmesg | tail&lt;br /&gt;
inserting floppy driver for 2.4.29&lt;br /&gt;
Floppy drive(s): fd0 is 1.44M&lt;br /&gt;
FDC 0 is a post-1991 82077&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
FAT: bogus logical sector size 223&lt;br /&gt;
VFS: Can't find a valid FAT filesystem on dev 02:28.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|These instructions are intended for use with Slackware 10.1 plus Linux kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], rather than with any of the kernels included with the Slackware 10.1 distribution.&lt;br /&gt;
&lt;br /&gt;
These instructions also describe how to configure the PC110 to boot from a 4MB Hitachi CompactFlash type II Microdrive, how to configure the PC110 to connect to a WPA-encrypted wireless network using a Prism3 chipset PCMCIA card, how to configure the PC110's various other peripheral devices, and how to set up X.Org.}}&lt;br /&gt;
&lt;br /&gt;
The stock 2.4.29 Linux kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (do this overnight if you're compiling on the PC110 itself) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Install any other modules you may have ([[hostap]] wireless network card driver modules, for example) if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order. It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the Hitachi 4MB Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
===WPA configuration===&lt;br /&gt;
&lt;br /&gt;
{{NOTE|WPA requires that the Prism3 card's station firmware is at least version 1.7.0. Newer firmware is available [http://www.red-bean.com/~proski/firmware/ here] and instructions for downloading it into the network card's flash memory using tools supplied as part of the [[hostap]] driver can be found [http://linux.junsun.net/intersil-prism/ here].}}&lt;br /&gt;
{{WARN|Unsuccessful attempts to reprogram the network card's flash memory may leave it in an unusable state, except as some sort of paperweight, or perhaps a tool for scraping ice off a car window. WEP and unencrypted network configurations will work with whichever station firmware version your card already has; if you don't understand the instructions for installing newer firmware versions, or don't understand why you might want a newer version, don't do it.}}&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===General wireless network configuration===&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}} (described in the next section).&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category:PC110&amp;diff=23579</id>
		<title>Category:PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category:PC110&amp;diff=23579"/>
		<updated>2006-07-25T06:49:48Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== IBM PC110 ===&lt;br /&gt;
This page gives an overview of all PC110 related topics.&lt;br /&gt;
&lt;br /&gt;
This is a machine that was only sold in Japan&lt;br /&gt;
==== Features ====&lt;br /&gt;
* [[Intel 486|Intel 486SX]] 33MHz CPU&lt;br /&gt;
* [[CT-65535]] video controller with 512KB&lt;br /&gt;
* 4.7&amp;quot; [[DSTN display]] with 640x480 resolution&lt;br /&gt;
* Pen sensitive pad (Digitiser)&lt;br /&gt;
* 4MB memory standard&lt;br /&gt;
* External 1.44MB FDD&lt;br /&gt;
* 2.4K Modem&lt;br /&gt;
* [[IrDA]] 1.0&lt;br /&gt;
* 4MB Flash EPROM with DOS&lt;br /&gt;
* [[CF Card slot]]&lt;br /&gt;
* (2) Type II, or (1) Type III [[PCMCIA slot]]&lt;br /&gt;
* 260MB PCMCIA Type III HDD on select models&lt;br /&gt;
* [[ES488]] Audio Controller&lt;br /&gt;
==== Accessories ====&lt;br /&gt;
* [http://www.basterfield.com/pc110/ce300.htm Canon CE300 PCMCIA digital camera]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[image:PC110.jpg|PC110]]&lt;br /&gt;
|}&lt;br /&gt;
* http://www.komotch2.com/tps/pt110.htm&lt;br /&gt;
[[Category:Models]]&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23572</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23572"/>
		<updated>2006-07-25T01:07:25Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* WPA configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|These instructions are intended for use with Slackware 10.1 plus Linux kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], rather than with any of the kernels included with the Slackware 10.1 distribution.&lt;br /&gt;
&lt;br /&gt;
These instructions also describe how to configure the PC110 to boot from a 4MB Hitachi CompactFlash type II Microdrive, how to configure the PC110 to connect to a WPA-encrypted wireless network using a Prism3 chipset PCMCIA card, how to configure the PC110's various other peripheral devices, and how to set up X.Org.}}&lt;br /&gt;
&lt;br /&gt;
The stock 2.4.29 Linux kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (do this overnight if you're compiling on the PC110 itself) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Install any other modules you may have ([[hostap]] wireless network card driver modules, for example) if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order. It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the Hitachi 4MB Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
===WPA configuration===&lt;br /&gt;
&lt;br /&gt;
{{NOTE|WPA requires that the Prism3 card's station firmware is at least version 1.7.0. Newer firmware is available [http://www.red-bean.com/~proski/firmware/ here] and instructions for downloading it into the network card's flash memory using tools supplied as part of the [[hostap]] driver can be found [http://linux.junsun.net/intersil-prism/ here].}}&lt;br /&gt;
{{WARN|Unsuccessful attempts to reprogram the network card's flash memory may leave it in an unusable state, except as some sort of paperweight, or perhaps a tool for scraping ice off a car window. WEP and unencrypted network configurations will work with whichever station firmware version your card already has; if you don't understand the instructions for installing newer firmware versions, or don't understand why you might want a newer version, don't do it.}}&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===General wireless network configuration===&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}} (described in the next section).&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_save_memory&amp;diff=23571</id>
		<title>How to save memory</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_save_memory&amp;diff=23571"/>
		<updated>2006-07-25T00:52:48Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Other tips */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |This page is meant as a collection of information on how to save memory to make Linux work reasonable on older system with limited amount of RAM.&lt;br /&gt;
&lt;br /&gt;
Most distributions nowadays don't take much care about it anymore, so there are a lot of things you can do to save memory. To get a smoothly working linux environment on a low memory machine you will need to conciously choose a lot of aspects of your system, most importantly the graphical environment, desktop environment and applications. This page provides detailed information about these various optimization possibilities.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Alternative graphical environments==&lt;br /&gt;
{{Todo|...}}&lt;br /&gt;
&lt;br /&gt;
==Streamlining the desktop environment==&lt;br /&gt;
The common Desktop environments GNOME and KDE are, in their modern state, focused more on features, integration, and beauty rather than on resource saving. Understandable, but running Linux on an older ThinkPad with limited RAM requires conscious and sensitive resource usage more than anything else. The good thing about Linux is that a lot of things stay adjustable and customizable. So lets see what we can do about desktops.&lt;br /&gt;
&lt;br /&gt;
One of the most important things is to decide for one graphical widget library and stick with that when you are choosing your desktop environment and applications. Having several toolkits in use means more libraries being loaded and hence more memory being used by those. Possibilities are:&lt;br /&gt;
* [http://www.fltk.org/ FLTK]&lt;br /&gt;
* [http://www.fox-toolkit.org/ FOX toolkit]&lt;br /&gt;
* [http://www.gnustep.org GNUstep toolkit]&lt;br /&gt;
* [http://www.gtk.org/ GTK] &amp;lt;tt&amp;gt;(not recommended, use GTK 2 if possible)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [http://www.gtk.org/ GTK 2]&lt;br /&gt;
* [http://www.lesstif.org/ Lesstif] / [http://www.openmotif.org/ OpenMotif]&lt;br /&gt;
* [http://www.trolltech.com/products/qt/index.html QT]&lt;br /&gt;
* [http://www.windowmaker.org/development-wings.html WINGs] &amp;lt;tt&amp;gt;(kind of a lightweight GNUstep toolkit, provided by the WindowMaker developers)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [http://www.x.org/ X Toolkit]&lt;br /&gt;
&lt;br /&gt;
Of those, at current state, there are enough applications for the X Toolkit, GTK, GTK 2 and QT to provide you with a solution for every task you should want.&lt;br /&gt;
&lt;br /&gt;
===GNOME===&lt;br /&gt;
It's like with humans, the worst feature is in most cases also the best one. For GNOME it is probably the many little parts it consists of. Makes it hard to install, but enables one to customize the installation. So, the first thing you should do to streamline GNOME is not to launch it. Sound stupid? Well, lets have a look.&lt;br /&gt;
&lt;br /&gt;
GNOME is basically a set of libraries built around the GTK+ libs and extending its functionality. Add some nice little applications, a session manager, a panel, beautiful icons, and some other stuff and you have GNOME as you know it. Reversing those additions is what you can do to use GNOME applications on a machine that this desktop environment would normally take your nerves on.&lt;br /&gt;
&lt;br /&gt;
The GNOME panel, the session manager, the desktop manager and the window manager are all parts of GNOME that eat a lot of memory for something that others can do in a maybe little less beautiful but much more resource saving way.&lt;br /&gt;
So first off configure your login manager not to launch gnome-session at login. If you are using GDM this is quite straight forward, you just need to add a different session script, launching your favorite window manager. See the list below and pick one, lets say i.e. WindowMaker. WindowMaker uses a desktop menu, a dock and a notification area to provide you with an organized way of launching applications and iconfying running ones. So we don't need a panel anymore. Also, think if you really need icons on your desktop. If you do, think about using something like ROX filer instead of nautilus for that. In any case, tell nautilus not to manage the desktop by default by unchecking the according setting within gconf-editor. To keep GNOME applications happy we would need to have gconf and gnome-settings-manager running at every session start. One way to do this is to either include them in your new session script. They both need to be running to make GNOME applications realize their settings properly.&lt;br /&gt;
&lt;br /&gt;
===KDE===&lt;br /&gt;
{{Todo|...}}&lt;br /&gt;
&lt;br /&gt;
===Alternative Desktop Environments===&lt;br /&gt;
First of all, it is important to notice that GNOME and KDE are not the only Desktop Environments around.&lt;br /&gt;
Other complete (featuring most of: window management, session management, desktop management, file management and panel) desktop environments are:&lt;br /&gt;
*[http://xfce.org/ XFCE] &amp;lt;tt&amp;gt;uses GTK 2&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://ede.sourceforge.net Equinox Desktop Environment] &amp;lt;tt&amp;gt;uses eFLTK, a modified version of FLTK&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://www.nongnu.org/antiright/ AntiRight Desktop Environment] &amp;lt;tt&amp;gt;uses LessTif / OpenMotif&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://foxdesktop.sourceforge.net/ FOX Desktop Environment] &amp;lt;tt&amp;gt;uses FOX Toolkit&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://www.gnustep.org/ GNUstep] &amp;lt;tt&amp;gt;provides it's own toolkit&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But also, some Window Managers exceed the task of managing windows towards providing a functional workbench. See below for a list.&lt;br /&gt;
&lt;br /&gt;
===Building your own Desktop===&lt;br /&gt;
&lt;br /&gt;
====Window Manager====&lt;br /&gt;
If you want to build your own customized desktop, a good start is choosing the window manager of your liking.&lt;br /&gt;
&lt;br /&gt;
Here's a list of some of them:&lt;br /&gt;
*including basic Desktop Environment functionality&lt;br /&gt;
**the [[Wikipedia:NextStep|NextStep]] alike ones&lt;br /&gt;
***[http://www.windowmaker.org/ WindowMaker] &amp;lt;tt&amp;gt;(probably the most widespread NextStep like WM)&amp;lt;/tt&amp;gt;&lt;br /&gt;
***[http://www.afterstep.org/ AfterStep] &amp;lt;tt&amp;gt;(another one of those)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**the Blackbox-like ones&lt;br /&gt;
***[http://blackboxwm.sourceforge.net/ BlackBox]&lt;br /&gt;
***[http://fluxbox.sourceforge.net/ FluxBox] &amp;lt;tt&amp;gt;(tabbed windows, lighweight)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**others&lt;br /&gt;
***[http://www.icewm.org/ IceWM] &amp;lt;tt&amp;gt;(lightweight, widespread)&amp;lt;/tt&amp;gt;&lt;br /&gt;
***[http://enlightenment.sourceforge.net/ Enlightenment] &amp;lt;tt&amp;gt;(lots of features and eye candy)&amp;lt;/tt&amp;gt;&lt;br /&gt;
***[http://www.pekwm.org PekWM] &amp;lt;tt&amp;gt;(kind of a one man show, but feature rich and extremely customizable)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*pure WindowManagers &lt;br /&gt;
**[http://golem.sourceforge.net/ Golem]&lt;br /&gt;
**[http://home.earthlink.net/~lab1701/larswm/ LarsWM] &amp;lt;tt&amp;gt;(unique tiling Window Manager)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://www.nongnu.org/ratpoison/ ratpoison] &amp;lt;tt&amp;gt;(modeled after gnu screen)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://fvwm.org/ fvwm] &amp;lt;tt&amp;gt;(small but powerful)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://www.jfc.org.uk/software/lwm.html lwm] &amp;lt;tt&amp;gt;(very small, and fast)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://www.all-day-breakfast.com/wm2/ wm2] &amp;lt;tt&amp;gt;really small Window Manager&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://www.all-day-breakfast.com/wmx/ wmx] &amp;lt;tt&amp;gt;slightly more featureful version of wm2&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Taskbar/Panel====&lt;br /&gt;
Another thing that especially users coming to Linux from the Windows world would probably like is a Panel or Taskbar.&lt;br /&gt;
&lt;br /&gt;
Here's a collection of independant low resource panels:&lt;br /&gt;
*[http://www.chatjunkies.org/fspanel/ F***ing Small Panel] &amp;lt;tt&amp;gt;(doesn't use any toolkit)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://freshmeat.net/projects/hpanel/ HPanel] &amp;lt;tt&amp;gt;(doesn't use any toolkit)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://fbpanel.sourceforge.net/ fbpanel] &amp;lt;tt&amp;gt;(depends on GTK 2)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://jodrell.net/projects/perlpanel Perl Panel] &amp;lt;tt&amp;gt;(depends on GTK 2, gnomevfs, perl)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://www.gkrellm.net/ GKrellM] &amp;lt;tt&amp;gt;(depends on GTK 2, flexible plugin based skinable vertical panel)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Desktop Pinboard====&lt;br /&gt;
Then, the next thing you might be looking for is how to get icons onto your desktop. Usually this is done by the file manager who displays the content of a special directory as icons on the desktop. See the File Manager section to follow this approach.&lt;br /&gt;
&lt;br /&gt;
However, you might decide for a really lightwight file manager which doesn't offer this feature. In that case all hope is not lost, for there are also special programs specialized in desktop icon management. Such are:&lt;br /&gt;
* [http://idesk.sourceforge.net/ iDesk] &amp;lt;tt&amp;gt;(recent versions need imlib2 only)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Manager====&lt;br /&gt;
File Managers are the fourth really important compontent of a desktop environment. There are plenty out their ranging from resource hugs to really lightweight and slim ones.&lt;br /&gt;
&lt;br /&gt;
File Managers come with three distinct general user interface approaches: the two pane gui, the spacial and the browser gui. The browser gui is the one the Windows Explorer starting from Windows 2000 uses as well as earlier versions of Nautilus. The spacial view is the one known from Windows 95 and more recent versions of Nautilus. The two pane view is know to many from Norten Commander, Directory Opus or your favorite FTP client.&lt;br /&gt;
&lt;br /&gt;
The following list provides an overview.&lt;br /&gt;
*FLTK&lt;br /&gt;
** [http://www.oksid.ch/flfm/ Fast Light File Manager] &amp;lt;tt&amp;gt;(spacial gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* FOX toolkit&lt;br /&gt;
** [http://roland65.free.fr/xfe/ X File Explorer] &amp;lt;tt&amp;gt;(browser and two pane gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*GTK&lt;br /&gt;
** [http://www.kaisersite.de/dfm/ Desktop File Manager] &amp;lt;tt&amp;gt;(spacial gui, incl. desktop icon management)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://www.uwyn.com/projects/fm/ FM] &amp;lt;tt&amp;gt;(spacial, MAC OS 9 like gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://radekc.regnet.cz/ Seksi Commander] &amp;lt;tt&amp;gt;(two pane gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*GTK 2&lt;br /&gt;
** [http://rox.sourceforge.net/ ROX Filer] &amp;lt;tt&amp;gt;(highly productive spacial gui, incl. panel and desktop icon management)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://blog.perldude.de/projects/filer/ Filer] &amp;lt;tt&amp;gt;(browser and two pane gui, requires Perl)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://xffm.sourceforge.net/ XFFM] &amp;lt;tt&amp;gt;(browser and spacial gui, requires some XFCE libs)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://logicaldesktop.sourceforge.net/ Logical Desktop] &amp;lt;tt&amp;gt;(browser gui, actually a very special approach)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://tuxcmd.sourceforge.net/ Tux Commander] &amp;lt;tt&amp;gt;(two pane gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://emelfm2.net/emelFM2/ emelFM2] &amp;lt;tt&amp;gt;(two pane gui with full customizable menu and toolbar, the best for power users)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://thunar.xfce.org/index.xhtml Thunar] &amp;lt;tt&amp;gt;(requires some XFCE libs)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://pcmanfm.sourceforge.net/ PCMan File Manager] &amp;lt;tt&amp;gt;(An extremly fast and lightweight file manager which features tabbed browsing and user-friendly interface. Requires GTK+ version 2.8.x)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* OpenMotif&lt;br /&gt;
** [http://www.musikwissenschaft.uni-mainz.de/~ag/xplore/xplore.php Xplore] &amp;lt;tt&amp;gt;(browser gui with productive 4 pane concept)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* QT 2&lt;br /&gt;
** [http://www.hi-net.cz/blaza/bfcommander/en/index.html BF-Commander] &amp;lt;tt&amp;gt;(two pane gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Qt3&lt;br /&gt;
** [http://www.beesoft.org/download_bsc.html Beesoft Commander] &amp;lt;tt&amp;gt; (fast &amp;amp; easy two panel file manager, like Norton Commander)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Tcl/Tk&lt;br /&gt;
** [http://users.tkk.fi/~mkivinie/X-Files/ X-Files] &amp;lt;tt&amp;gt;(two pane gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*X Toolkit&lt;br /&gt;
** [http://www.musikwissenschaft.uni-mainz.de/~ag/xfm/ X File Manager] &amp;lt;tt&amp;gt;(spacial gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://www.boomerangsworld.de/worker/ Worker] &amp;lt;tt&amp;gt;(two pane gui, highly productive and configurable)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://xnc.dubna.su/ X Northern Captain] &amp;lt;tt&amp;gt;(interesting flexible two pane gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*3D Filemanagers&lt;br /&gt;
** [http://www.determinate.net/webdata/seg/tdfsb.html TDFSB] &amp;lt;tt&amp;gt;(3D gui, the most impressing 3D file browser so far)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://www.forchheimer.se/bfm/ Brutal File Manager] &amp;lt;tt&amp;gt;(3D gui more for fun than productivity)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://turma.sourceforge.net/software/3dfile/ 3DFile] &amp;lt;tt&amp;gt;(3D gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://orbis.sourceforge.net/ Orbis] &amp;lt;tt&amp;gt;(3D gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Choosing applications==&lt;br /&gt;
===Web Browser===&lt;br /&gt;
This is highly dependend on the way you use your browser, it's often worth it to try out all and just track general&lt;br /&gt;
memory usage. Remember that &amp;lt;tt&amp;gt;top&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ps&amp;lt;/tt&amp;gt; don't report correct memory usage, track totals only.&lt;br /&gt;
&lt;br /&gt;
====Firefox====&lt;br /&gt;
Firefox is graphical web browser. One can install features like AdBlock and FlashClicktoplay which will decrease memory  and&lt;br /&gt;
processor usage by hiding Flash and Java -adverts.&lt;br /&gt;
&lt;br /&gt;
====Opera====&lt;br /&gt;
Opera is graphical web browser. You can easily enable/disable plug-ins and java (press F12) and decrease memory usage.&lt;br /&gt;
Opera uses QT as toolkit, so you may shave off some Mbytes off memory usage by using dynamically linked version if you use KDE.&lt;br /&gt;
&lt;br /&gt;
====Konqueror====&lt;br /&gt;
Konqueror is graphical web browser. It's integrated with KDE and has several advanced features (esp. ca. KDE 3.5).&lt;br /&gt;
You may save some megabytes by using it instead of other browsers when using KDE.&lt;br /&gt;
It's not necessarily heavy even when used without running KDE.&lt;br /&gt;
&lt;br /&gt;
====Dillo====&lt;br /&gt;
Dillo is minimalistic and very small graphical web browser. &lt;br /&gt;
&lt;br /&gt;
====Elinks/Lynx====&lt;br /&gt;
elinks/lynx are both text mode web browsers. &amp;lt;tt&amp;gt;elinks&amp;lt;/tt&amp;gt; handles tables and formatting much nicer than &amp;lt;tt&amp;gt;lynx&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Both go very easy on memory footprint.&lt;br /&gt;
&lt;br /&gt;
{{Todo|...}}&lt;br /&gt;
&lt;br /&gt;
==Disabling unneeded system deamons==&lt;br /&gt;
Another thing you can do to improve performance is to get rid of unneaded system daemons launched from your init scripts. Disable them by using the according configuration interface of your distro or by deleting links in the according runlevel directories (usually in &amp;lt;code&amp;gt;/etc/rc.d/&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Daemons you usually don't need:&lt;br /&gt;
* httpd &amp;lt;tt&amp;gt;(Apache web server)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* mysqld &amp;lt;tt&amp;gt;(MySQL database server)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* smbd &amp;lt;tt&amp;gt;(SMB windows filesharing server)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* pppd &amp;lt;tt&amp;gt;(PPP server for connections through modems and serial lines)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Adjusting filesystems==&lt;br /&gt;
You can also try to optimize memory usage by making sure that you have as little as possible of your filesystem residing in RAM. To do this make sure that the following mount points are set to reside on your harddisk in {{path|/etc/fstab}}.&lt;br /&gt;
* /dev (not possible if you use udev)&lt;br /&gt;
* /tmp&lt;br /&gt;
&lt;br /&gt;
Also make sure that you mount filesystems with extensive usage with noatime parameter (mount -o remount,ro /...), which disabled access time writes every time you access some file. Note that many incremental backups needs atime to work, such backups will then behave like full backup everytime. This depends on backup systems.&lt;br /&gt;
&lt;br /&gt;
==Other tips==&lt;br /&gt;
===Disk space===&lt;br /&gt;
When using Debian/Ubuntu/other derivative, use &amp;lt;tt&amp;gt;aptitude&amp;lt;/tt&amp;gt; as package manager, and use it as soon as possible. Use it and only it to install and remove packages.&lt;br /&gt;
&lt;br /&gt;
One of its most useful features is that it tracks packages you install and marks packages installed via dependency as such, so when you remove a package that is no longer used, or package updates and doesn't use a library anymore, that dependency will get uninstalled.&lt;br /&gt;
&lt;br /&gt;
You can mark packages installed as automatically installed by hitting 'M' (uppercase m), it will be marked for deinstallation if it's not longer required.&lt;br /&gt;
&lt;br /&gt;
You could also install &amp;lt;tt&amp;gt;localepurge&amp;lt;/tt&amp;gt; wich will remove all unneeded locales and localized manpages for packages you install.&lt;br /&gt;
&lt;br /&gt;
===System clock===&lt;br /&gt;
&amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; can occupy around 4MB of memory, which is a substantial proportion of many older systems' total. [http://chrony.sunsite.dk/ &amp;lt;tt&amp;gt;chrony&amp;lt;/tt&amp;gt;] is a pair of programs that replace the standard &amp;lt;tt&amp;gt;ntp&amp;lt;/tt&amp;gt; and require much less memory.&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23569</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23569"/>
		<updated>2006-07-25T00:43:00Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Network */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|These instructions are intended for use with Slackware 10.1 plus Linux kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], rather than with any of the kernels included with the Slackware 10.1 distribution.&lt;br /&gt;
&lt;br /&gt;
These instructions also describe how to configure the PC110 to boot from a 4MB Hitachi CompactFlash type II Microdrive, how to configure the PC110 to connect to a WPA-encrypted wireless network using a Prism3 chipset PCMCIA card, how to configure the PC110's various other peripheral devices, and how to set up X.Org.}}&lt;br /&gt;
&lt;br /&gt;
The stock 2.4.29 Linux kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (do this overnight if you're compiling on the PC110 itself) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Install any other modules you may have ([[hostap]] wireless network card driver modules, for example) if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order. It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the Hitachi 4MB Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
===WPA configuration===&lt;br /&gt;
&lt;br /&gt;
{{NOTE|WPA requires that the Prism3 card's station firmware is at least version 1.7.0. Newer firmware is available [http://www.red-bean.com/~proski/firmware/ here] and instructions for downloading it into the network card's flash memory using tools supplied as part of the [[hostap]] driver can be found [http://linux.junsun.net/intersil-prism/ here].}}&lt;br /&gt;
{{WARN|Unsuccessful attempts to reprogram the network card's flash memory may leave it in an unusable state, except as some sort of paperweight. WEP and unencrypted network configurations will work with whichever station firmware version your card already has; if you don't understand the instructions for installing newer firmware versions, or don't understand why you might want a newer version, don't do it.}}&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===General wireless network configuration===&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}} (described in the next section).&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23568</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23568"/>
		<updated>2006-07-25T00:28:44Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Kernel configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|These instructions are intended for use with Slackware 10.1 plus Linux kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], rather than with any of the kernels included with the Slackware 10.1 distribution.&lt;br /&gt;
&lt;br /&gt;
These instructions also describe how to configure the PC110 to boot from a 4MB Hitachi CompactFlash type II Microdrive, how to configure the PC110 to connect to a WPA-encrypted wireless network using a Prism3 chipset PCMCIA card, how to configure the PC110's various other peripheral devices, and how to set up X.Org.}}&lt;br /&gt;
&lt;br /&gt;
The stock 2.4.29 Linux kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (do this overnight if you're compiling on the PC110 itself) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Install any other modules you may have ([[hostap]] wireless network card driver modules, for example) if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order. It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the Hitachi 4MB Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}}.&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23567</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23567"/>
		<updated>2006-07-25T00:23:17Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Kernel configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|These instructions are intended for use with Slackware 10.1 plus Linux kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], rather than with any of the kernels included with the Slackware 10.1 distribution.&lt;br /&gt;
&lt;br /&gt;
These instructions also describe how to configure the PC110 to boot from a 4MB Hitachi CompactFlash type II Microdrive, how to configure the PC110 to connect to a WPA-encrypted wireless network using a Prism3 chipset PCMCIA card, how to configure the PC110's various other peripheral devices, and how to set up X.Org.}}&lt;br /&gt;
&lt;br /&gt;
The stock 2.4.29 Linux kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (overnight, probably :-) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Reinstall&lt;br /&gt;
the &amp;lt;tt&amp;gt;hostap&amp;lt;/tt&amp;gt; modules if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order. It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the Hitachi 4MB Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}}.&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23566</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23566"/>
		<updated>2006-07-25T00:06:56Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Boot sequence */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
''These instructions are intended for use with kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], and not with any of the kernels included with the Slackware 10.1 distribution.''&lt;br /&gt;
&lt;br /&gt;
The stock kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (overnight, probably :-) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Reinstall&lt;br /&gt;
the &amp;lt;tt&amp;gt;hostap&amp;lt;/tt&amp;gt; modules if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order. It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the Hitachi 4MB Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}}.&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23565</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23565"/>
		<updated>2006-07-25T00:05:13Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* APM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
''These instructions are intended for use with kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], and not with any of the kernels included with the Slackware 10.1 distribution.''&lt;br /&gt;
&lt;br /&gt;
The stock kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (overnight, probably :-) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Reinstall&lt;br /&gt;
the &amp;lt;tt&amp;gt;hostap&amp;lt;/tt&amp;gt; modules if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order{{footnote|1}}.&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}}.&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23564</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23564"/>
		<updated>2006-07-25T00:04:27Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* APM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
''These instructions are intended for use with kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], and not with any of the kernels included with the Slackware 10.1 distribution.''&lt;br /&gt;
&lt;br /&gt;
The stock kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (overnight, probably :-) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Reinstall&lt;br /&gt;
the &amp;lt;tt&amp;gt;hostap&amp;lt;/tt&amp;gt; modules if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order{{footnote|1}}.&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}}.&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#It's essential that the BIOS boot sequence doesn't include &amp;quot;PCMCIA&amp;quot;, because if it does the BIOS will control the slot with the disk in, and &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; will only control the one with the network card. The BIOS doesn't seem to be able to wake up the Hitachi 4MB Microdrive properly after a suspend/resume cycle, whereas the Linux IDE driver does.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23562</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23562"/>
		<updated>2006-07-25T00:01:49Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Serial ports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
''These instructions are intended for use with kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], and not with any of the kernels included with the Slackware 10.1 distribution.''&lt;br /&gt;
&lt;br /&gt;
The stock kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (overnight, probably :-) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Reinstall&lt;br /&gt;
the &amp;lt;tt&amp;gt;hostap&amp;lt;/tt&amp;gt; modules if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order{{footnote|1}}.&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}}.&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|The PC110 doesn't let you use all the serial ports at the same time: there are three serial devices and one two-channel UART. Here we configure the IrDA port and modem, since those are the two devices built into the computer itself (the ordinary DE9 wired serial port is located on the port replicator). The standard&lt;br /&gt;
serial port requires no configuration beyond initialisation of the driver.}}&lt;br /&gt;
&lt;br /&gt;
In the BIOS, [http://www.basterfield.com/pc110/bios/serial.htm set the serial&lt;br /&gt;
ports] to &amp;quot;Infrared 1&amp;quot; (ttyS0) and &amp;quot;Modem 2&amp;quot; (ttyS1). The potentially most useful setting,&lt;br /&gt;
activating the serial port on the port replicator and IrDA at the same time and ignoring the&lt;br /&gt;
crappy modem altogether, is not available because these two devices share UART circuitry.&lt;br /&gt;
&lt;br /&gt;
===IrDA===&lt;br /&gt;
&lt;br /&gt;
The device files need to be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/ircomm0 c 161 0&lt;br /&gt;
mknod /dev/ircomm1 c 161 1&lt;br /&gt;
mknod /dev/irlpt0 c 161 16&lt;br /&gt;
mknod /dev/irlpt1 c 161 17&lt;br /&gt;
mknod /dev/irnet c 10 187&lt;br /&gt;
chmod 666 /dev/ir*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put this in &amp;lt;tt&amp;gt;/etc/modules.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias tty-ldisc-11 irtty&lt;br /&gt;
alias char-major-161 ircomm-tty&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the [http://sourceforge.net/project/showfiles.php?group_id=5616 user-space&lt;br /&gt;
IrDA tools] and install them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;{{cmdroot|irattach /dev/ttyS0 -s}} should load all the required modules, and start flashing&lt;br /&gt;
the red light.&lt;br /&gt;
&lt;br /&gt;
===Modem===&lt;br /&gt;
&lt;br /&gt;
The modem is &amp;quot;FAX Class2/2.0 9600bps, DATA 2400/MNP5, VOICE (no standard)&amp;quot;, and&lt;br /&gt;
mostly undocumented. Finding suitable initialisation and command strings is left as an exercise&lt;br /&gt;
for the reader.&lt;br /&gt;
&lt;br /&gt;
Here is the information it is prepared to tell us:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ati0&lt;br /&gt;
Ver. 1.04      &lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
ati1&lt;br /&gt;
197&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
at&amp;amp;v&lt;br /&gt;
ACTIVE PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S03:013 S04:010 S05:008 S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050&lt;br /&gt;
S96:015&lt;br /&gt;
&lt;br /&gt;
DEFAULT PROFILE: E1 M1 Q0 T V1 X4 &amp;amp;C1 &amp;amp;D2 &amp;amp;K3 &amp;amp;Q0 &amp;amp;S0 &amp;amp;T0 S00:000 S02:043&lt;br /&gt;
S06:003 S07:030 S08:002 S09:020 S10:014 S11:070 S12:050 S96:015&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modem is ''really loud'', so &amp;lt;tt&amp;gt;ATM0&amp;lt;/tt&amp;gt; would be a good start;&lt;br /&gt;
[http://open.nit.ca/wiki/index.php?page=WvDial &amp;lt;tt&amp;gt;wvdial&amp;lt;/tt&amp;gt;] might be&lt;br /&gt;
useful too. {{path|/etc/wvdial.conf}} might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Dialer Defaults]&lt;br /&gt;
Modem = /dev/modem&lt;br /&gt;
Baud = 57600&lt;br /&gt;
# The PC110 modem doesn't like spaces in command strings.&lt;br /&gt;
Init = ATZ&lt;br /&gt;
Init2 = ATX3M0&lt;br /&gt;
Init3 = ATQ0V1E1S0=0&amp;amp;C1&amp;amp;D2S11=55+FCLASS=0&lt;br /&gt;
Phone = 555 555 5555&lt;br /&gt;
Username = name&lt;br /&gt;
Password = password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23557</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23557"/>
		<updated>2006-07-24T23:50:18Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Sound */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
''These instructions are intended for use with kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], and not with any of the kernels included with the Slackware 10.1 distribution.''&lt;br /&gt;
&lt;br /&gt;
The stock kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (overnight, probably :-) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Reinstall&lt;br /&gt;
the &amp;lt;tt&amp;gt;hostap&amp;lt;/tt&amp;gt; modules if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order{{footnote|1}}.&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}}.&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Touch pad==&lt;br /&gt;
&lt;br /&gt;
The touch pad is fiddly and inconvenient to use, but it may as well be configured.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mknod /dev/pc110pad c 10 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run {{cmdroot|/usr/sbin/mouseconfig}} and choose a PS/2 mouse, in order to link&lt;br /&gt;
{{path|/dev/mouse}} to {{path|/dev/psaux}} and create {{path|/etc/rc.d/rc.gpm}}.&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/rc.d/rc.gpm}} to invoke gpm in repeater mode: change both occurrences of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -m /dev/mouse -t ps2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/sbin/gpm -R -tps2 -M -tps2 -m /dev/pc110pad -g1 -i500 -d8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in {{path|/etc/modules.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias char-major-10-9 pc110pad&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23556</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23556"/>
		<updated>2006-07-24T23:47:21Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Sound */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
''These instructions are intended for use with kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], and not with any of the kernels included with the Slackware 10.1 distribution.''&lt;br /&gt;
&lt;br /&gt;
The stock kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (overnight, probably :-) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Reinstall&lt;br /&gt;
the &amp;lt;tt&amp;gt;hostap&amp;lt;/tt&amp;gt; modules if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order{{footnote|1}}.&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}}.&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
The sound card is 8-bit, mono, and SoundBlaster compatible.&lt;br /&gt;
&lt;br /&gt;
Put this in {{path|/etc/modules.conf}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias sound-slot-0 sb&lt;br /&gt;
alias midi opl3&lt;br /&gt;
options opl3 io=0x388&lt;br /&gt;
options sb io=0x220 irq=5 dma=1&lt;br /&gt;
alias sound sb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23555</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23555"/>
		<updated>2006-07-24T23:45:53Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Miscellaneous */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
''These instructions are intended for use with kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], and not with any of the kernels included with the Slackware 10.1 distribution.''&lt;br /&gt;
&lt;br /&gt;
The stock kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (overnight, probably :-) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Reinstall&lt;br /&gt;
the &amp;lt;tt&amp;gt;hostap&amp;lt;/tt&amp;gt; modules if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order{{footnote|1}}.&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}}.&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
Prevent &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt; from filling up the log with&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mar 12 08:40:33 carrot -- MARK --&lt;br /&gt;
Mar 12 09:00:36 carrot -- MARK --&lt;br /&gt;
Mar 12 09:20:41 carrot -- MARK --&lt;br /&gt;
Mar 12 09:40:43 carrot -- MARK --&lt;br /&gt;
Mar 12 10:20:48 carrot -- MARK --&lt;br /&gt;
Mar 12 10:56:35 carrot -- MARK --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
messages (and, more importantly, waking up the disk all the time and draining the battery&lt;br /&gt;
without good reason) by editing {{path|/etc/rc.d/rc.syslog}}: add &amp;lt;tt&amp;gt;-m 0&amp;lt;/tt&amp;gt; to the&lt;br /&gt;
invocation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  echo -n &amp;quot;/usr/sbin/syslogd -m 0 &amp;quot;&lt;br /&gt;
  /usr/sbin/syslogd -m 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/rc.d/rc.modules}} is mostly comment; it only loads two modules as installed --&lt;br /&gt;
agpgart and ide-scsi. Neither are useful on the {{PC110}}, so comment both of them out to avoid a&lt;br /&gt;
couple of error messages at boot time.&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23553</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23553"/>
		<updated>2006-07-24T23:44:18Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Keyboard map */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
''These instructions are intended for use with kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], and not with any of the kernels included with the Slackware 10.1 distribution.''&lt;br /&gt;
&lt;br /&gt;
The stock kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (overnight, probably :-) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Reinstall&lt;br /&gt;
the &amp;lt;tt&amp;gt;hostap&amp;lt;/tt&amp;gt; modules if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order{{footnote|1}}.&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}}.&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.keymap}} containing this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# Load the keyboard map.  More maps are in /usr/share/kbd/keymaps.&lt;br /&gt;
if [ -x /usr/bin/loadkeys ]; then&lt;br /&gt;
  /usr/bin/loadkeys pc110.map&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It'll be called from {{path|/etc/rc.d/rc.M}} when the system boots.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23552</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23552"/>
		<updated>2006-07-24T23:43:05Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Kernel configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
''These instructions are intended for use with kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], and not with any of the kernels included with the Slackware 10.1 distribution.''&lt;br /&gt;
&lt;br /&gt;
The stock kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
Compile the kernel and modules (overnight, probably :-) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Reinstall&lt;br /&gt;
the &amp;lt;tt&amp;gt;hostap&amp;lt;/tt&amp;gt; modules if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order{{footnote|1}}.&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}}.&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23551</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23551"/>
		<updated>2006-07-24T23:42:50Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Network */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
''These instructions are intended for use with kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], and not with any of the kernels included with the Slackware 10.1 distribution.''&lt;br /&gt;
&lt;br /&gt;
The stock kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Compile the kernel and modules (overnight, probably :-) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Reinstall&lt;br /&gt;
the &amp;lt;tt&amp;gt;hostap&amp;lt;/tt&amp;gt; modules if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order{{footnote|1}}.&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}}.&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23550</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23550"/>
		<updated>2006-07-24T23:41:38Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Setting the clock */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
''These instructions are intended for use with kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], and not with any of the kernels included with the Slackware 10.1 distribution.''&lt;br /&gt;
&lt;br /&gt;
The stock kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Compile the kernel and modules (overnight, probably :-) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Reinstall&lt;br /&gt;
the &amp;lt;tt&amp;gt;hostap&amp;lt;/tt&amp;gt; modules if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order{{footnote|1}}.&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}}.&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
NTP configuration is optional but it's nice to have the clock tell the right time, particularly&lt;br /&gt;
if there are NFS mounts.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;ntpd&amp;lt;/tt&amp;gt; (version 4.2.0) supplied with Slackware 10.1 is a big program that&lt;br /&gt;
will hog more than 3MB of memory, so [http://chrony.sunsite.dk/ chronyd] is probably a better choice for the PC110. &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; also measures the drift of&lt;br /&gt;
the hardware clock, so can make a better estimate of the time immediately following a reboot.&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/chrony.conf}} containing this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
driftfile /etc/chrony.drift&lt;br /&gt;
rtcfile /etc/chrony.rtc&lt;br /&gt;
rtconutc&lt;br /&gt;
keyfile /etc/chrony.keys&lt;br /&gt;
commandkey 0&lt;br /&gt;
&lt;br /&gt;
local stratum 10&lt;br /&gt;
&lt;br /&gt;
server 0.europe.pool.ntp.org&lt;br /&gt;
server 1.europe.pool.ntp.org&lt;br /&gt;
server 2.europe.pool.ntp.org&lt;br /&gt;
server ch.pool.ntp.org&lt;br /&gt;
server uk.pool.ntp.org&lt;br /&gt;
&lt;br /&gt;
deny all&lt;br /&gt;
allow 127.0.0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Choose NTP servers located fairly close by geographically, if possible. This particular choice of time servers is appropriate for a computer somewhere in Europe.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|Set the time in the BIOS to UTC, or remove the line &amp;quot;rtconutc&amp;quot; from the configuration file. Keeping the time in the BIOS as UTC allows &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; to keep track of daylight saving time correctly, but has the disadvantage that the time displayed on the front of the PC110 will be UTC not the local time.}}&lt;br /&gt;
&lt;br /&gt;
Launch &amp;lt;tt&amp;gt;chronyd&amp;lt;/tt&amp;gt; from {{path|/etc/rc.d/rc.local}}:&lt;br /&gt;
&lt;br /&gt;
Create {{path|/etc/rc.d/rc.local}}, &amp;lt;tt&amp;gt;chmod 755&amp;lt;/tt&amp;gt;, if it doesn't already exist.&lt;br /&gt;
Add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;Starting NTP daemon: /usr/sbin/chronyd&amp;quot;&lt;br /&gt;
/usr/sbin/chronyd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to start NTP when the {{PC110}} boots.&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23549</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23549"/>
		<updated>2006-07-24T23:30:22Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Network */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
''These instructions are intended for use with kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], and not with any of the kernels included with the Slackware 10.1 distribution.''&lt;br /&gt;
&lt;br /&gt;
The stock kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Compile the kernel and modules (overnight, probably :-) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Reinstall&lt;br /&gt;
the &amp;lt;tt&amp;gt;hostap&amp;lt;/tt&amp;gt; modules if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order{{footnote|1}}.&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
{{NOTE|This section describes how to configure [[Hostap]] to use a Zyxel ZyAir B-100 11Mbps 802.11b WLAN card. This card uses the Prism3 chipset, and identifies itself as a &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;. The following guidelines may work with other Prism3 chipset WLAN PCMCIA cards, but have only been tested with the card named above.}}&lt;br /&gt;
&lt;br /&gt;
[[Hostap]] isn't included with the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt; distribution, so needs adding to the configuration files. Edit {{path|/etc/pcmcia/config}} and add this to the &amp;quot;Device driver definitions&amp;quot;&lt;br /&gt;
section at the top of the file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
device &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
  class &amp;quot;network&amp;quot; module &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and in the &amp;quot;Wireless network adapters&amp;quot; section (about half way through the file) change&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;orinoco_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
to&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
card &amp;quot;Linksys WPC11 11Mbps 802.11b WLAN Card&amp;quot;&lt;br /&gt;
  manfid 0x0274, 0x1613&lt;br /&gt;
  bind &amp;quot;hostap_cs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile the driver modules and install them in {{path|/lib/modules/}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/pcmcia/hostap_cs.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_ccmp.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_tkip.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_crypt_wep.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_pci.o&lt;br /&gt;
/lib/modules/2.4.29/kernel/drivers/net/wireless/hostap_plx.o&lt;br /&gt;
/lib/modules/2.4.29/pcmcia/hostap_cs.o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
({{path|/lib/modules/2.4.29/pcmcia/hostap_cs.o}} is a symbolic link to&lt;br /&gt;
{{path|../kernel/drivers/net/pcmcia/hostap_cs.o}}).&lt;br /&gt;
&lt;br /&gt;
Build and install &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; according to the instructions in the source package.&lt;br /&gt;
See its README file for details. Configure &amp;lt;tt&amp;gt;wpa_supplicant&amp;lt;/tt&amp;gt; as described in the README,&lt;br /&gt;
and summarised here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Create {{path|/etc/wpa_supplicant.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
network={&lt;br /&gt;
	ssid=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
	scan_ssid=1&lt;br /&gt;
	key_mgmt=WPA-PSK&lt;br /&gt;
	psk=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Add the following block to the end of 'start' action handler in&lt;br /&gt;
{{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Separate 'restart', 'resume', 'check' and 'suspend' action handlers from 'stop', and&lt;br /&gt;
add the following block to the end of 'stop' action handler in {{path|/etc/pcmcia/wireless}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if [ &amp;quot;$WPA&amp;quot; = &amp;quot;y&amp;quot; -a -x /usr/local/bin/wpa_supplicant ]; then&lt;br /&gt;
        killall wpa_supplicant&lt;br /&gt;
    fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Edit {{path|/etc/pcmcia/wireless.opts}}. Remove the section marked &amp;quot;SECTION TO REMOVE&amp;quot;&lt;br /&gt;
at the beginning of the file and replace it with this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*,*,*,*)&lt;br /&gt;
    ESSID=&amp;quot;&amp;amp;lt;the network name&amp;amp;gt;&amp;quot;&lt;br /&gt;
    KEY=&amp;quot;&amp;amp;lt;the key&amp;amp;gt;&amp;quot;&lt;br /&gt;
    MODE=&amp;quot;Managed&amp;quot;&lt;br /&gt;
    WPA=&amp;quot;y&amp;quot;&lt;br /&gt;
;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the network settings in {{path|/etc/pcmcia/network.opts}}. It's easiest if there is a DHCP server on the network, then the only change necessary is to ensure that&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    DHCP=&amp;quot;y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; will clobber {{path|/etc/ntp.conf}} if you don't tell it not&lt;br /&gt;
to. Edit {{path|/etc/rc.d/rc.inet1}} and {{path|/etc/pcmcia/network}} and add&lt;br /&gt;
&amp;lt;tt&amp;gt;-N&amp;lt;/tt&amp;gt; to every invocation of {{path|/sbin/dhcpcd}}. &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt; restores&lt;br /&gt;
the original {{path|/etc/ntp.conf}} when it exits, so kill any running &amp;lt;tt&amp;gt;dhcpcd&amp;lt;/tt&amp;gt;&lt;br /&gt;
process before editing {{path|/etc/ntp.conf}}.&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23548</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23548"/>
		<updated>2006-07-24T23:15:12Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* PCMCIA configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
''These instructions are intended for use with kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], and not with any of the kernels included with the Slackware 10.1 distribution.''&lt;br /&gt;
&lt;br /&gt;
The stock kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Compile the kernel and modules (overnight, probably :-) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Reinstall&lt;br /&gt;
the &amp;lt;tt&amp;gt;hostap&amp;lt;/tt&amp;gt; modules if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order{{footnote|1}}.&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
The second serial port and the sound card use IRQs 3 and 5 respectively, and the&lt;br /&gt;
touch pad uses IRQ 10. Edit {{path|/etc/pcmcia/config.opts}} to prevent any PCMCIA devices&lt;br /&gt;
being assigned these IRQs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Second built-in serial port&lt;br /&gt;
exclude irq 3&lt;br /&gt;
# Sound card&lt;br /&gt;
exclude irq 5&lt;br /&gt;
# Touch pad&lt;br /&gt;
exclude irq 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the {{path|/etc/pcmcia/config.opts}} found in the initial ramdisk&lt;br /&gt;
{{path|/boot/initrd}} has the same IRQs excluded.&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23547</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23547"/>
		<updated>2006-07-24T23:13:44Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* {{path|/etc/fstab}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
''These instructions are intended for use with kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], and not with any of the kernels included with the Slackware 10.1 distribution.''&lt;br /&gt;
&lt;br /&gt;
The stock kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Compile the kernel and modules (overnight, probably :-) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Reinstall&lt;br /&gt;
the &amp;lt;tt&amp;gt;hostap&amp;lt;/tt&amp;gt; modules if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order{{footnote|1}}.&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
{{HINT|For NFS to work properly, make sure /etc/rc.d/rc.portmap is chmod 755.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23546</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23546"/>
		<updated>2006-07-24T23:11:27Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* {{path|/etc/fstab}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
''These instructions are intended for use with kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], and not with any of the kernels included with the Slackware 10.1 distribution.''&lt;br /&gt;
&lt;br /&gt;
The stock kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Compile the kernel and modules (overnight, probably :-) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Reinstall&lt;br /&gt;
the &amp;lt;tt&amp;gt;hostap&amp;lt;/tt&amp;gt; modules if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order{{footnote|1}}.&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/fstab}} looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/dev/hda1               /boot                   ext2    ro            1 2&lt;br /&gt;
/dev/hdc2               /                     ext3    defaults        1 1&lt;br /&gt;
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 0&lt;br /&gt;
none                    /proc                   proc    defaults        0 0&lt;br /&gt;
none                    /dev/pts                devpts  gid=5,mode=620  0 0&lt;br /&gt;
/dev/hdc1               swap                    swap    defaults        0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{HINT|Mounting / with option &amp;quot;noatime&amp;quot; might be a good idea.}}&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23545</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23545"/>
		<updated>2006-07-24T23:08:21Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Boot sequence */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
''These instructions are intended for use with kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], and not with any of the kernels included with the Slackware 10.1 distribution.''&lt;br /&gt;
&lt;br /&gt;
The stock kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Compile the kernel and modules (overnight, probably :-) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Reinstall&lt;br /&gt;
the &amp;lt;tt&amp;gt;hostap&amp;lt;/tt&amp;gt; modules if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order{{footnote|1}}.&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
{{path|/etc/lilo.conf}} should look like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
boot=/dev/hda&lt;br /&gt;
map=/boot/map&lt;br /&gt;
install=/boot/boot.b&lt;br /&gt;
prompt&lt;br /&gt;
timeout=50&lt;br /&gt;
linear&lt;br /&gt;
default=slackware-10.1&lt;br /&gt;
&lt;br /&gt;
image=/boot/bzImage-2.4.29&lt;br /&gt;
    label=slackware-10.1&lt;br /&gt;
    inirtd=/boot/initrd&lt;br /&gt;
    read-only&lt;br /&gt;
    root=/dev/hdc2&lt;br /&gt;
    append=&amp;quot;hdd=noprobe&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO version 22.5.9, as installed with Slackware 10.1, complains about the &amp;lt;tt&amp;gt;linear&amp;lt;/tt&amp;gt;&lt;br /&gt;
option, but there is no immediate need to take it out; it's always been there and it's always worked.&lt;br /&gt;
{{path|/dev/hda}} isn't bigger than 8.4GB, so using &amp;lt;tt&amp;gt;lba32&amp;lt;/tt&amp;gt; instead wouldn't gain anything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;append=&amp;quot;hdd=noprobe&amp;quot;&amp;lt;/tt&amp;gt; prevents the IDE driver probing for a slave device&lt;br /&gt;
on the second IDE interface (the other PCMCIA slot); nothing bad happens if the probe takes place, but the boot&lt;br /&gt;
process hangs for a few seconds. We know there's nothing there, so there's no point looking.&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23544</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23544"/>
		<updated>2006-07-24T23:03:57Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Kernel configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
''These instructions are intended for use with kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], and not with any of the kernels included with the Slackware 10.1 distribution.''&lt;br /&gt;
&lt;br /&gt;
The stock kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Compile the kernel and modules (overnight, probably :-) and copy the kernel to&lt;br /&gt;
{{path|/boot/bzImage-2.4.29}}. Install the modules in {{path|/lib/modules/2.4.29}}. Reinstall&lt;br /&gt;
the &amp;lt;tt&amp;gt;hostap&amp;lt;/tt&amp;gt; modules if {{cmdroot|make modules_install}} removes them.&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order{{footnote|1}}.&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23543</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23543"/>
		<updated>2006-07-24T23:01:43Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Boot sequence */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
''These instructions are intended for use with kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], and not with any of the kernels included with the Slackware 10.1 distribution.''&lt;br /&gt;
&lt;br /&gt;
The stock kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
Booting with {{path|/}} on a PCMCIA device is a bit tricky. There are two ways to do it:&lt;br /&gt;
&lt;br /&gt;
# Add &amp;quot;PCMCIA&amp;quot; to the start-up disk choices in the BIOS, or&amp;lt;/li&amp;gt;&lt;br /&gt;
# Use an initial ram disk to load the pcmcia modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option is easier -- the BIOS takes over the slot with the Microdrive in, and the other&lt;br /&gt;
one is free for other devices. This works for booting, but the BIOS doesn't seem to be able to wake&lt;br /&gt;
the disk up after a suspend-resume cycle. It used to work with the original type III PCMCIA&lt;br /&gt;
disk, so it seems the Microdrive needs to be prodded in a different way to revive it.&lt;br /&gt;
&lt;br /&gt;
The solution is to create a PCMCIA-aware &amp;lt;tt&amp;gt;initrd&amp;lt;/tt&amp;gt; to initialise the PCMCIA controller&lt;br /&gt;
before {{path|/}} is mounted.  {{path|/sbin/pcinitrd}}, part of the &amp;lt;tt&amp;gt;pcmcia-cs&amp;lt;/tt&amp;gt;&lt;br /&gt;
package, will do most of the work. The ramdisk it creates uses &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; to execute {{path|/linuxrc}},&lt;br /&gt;
so make sure &amp;lt;tt&amp;gt;ash&amp;lt;/tt&amp;gt; is installed before running &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
The ramdisk created by &amp;lt;tt&amp;gt;pcinitrd&amp;lt;/tt&amp;gt; isn't quite complete; add the missing libraries&lt;br /&gt;
and binaries like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@carrot:~# /sbin/pcinitrd initrd&lt;br /&gt;
2400+0 records in&lt;br /&gt;
2400+0 records out&lt;br /&gt;
mke2fs 1.35 (28-Feb-2004)&lt;br /&gt;
1836K/2357K used&lt;br /&gt;
root@carrot:~# mount -o loop initrd /mnt/&lt;br /&gt;
root@carrot:~# cp /sbin/insmod.old /mnt/bin/&lt;br /&gt;
root@carrot:~# cp /lib/libblkid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/libuuid.so.1 /mnt/lib/&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/pcmcia/i82365.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# cp /lib/modules/2.4.29/kernel/drivers/ide/legacy/ide-cs.o /mnt/lib/pcmcia&lt;br /&gt;
root@carrot:~# ldconfig -v -r /mnt&lt;br /&gt;
ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory&lt;br /&gt;
ldconfig: Can't stat /usr/lib: No such file or directory&lt;br /&gt;
/lib:&lt;br /&gt;
  libuuid.so.1 -&amp;gt; libuuid.so.1&lt;br /&gt;
  libblkid.so.1 -&amp;gt; libblkid.so.1&lt;br /&gt;
  ld-linux.so.2 -&amp;gt; ld-linux.so.2&lt;br /&gt;
  libc.so.6 -&amp;gt; libc.so.6&lt;br /&gt;
root@carrot:~# umount /mnt/&lt;br /&gt;
root@carrot:~# gzip initrd&lt;br /&gt;
root@carrot:~# cp initrd.gz /boot/initrd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the [http://www.basterfield.com/pc110/bios/startup.htm BIOS startup&lt;br /&gt;
sequence] to &amp;quot;FDD-1&amp;quot;, &amp;quot;HDD-1&amp;quot;, in that order{{footnote|1}}.&lt;br /&gt;
{{path|/boot}} is mounted on {{path|/dev/hda1}}, the 4MB internal flash disk (Hard&lt;br /&gt;
disk 1 in the BIOS).&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=PC110Kernel2429Config&amp;diff=23542</id>
		<title>PC110Kernel2429Config</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=PC110Kernel2429Config&amp;diff=23542"/>
		<updated>2006-07-24T22:53:25Z</updated>

		<summary type="html">&lt;p&gt;Ed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Automatically generated make config: don't edit&lt;br /&gt;
#&lt;br /&gt;
CONFIG_X86=y&lt;br /&gt;
# CONFIG_SBUS is not set&lt;br /&gt;
CONFIG_UID16=y&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Code maturity level options&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_EXPERIMENTAL is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Loadable module support&lt;br /&gt;
#&lt;br /&gt;
CONFIG_MODULES=y&lt;br /&gt;
CONFIG_MODVERSIONS=y&lt;br /&gt;
CONFIG_KMOD=y&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Processor type and features&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_M386 is not set&lt;br /&gt;
CONFIG_M486=y&lt;br /&gt;
# CONFIG_M586 is not set&lt;br /&gt;
# CONFIG_M586TSC is not set&lt;br /&gt;
# CONFIG_M586MMX is not set&lt;br /&gt;
# CONFIG_M686 is not set&lt;br /&gt;
# CONFIG_MPENTIUMIII is not set&lt;br /&gt;
# CONFIG_MPENTIUM4 is not set&lt;br /&gt;
# CONFIG_MK6 is not set&lt;br /&gt;
# CONFIG_MK7 is not set&lt;br /&gt;
# CONFIG_MK8 is not set&lt;br /&gt;
# CONFIG_MELAN is not set&lt;br /&gt;
# CONFIG_MCRUSOE is not set&lt;br /&gt;
# CONFIG_MWINCHIPC6 is not set&lt;br /&gt;
# CONFIG_MWINCHIP2 is not set&lt;br /&gt;
# CONFIG_MWINCHIP3D is not set&lt;br /&gt;
# CONFIG_MCYRIXIII is not set&lt;br /&gt;
# CONFIG_MVIAC3_2 is not set&lt;br /&gt;
CONFIG_X86_WP_WORKS_OK=y&lt;br /&gt;
CONFIG_X86_INVLPG=y&lt;br /&gt;
CONFIG_X86_CMPXCHG=y&lt;br /&gt;
CONFIG_X86_XADD=y&lt;br /&gt;
CONFIG_X86_BSWAP=y&lt;br /&gt;
CONFIG_X86_POPAD_OK=y&lt;br /&gt;
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set&lt;br /&gt;
CONFIG_RWSEM_XCHGADD_ALGORITHM=y&lt;br /&gt;
# CONFIG_X86_HAS_TSC is not set&lt;br /&gt;
CONFIG_X86_L1_CACHE_SHIFT=4&lt;br /&gt;
CONFIG_X86_USE_STRING_486=y&lt;br /&gt;
CONFIG_X86_ALIGNMENT_16=y&lt;br /&gt;
CONFIG_X86_PPRO_FENCE=y&lt;br /&gt;
# CONFIG_X86_F00F_WORKS_OK is not set&lt;br /&gt;
# CONFIG_X86_MCE is not set&lt;br /&gt;
# CONFIG_TOSHIBA is not set&lt;br /&gt;
# CONFIG_I8K is not set&lt;br /&gt;
# CONFIG_MICROCODE is not set&lt;br /&gt;
# CONFIG_X86_MSR is not set&lt;br /&gt;
# CONFIG_X86_CPUID is not set&lt;br /&gt;
CONFIG_NOHIGHMEM=y&lt;br /&gt;
# CONFIG_HIGHMEM4G is not set&lt;br /&gt;
# CONFIG_HIGHMEM64G is not set&lt;br /&gt;
# CONFIG_HIGHMEM is not set&lt;br /&gt;
CONFIG_MATH_EMULATION=y&lt;br /&gt;
# CONFIG_MTRR is not set&lt;br /&gt;
# CONFIG_SMP is not set&lt;br /&gt;
# CONFIG_X86_UP_APIC is not set&lt;br /&gt;
# CONFIG_X86_UP_IOAPIC is not set&lt;br /&gt;
# CONFIG_X86_TSC_DISABLE is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# General setup&lt;br /&gt;
#&lt;br /&gt;
CONFIG_NET=y&lt;br /&gt;
# CONFIG_PCI is not set&lt;br /&gt;
CONFIG_ISA=y&lt;br /&gt;
# CONFIG_EISA is not set&lt;br /&gt;
# CONFIG_MCA is not set&lt;br /&gt;
CONFIG_HOTPLUG=y&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# PCMCIA/CardBus support&lt;br /&gt;
#&lt;br /&gt;
CONFIG_PCMCIA=m&lt;br /&gt;
# CONFIG_TCIC is not set&lt;br /&gt;
# CONFIG_I82092 is not set&lt;br /&gt;
CONFIG_I82365=y&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# PCI Hotplug Support&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_HOTPLUG_PCI is not set&lt;br /&gt;
# CONFIG_HOTPLUG_PCI_COMPAQ is not set&lt;br /&gt;
# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set&lt;br /&gt;
# CONFIG_HOTPLUG_PCI_SHPC is not set&lt;br /&gt;
# CONFIG_HOTPLUG_PCI_SHPC_POLL_EVENT_MODE is not set&lt;br /&gt;
# CONFIG_HOTPLUG_PCI_SHPC_PHPRM_LEGACY is not set&lt;br /&gt;
# CONFIG_HOTPLUG_PCI_PCIE is not set&lt;br /&gt;
# CONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE is not set&lt;br /&gt;
CONFIG_SYSVIPC=y&lt;br /&gt;
CONFIG_BSD_PROCESS_ACCT=y&lt;br /&gt;
CONFIG_SYSCTL=y&lt;br /&gt;
CONFIG_KCORE_ELF=y&lt;br /&gt;
# CONFIG_KCORE_AOUT is not set&lt;br /&gt;
CONFIG_BINFMT_AOUT=m&lt;br /&gt;
CONFIG_BINFMT_ELF=y&lt;br /&gt;
CONFIG_BINFMT_MISC=m&lt;br /&gt;
# CONFIG_OOM_KILLER is not set&lt;br /&gt;
CONFIG_PM=y&lt;br /&gt;
CONFIG_APM=y&lt;br /&gt;
# CONFIG_APM_IGNORE_USER_SUSPEND is not set&lt;br /&gt;
CONFIG_APM_DO_ENABLE=y&lt;br /&gt;
CONFIG_APM_CPU_IDLE=y&lt;br /&gt;
# CONFIG_APM_DISPLAY_BLANK is not set&lt;br /&gt;
CONFIG_APM_RTC_IS_GMT=y&lt;br /&gt;
CONFIG_APM_ALLOW_INTS=y&lt;br /&gt;
# CONFIG_APM_REAL_MODE_POWER_OFF is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ACPI Support&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_ACPI is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Memory Technology Devices (MTD)&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_MTD is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Parallel port support&lt;br /&gt;
#&lt;br /&gt;
CONFIG_PARPORT=m&lt;br /&gt;
CONFIG_PARPORT_PC=m&lt;br /&gt;
CONFIG_PARPORT_PC_CML1=m&lt;br /&gt;
# CONFIG_PARPORT_SERIAL is not set&lt;br /&gt;
# CONFIG_PARPORT_PC_PCMCIA is not set&lt;br /&gt;
# CONFIG_PARPORT_AMIGA is not set&lt;br /&gt;
# CONFIG_PARPORT_MFC3 is not set&lt;br /&gt;
# CONFIG_PARPORT_ATARI is not set&lt;br /&gt;
# CONFIG_PARPORT_GSC is not set&lt;br /&gt;
# CONFIG_PARPORT_SUNBPP is not set&lt;br /&gt;
# CONFIG_PARPORT_IP22 is not set&lt;br /&gt;
# CONFIG_PARPORT_OTHER is not set&lt;br /&gt;
CONFIG_PARPORT_1284=y&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Plug and Play configuration&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_PNP is not set&lt;br /&gt;
# CONFIG_ISAPNP is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Block devices&lt;br /&gt;
#&lt;br /&gt;
CONFIG_BLK_DEV_FD=m&lt;br /&gt;
# CONFIG_BLK_DEV_XD is not set&lt;br /&gt;
# CONFIG_PARIDE is not set&lt;br /&gt;
# CONFIG_BLK_CPQ_DA is not set&lt;br /&gt;
# CONFIG_BLK_CPQ_CISS_DA is not set&lt;br /&gt;
# CONFIG_CISS_SCSI_TAPE is not set&lt;br /&gt;
# CONFIG_CISS_MONITOR_THREAD is not set&lt;br /&gt;
# CONFIG_BLK_DEV_DAC960 is not set&lt;br /&gt;
# CONFIG_BLK_DEV_UMEM is not set&lt;br /&gt;
# CONFIG_BLK_DEV_SX8 is not set&lt;br /&gt;
CONFIG_BLK_DEV_LOOP=m&lt;br /&gt;
# CONFIG_BLK_DEV_NBD is not set&lt;br /&gt;
CONFIG_BLK_DEV_RAM=y&lt;br /&gt;
CONFIG_BLK_DEV_RAM_SIZE=4096&lt;br /&gt;
CONFIG_BLK_DEV_INITRD=y&lt;br /&gt;
# CONFIG_BLK_STATS is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Multi-device support (RAID and LVM)&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_MD is not set&lt;br /&gt;
# CONFIG_BLK_DEV_MD is not set&lt;br /&gt;
# CONFIG_MD_LINEAR is not set&lt;br /&gt;
# CONFIG_MD_RAID0 is not set&lt;br /&gt;
# CONFIG_MD_RAID1 is not set&lt;br /&gt;
# CONFIG_MD_RAID5 is not set&lt;br /&gt;
# CONFIG_MD_MULTIPATH is not set&lt;br /&gt;
# CONFIG_BLK_DEV_LVM is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Networking options&lt;br /&gt;
#&lt;br /&gt;
CONFIG_PACKET=y&lt;br /&gt;
# CONFIG_PACKET_MMAP is not set&lt;br /&gt;
# CONFIG_NETLINK_DEV is not set&lt;br /&gt;
# CONFIG_NETFILTER is not set&lt;br /&gt;
# CONFIG_FILTER is not set&lt;br /&gt;
CONFIG_UNIX=y&lt;br /&gt;
CONFIG_INET=y&lt;br /&gt;
CONFIG_IP_MULTICAST=y&lt;br /&gt;
# CONFIG_IP_ADVANCED_ROUTER is not set&lt;br /&gt;
# CONFIG_IP_PNP is not set&lt;br /&gt;
# CONFIG_NET_IPIP is not set&lt;br /&gt;
# CONFIG_NET_IPGRE is not set&lt;br /&gt;
# CONFIG_IP_MROUTE is not set&lt;br /&gt;
# CONFIG_INET_ECN is not set&lt;br /&gt;
# CONFIG_SYN_COOKIES is not set&lt;br /&gt;
# CONFIG_VLAN_8021Q is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
#  &lt;br /&gt;
#&lt;br /&gt;
# CONFIG_IPX is not set&lt;br /&gt;
# CONFIG_ATALK is not set&lt;br /&gt;
# CONFIG_DECNET is not set&lt;br /&gt;
# CONFIG_BRIDGE is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# QoS and/or fair queueing&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_NET_SCHED is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Network testing&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_NET_PKTGEN is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Telephony Support&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_PHONE is not set&lt;br /&gt;
# CONFIG_PHONE_IXJ is not set&lt;br /&gt;
# CONFIG_PHONE_IXJ_PCMCIA is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ATA/IDE/MFM/RLL support&lt;br /&gt;
#&lt;br /&gt;
CONFIG_IDE=y&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# IDE, ATA and ATAPI Block devices&lt;br /&gt;
#&lt;br /&gt;
CONFIG_BLK_DEV_IDE=y&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Please see Documentation/ide.txt for help/info on IDE drives&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_BLK_DEV_HD_IDE is not set&lt;br /&gt;
# CONFIG_BLK_DEV_HD is not set&lt;br /&gt;
# CONFIG_BLK_DEV_IDE_SATA is not set&lt;br /&gt;
CONFIG_BLK_DEV_IDEDISK=y&lt;br /&gt;
# CONFIG_IDEDISK_MULTI_MODE is not set&lt;br /&gt;
# CONFIG_IDEDISK_STROKE is not set&lt;br /&gt;
CONFIG_BLK_DEV_IDECS=m&lt;br /&gt;
# CONFIG_BLK_DEV_DELKIN is not set&lt;br /&gt;
# CONFIG_BLK_DEV_IDECD is not set&lt;br /&gt;
# CONFIG_BLK_DEV_IDETAPE is not set&lt;br /&gt;
# CONFIG_BLK_DEV_IDEFLOPPY is not set&lt;br /&gt;
# CONFIG_BLK_DEV_IDESCSI is not set&lt;br /&gt;
# CONFIG_IDE_TASK_IOCTL is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# IDE chipset support/bugfixes&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_BLK_DEV_CMD640 is not set&lt;br /&gt;
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set&lt;br /&gt;
# CONFIG_BLK_DEV_ISAPNP is not set&lt;br /&gt;
# CONFIG_IDE_CHIPSETS is not set&lt;br /&gt;
# CONFIG_IDEDMA_AUTO is not set&lt;br /&gt;
# CONFIG_DMA_NONPCI is not set&lt;br /&gt;
# CONFIG_BLK_DEV_ATARAID is not set&lt;br /&gt;
# CONFIG_BLK_DEV_ATARAID_PDC is not set&lt;br /&gt;
# CONFIG_BLK_DEV_ATARAID_HPT is not set&lt;br /&gt;
# CONFIG_BLK_DEV_ATARAID_MEDLEY is not set&lt;br /&gt;
# CONFIG_BLK_DEV_ATARAID_SII is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# SCSI support&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_SCSI is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Fusion MPT device support&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_FUSION is not set&lt;br /&gt;
# CONFIG_FUSION_BOOT is not set&lt;br /&gt;
# CONFIG_FUSION_ISENSE is not set&lt;br /&gt;
# CONFIG_FUSION_CTL is not set&lt;br /&gt;
# CONFIG_FUSION_LAN is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# I2O device support&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_I2O is not set&lt;br /&gt;
# CONFIG_I2O_BLOCK is not set&lt;br /&gt;
# CONFIG_I2O_LAN is not set&lt;br /&gt;
# CONFIG_I2O_SCSI is not set&lt;br /&gt;
# CONFIG_I2O_PROC is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Network device support&lt;br /&gt;
#&lt;br /&gt;
CONFIG_NETDEVICES=y&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ARCnet devices&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_ARCNET is not set&lt;br /&gt;
CONFIG_DUMMY=m&lt;br /&gt;
# CONFIG_BONDING is not set&lt;br /&gt;
# CONFIG_EQUALIZER is not set&lt;br /&gt;
# CONFIG_TUN is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Ethernet (10 or 100Mbit)&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_NET_ETHERNET is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Ethernet (1000 Mbit)&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_ACENIC is not set&lt;br /&gt;
# CONFIG_DL2K is not set&lt;br /&gt;
# CONFIG_E1000 is not set&lt;br /&gt;
# CONFIG_MYRI_SBUS is not set&lt;br /&gt;
# CONFIG_NS83820 is not set&lt;br /&gt;
# CONFIG_HAMACHI is not set&lt;br /&gt;
# CONFIG_YELLOWFIN is not set&lt;br /&gt;
# CONFIG_R8169 is not set&lt;br /&gt;
# CONFIG_SK98LIN is not set&lt;br /&gt;
# CONFIG_TIGON3 is not set&lt;br /&gt;
# CONFIG_FDDI is not set&lt;br /&gt;
CONFIG_PLIP=m&lt;br /&gt;
# CONFIG_PPP is not set&lt;br /&gt;
# CONFIG_SLIP is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Wireless LAN (non-hamradio)&lt;br /&gt;
#&lt;br /&gt;
CONFIG_NET_RADIO=y&lt;br /&gt;
CONFIG_STRIP=m&lt;br /&gt;
CONFIG_WAVELAN=m&lt;br /&gt;
CONFIG_ARLAN=m&lt;br /&gt;
CONFIG_AIRONET4500=m&lt;br /&gt;
# CONFIG_AIRONET4500_NONCS is not set&lt;br /&gt;
# CONFIG_AIRONET4500_PROC is not set&lt;br /&gt;
# CONFIG_AIRO is not set&lt;br /&gt;
CONFIG_HERMES=m&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Wireless Pcmcia cards support&lt;br /&gt;
#&lt;br /&gt;
CONFIG_PCMCIA_HERMES=m&lt;br /&gt;
CONFIG_AIRO_CS=m&lt;br /&gt;
CONFIG_PCMCIA_ATMEL=m&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Prism54 PCI/PCMCIA GT/Duette Driver - 802.11(a/b/g)&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_PRISM54 is not set&lt;br /&gt;
CONFIG_NET_WIRELESS=y&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Token Ring devices&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_TR is not set&lt;br /&gt;
# CONFIG_NET_FC is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Wan interfaces&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_WAN is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# PCMCIA network device support&lt;br /&gt;
#&lt;br /&gt;
CONFIG_NET_PCMCIA=y&lt;br /&gt;
CONFIG_PCMCIA_3C589=m&lt;br /&gt;
# CONFIG_PCMCIA_3C574 is not set&lt;br /&gt;
# CONFIG_PCMCIA_FMVJ18X is not set&lt;br /&gt;
# CONFIG_PCMCIA_PCNET is not set&lt;br /&gt;
# CONFIG_PCMCIA_AXNET is not set&lt;br /&gt;
# CONFIG_PCMCIA_NMCLAN is not set&lt;br /&gt;
# CONFIG_PCMCIA_SMC91C92 is not set&lt;br /&gt;
# CONFIG_PCMCIA_XIRC2PS is not set&lt;br /&gt;
# CONFIG_ARCNET_COM20020_CS is not set&lt;br /&gt;
# CONFIG_PCMCIA_IBMTR is not set&lt;br /&gt;
CONFIG_NET_PCMCIA_RADIO=y&lt;br /&gt;
CONFIG_PCMCIA_RAYCS=m&lt;br /&gt;
CONFIG_PCMCIA_NETWAVE=m&lt;br /&gt;
CONFIG_PCMCIA_WAVELAN=m&lt;br /&gt;
CONFIG_AIRONET4500_CS=m&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Amateur Radio support&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_HAMRADIO is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# IrDA (infrared) support&lt;br /&gt;
#&lt;br /&gt;
CONFIG_IRDA=m&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# IrDA protocols&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_IRLAN is not set&lt;br /&gt;
# CONFIG_IRNET is not set&lt;br /&gt;
CONFIG_IRCOMM=m&lt;br /&gt;
# CONFIG_IRDA_ULTRA is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# IrDA options&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_IRDA_CACHE_LAST_LSAP is not set&lt;br /&gt;
# CONFIG_IRDA_FAST_RR is not set&lt;br /&gt;
# CONFIG_IRDA_DEBUG is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Infrared-port device drivers&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# SIR device drivers&lt;br /&gt;
#&lt;br /&gt;
CONFIG_IRTTY_SIR=m&lt;br /&gt;
# CONFIG_IRPORT_SIR is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Dongle support&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_DONGLE is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# FIR device drivers&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_USB_IRDA is not set&lt;br /&gt;
# CONFIG_NSC_FIR is not set&lt;br /&gt;
# CONFIG_WINBOND_FIR is not set&lt;br /&gt;
# CONFIG_TOSHIBA_OLD is not set&lt;br /&gt;
# CONFIG_TOSHIBA_FIR is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ISDN subsystem&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_ISDN is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Old CD-ROM drivers (not SCSI, not IDE)&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_CD_NO_IDESCSI is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Input core support&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_INPUT is not set&lt;br /&gt;
# CONFIG_INPUT_KEYBDEV is not set&lt;br /&gt;
# CONFIG_INPUT_MOUSEDEV is not set&lt;br /&gt;
# CONFIG_INPUT_JOYDEV is not set&lt;br /&gt;
# CONFIG_INPUT_EVDEV is not set&lt;br /&gt;
# CONFIG_INPUT_UINPUT is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Character devices&lt;br /&gt;
#&lt;br /&gt;
CONFIG_VT=y&lt;br /&gt;
CONFIG_VT_CONSOLE=y&lt;br /&gt;
CONFIG_SERIAL=m&lt;br /&gt;
# CONFIG_SERIAL_EXTENDED is not set&lt;br /&gt;
# CONFIG_SERIAL_NONSTANDARD is not set&lt;br /&gt;
CONFIG_UNIX98_PTYS=y&lt;br /&gt;
CONFIG_UNIX98_PTY_COUNT=256&lt;br /&gt;
CONFIG_PRINTER=m&lt;br /&gt;
# CONFIG_LP_CONSOLE is not set&lt;br /&gt;
# CONFIG_PPDEV is not set&lt;br /&gt;
# CONFIG_TIPAR is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# I2C support&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_I2C is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Mice&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_BUSMOUSE is not set&lt;br /&gt;
CONFIG_MOUSE=y&lt;br /&gt;
CONFIG_PSMOUSE=y&lt;br /&gt;
# CONFIG_82C710_MOUSE is not set&lt;br /&gt;
CONFIG_PC110_PAD=m&lt;br /&gt;
# CONFIG_MK712_MOUSE is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Joysticks&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_INPUT_GAMEPORT is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Input core support is needed for gameports&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Input core support is needed for joysticks&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_QIC02_TAPE is not set&lt;br /&gt;
# CONFIG_IPMI_HANDLER is not set&lt;br /&gt;
# CONFIG_IPMI_PANIC_EVENT is not set&lt;br /&gt;
# CONFIG_IPMI_DEVICE_INTERFACE is not set&lt;br /&gt;
# CONFIG_IPMI_KCS is not set&lt;br /&gt;
# CONFIG_IPMI_WATCHDOG is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Watchdog Cards&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_WATCHDOG is not set&lt;br /&gt;
# CONFIG_SCx200 is not set&lt;br /&gt;
# CONFIG_SCx200_GPIO is not set&lt;br /&gt;
# CONFIG_AMD_RNG is not set&lt;br /&gt;
# CONFIG_INTEL_RNG is not set&lt;br /&gt;
# CONFIG_HW_RANDOM is not set&lt;br /&gt;
# CONFIG_AMD_PM768 is not set&lt;br /&gt;
# CONFIG_NVRAM is not set&lt;br /&gt;
CONFIG_RTC=y&lt;br /&gt;
# CONFIG_DTLK is not set&lt;br /&gt;
# CONFIG_R3964 is not set&lt;br /&gt;
# CONFIG_APPLICOM is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Ftape, the floppy tape device driver&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_FTAPE is not set&lt;br /&gt;
# CONFIG_AGP is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Direct Rendering Manager (XFree86 DRI support)&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_DRM is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# PCMCIA character devices&lt;br /&gt;
#&lt;br /&gt;
CONFIG_PCMCIA_SERIAL_CS=m&lt;br /&gt;
# CONFIG_SYNCLINK_CS is not set&lt;br /&gt;
# CONFIG_MWAVE is not set&lt;br /&gt;
# CONFIG_OBMOUSE is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Multimedia devices&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_VIDEO_DEV is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# File systems&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_QUOTA is not set&lt;br /&gt;
# CONFIG_QFMT_V2 is not set&lt;br /&gt;
# CONFIG_AUTOFS_FS is not set&lt;br /&gt;
CONFIG_AUTOFS4_FS=y&lt;br /&gt;
# CONFIG_REISERFS_FS is not set&lt;br /&gt;
# CONFIG_REISERFS_CHECK is not set&lt;br /&gt;
# CONFIG_REISERFS_PROC_INFO is not set&lt;br /&gt;
# CONFIG_ADFS_FS is not set&lt;br /&gt;
# CONFIG_ADFS_FS_RW is not set&lt;br /&gt;
# CONFIG_AFFS_FS is not set&lt;br /&gt;
# CONFIG_HFS_FS is not set&lt;br /&gt;
# CONFIG_HFSPLUS_FS is not set&lt;br /&gt;
# CONFIG_BEFS_FS is not set&lt;br /&gt;
# CONFIG_BEFS_DEBUG is not set&lt;br /&gt;
# CONFIG_BFS_FS is not set&lt;br /&gt;
CONFIG_EXT3_FS=y&lt;br /&gt;
CONFIG_JBD=y&lt;br /&gt;
# CONFIG_JBD_DEBUG is not set&lt;br /&gt;
CONFIG_FAT_FS=m&lt;br /&gt;
CONFIG_MSDOS_FS=m&lt;br /&gt;
# CONFIG_UMSDOS_FS is not set&lt;br /&gt;
CONFIG_VFAT_FS=m&lt;br /&gt;
# CONFIG_EFS_FS is not set&lt;br /&gt;
# CONFIG_JFFS_FS is not set&lt;br /&gt;
# CONFIG_JFFS2_FS is not set&lt;br /&gt;
# CONFIG_CRAMFS is not set&lt;br /&gt;
# CONFIG_TMPFS is not set&lt;br /&gt;
CONFIG_RAMFS=y&lt;br /&gt;
CONFIG_ISO9660_FS=m&lt;br /&gt;
CONFIG_JOLIET=y&lt;br /&gt;
# CONFIG_ZISOFS is not set&lt;br /&gt;
# CONFIG_JFS_FS is not set&lt;br /&gt;
# CONFIG_JFS_DEBUG is not set&lt;br /&gt;
# CONFIG_JFS_STATISTICS is not set&lt;br /&gt;
# CONFIG_MINIX_FS is not set&lt;br /&gt;
# CONFIG_VXFS_FS is not set&lt;br /&gt;
# CONFIG_NTFS_FS is not set&lt;br /&gt;
# CONFIG_NTFS_RW is not set&lt;br /&gt;
# CONFIG_HPFS_FS is not set&lt;br /&gt;
CONFIG_PROC_FS=y&lt;br /&gt;
# CONFIG_DEVFS_FS is not set&lt;br /&gt;
# CONFIG_DEVFS_MOUNT is not set&lt;br /&gt;
# CONFIG_DEVFS_DEBUG is not set&lt;br /&gt;
CONFIG_DEVPTS_FS=y&lt;br /&gt;
# CONFIG_QNX4FS_FS is not set&lt;br /&gt;
# CONFIG_QNX4FS_RW is not set&lt;br /&gt;
# CONFIG_ROMFS_FS is not set&lt;br /&gt;
CONFIG_EXT2_FS=y&lt;br /&gt;
# CONFIG_SYSV_FS is not set&lt;br /&gt;
# CONFIG_UDF_FS is not set&lt;br /&gt;
# CONFIG_UDF_RW is not set&lt;br /&gt;
# CONFIG_UFS_FS is not set&lt;br /&gt;
# CONFIG_UFS_FS_WRITE is not set&lt;br /&gt;
# CONFIG_XFS_FS is not set&lt;br /&gt;
# CONFIG_XFS_QUOTA is not set&lt;br /&gt;
# CONFIG_XFS_RT is not set&lt;br /&gt;
# CONFIG_XFS_TRACE is not set&lt;br /&gt;
# CONFIG_XFS_DEBUG is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Network File Systems&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_CODA_FS is not set&lt;br /&gt;
# CONFIG_INTERMEZZO_FS is not set&lt;br /&gt;
CONFIG_NFS_FS=y&lt;br /&gt;
CONFIG_NFS_V3=y&lt;br /&gt;
# CONFIG_NFS_DIRECTIO is not set&lt;br /&gt;
# CONFIG_ROOT_NFS is not set&lt;br /&gt;
CONFIG_NFSD=y&lt;br /&gt;
CONFIG_NFSD_V3=y&lt;br /&gt;
CONFIG_NFSD_TCP=y&lt;br /&gt;
CONFIG_SUNRPC=y&lt;br /&gt;
CONFIG_LOCKD=y&lt;br /&gt;
CONFIG_LOCKD_V4=y&lt;br /&gt;
# CONFIG_SMB_FS is not set&lt;br /&gt;
# CONFIG_NCP_FS is not set&lt;br /&gt;
# CONFIG_NCPFS_PACKET_SIGNING is not set&lt;br /&gt;
# CONFIG_NCPFS_IOCTL_LOCKING is not set&lt;br /&gt;
# CONFIG_NCPFS_STRONG is not set&lt;br /&gt;
# CONFIG_NCPFS_NFS_NS is not set&lt;br /&gt;
# CONFIG_NCPFS_OS2_NS is not set&lt;br /&gt;
# CONFIG_NCPFS_SMALLDOS is not set&lt;br /&gt;
# CONFIG_NCPFS_NLS is not set&lt;br /&gt;
# CONFIG_NCPFS_EXTRAS is not set&lt;br /&gt;
# CONFIG_ZISOFS_FS is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Partition Types&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_PARTITION_ADVANCED is not set&lt;br /&gt;
CONFIG_MSDOS_PARTITION=y&lt;br /&gt;
# CONFIG_SMB_NLS is not set&lt;br /&gt;
CONFIG_NLS=y&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Native Language Support&lt;br /&gt;
#&lt;br /&gt;
CONFIG_NLS_DEFAULT=&amp;quot;iso8859-1&amp;quot;&lt;br /&gt;
CONFIG_NLS_CODEPAGE_437=m&lt;br /&gt;
# CONFIG_NLS_CODEPAGE_737 is not set&lt;br /&gt;
# CONFIG_NLS_CODEPAGE_775 is not set&lt;br /&gt;
CONFIG_NLS_CODEPAGE_850=m&lt;br /&gt;
CONFIG_NLS_CODEPAGE_852=m&lt;br /&gt;
# CONFIG_NLS_CODEPAGE_855 is not set&lt;br /&gt;
# CONFIG_NLS_CODEPAGE_857 is not set&lt;br /&gt;
# CONFIG_NLS_CODEPAGE_860 is not set&lt;br /&gt;
# CONFIG_NLS_CODEPAGE_861 is not set&lt;br /&gt;
# CONFIG_NLS_CODEPAGE_862 is not set&lt;br /&gt;
# CONFIG_NLS_CODEPAGE_863 is not set&lt;br /&gt;
# CONFIG_NLS_CODEPAGE_864 is not set&lt;br /&gt;
# CONFIG_NLS_CODEPAGE_865 is not set&lt;br /&gt;
# CONFIG_NLS_CODEPAGE_866 is not set&lt;br /&gt;
# CONFIG_NLS_CODEPAGE_869 is not set&lt;br /&gt;
# CONFIG_NLS_CODEPAGE_936 is not set&lt;br /&gt;
# CONFIG_NLS_CODEPAGE_950 is not set&lt;br /&gt;
# CONFIG_NLS_CODEPAGE_932 is not set&lt;br /&gt;
# CONFIG_NLS_CODEPAGE_949 is not set&lt;br /&gt;
# CONFIG_NLS_CODEPAGE_874 is not set&lt;br /&gt;
# CONFIG_NLS_ISO8859_8 is not set&lt;br /&gt;
CONFIG_NLS_CODEPAGE_1250=m&lt;br /&gt;
# CONFIG_NLS_CODEPAGE_1251 is not set&lt;br /&gt;
CONFIG_NLS_ISO8859_1=m&lt;br /&gt;
CONFIG_NLS_ISO8859_2=m&lt;br /&gt;
# CONFIG_NLS_ISO8859_3 is not set&lt;br /&gt;
# CONFIG_NLS_ISO8859_4 is not set&lt;br /&gt;
# CONFIG_NLS_ISO8859_5 is not set&lt;br /&gt;
# CONFIG_NLS_ISO8859_6 is not set&lt;br /&gt;
# CONFIG_NLS_ISO8859_7 is not set&lt;br /&gt;
# CONFIG_NLS_ISO8859_9 is not set&lt;br /&gt;
# CONFIG_NLS_ISO8859_13 is not set&lt;br /&gt;
# CONFIG_NLS_ISO8859_14 is not set&lt;br /&gt;
CONFIG_NLS_ISO8859_15=m&lt;br /&gt;
# CONFIG_NLS_KOI8_R is not set&lt;br /&gt;
# CONFIG_NLS_KOI8_U is not set&lt;br /&gt;
CONFIG_NLS_UTF8=m&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Console drivers&lt;br /&gt;
#&lt;br /&gt;
CONFIG_VGA_CONSOLE=y&lt;br /&gt;
# CONFIG_VIDEO_SELECT is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Sound&lt;br /&gt;
#&lt;br /&gt;
CONFIG_SOUND=y&lt;br /&gt;
# CONFIG_SOUND_ALI5455 is not set&lt;br /&gt;
# CONFIG_SOUND_BT878 is not set&lt;br /&gt;
# CONFIG_SOUND_CMPCI is not set&lt;br /&gt;
# CONFIG_SOUND_EMU10K1 is not set&lt;br /&gt;
# CONFIG_MIDI_EMU10K1 is not set&lt;br /&gt;
# CONFIG_SOUND_FUSION is not set&lt;br /&gt;
# CONFIG_SOUND_CS4281 is not set&lt;br /&gt;
# CONFIG_SOUND_ES1370 is not set&lt;br /&gt;
# CONFIG_SOUND_ES1371 is not set&lt;br /&gt;
# CONFIG_SOUND_ESSSOLO1 is not set&lt;br /&gt;
# CONFIG_SOUND_MAESTRO is not set&lt;br /&gt;
# CONFIG_SOUND_MAESTRO3 is not set&lt;br /&gt;
# CONFIG_SOUND_FORTE is not set&lt;br /&gt;
# CONFIG_SOUND_ICH is not set&lt;br /&gt;
# CONFIG_SOUND_RME96XX is not set&lt;br /&gt;
# CONFIG_SOUND_SONICVIBES is not set&lt;br /&gt;
# CONFIG_SOUND_TRIDENT is not set&lt;br /&gt;
# CONFIG_SOUND_MSNDCLAS is not set&lt;br /&gt;
# CONFIG_SOUND_MSNDPIN is not set&lt;br /&gt;
# CONFIG_SOUND_VIA82CXXX is not set&lt;br /&gt;
# CONFIG_MIDI_VIA82CXXX is not set&lt;br /&gt;
CONFIG_SOUND_OSS=m&lt;br /&gt;
# CONFIG_SOUND_TRACEINIT is not set&lt;br /&gt;
# CONFIG_SOUND_DMAP is not set&lt;br /&gt;
# CONFIG_SOUND_SGALAXY is not set&lt;br /&gt;
# CONFIG_SOUND_ADLIB is not set&lt;br /&gt;
# CONFIG_SOUND_ACI_MIXER is not set&lt;br /&gt;
# CONFIG_SOUND_CS4232 is not set&lt;br /&gt;
# CONFIG_SOUND_SSCAPE is not set&lt;br /&gt;
# CONFIG_SOUND_GUS is not set&lt;br /&gt;
# CONFIG_SOUND_VMIDI is not set&lt;br /&gt;
# CONFIG_SOUND_TRIX is not set&lt;br /&gt;
# CONFIG_SOUND_MSS is not set&lt;br /&gt;
CONFIG_SOUND_MPU401=m&lt;br /&gt;
# CONFIG_SOUND_NM256 is not set&lt;br /&gt;
# CONFIG_SOUND_MAD16 is not set&lt;br /&gt;
# CONFIG_SOUND_PAS is not set&lt;br /&gt;
# CONFIG_PAS_JOYSTICK is not set&lt;br /&gt;
# CONFIG_SOUND_PSS is not set&lt;br /&gt;
CONFIG_SOUND_SB=m&lt;br /&gt;
# CONFIG_SOUND_AWE32_SYNTH is not set&lt;br /&gt;
# CONFIG_SOUND_KAHLUA is not set&lt;br /&gt;
# CONFIG_SOUND_WAVEFRONT is not set&lt;br /&gt;
# CONFIG_SOUND_MAUI is not set&lt;br /&gt;
CONFIG_SOUND_YM3812=m&lt;br /&gt;
# CONFIG_SOUND_OPL3SA1 is not set&lt;br /&gt;
# CONFIG_SOUND_OPL3SA2 is not set&lt;br /&gt;
# CONFIG_SOUND_YMFPCI is not set&lt;br /&gt;
# CONFIG_SOUND_YMFPCI_LEGACY is not set&lt;br /&gt;
# CONFIG_SOUND_UART6850 is not set&lt;br /&gt;
# CONFIG_SOUND_AEDSP16 is not set&lt;br /&gt;
# CONFIG_SOUND_TVMIXER is not set&lt;br /&gt;
# CONFIG_SOUND_AD1980 is not set&lt;br /&gt;
# CONFIG_SOUND_WM97XX is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# USB support&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_USB is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Support for USB gadgets&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_USB_GADGET is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Bluetooth support&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_BLUEZ is not set&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Kernel hacking&lt;br /&gt;
#&lt;br /&gt;
# CONFIG_DEBUG_KERNEL is not set&lt;br /&gt;
CONFIG_LOG_BUF_SHIFT=0&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Cryptographic options&lt;br /&gt;
#&lt;br /&gt;
CONFIG_CRYPTO=y&lt;br /&gt;
CONFIG_CRYPTO_HMAC=y&lt;br /&gt;
CONFIG_CRYPTO_NULL=m&lt;br /&gt;
CONFIG_CRYPTO_MD4=m&lt;br /&gt;
CONFIG_CRYPTO_MD5=m&lt;br /&gt;
CONFIG_CRYPTO_SHA1=m&lt;br /&gt;
CONFIG_CRYPTO_SHA256=m&lt;br /&gt;
CONFIG_CRYPTO_SHA512=m&lt;br /&gt;
CONFIG_CRYPTO_WP512=m&lt;br /&gt;
CONFIG_CRYPTO_DES=m&lt;br /&gt;
CONFIG_CRYPTO_BLOWFISH=m&lt;br /&gt;
CONFIG_CRYPTO_TWOFISH=m&lt;br /&gt;
CONFIG_CRYPTO_SERPENT=m&lt;br /&gt;
CONFIG_CRYPTO_AES=m&lt;br /&gt;
CONFIG_CRYPTO_CAST5=m&lt;br /&gt;
CONFIG_CRYPTO_CAST6=m&lt;br /&gt;
CONFIG_CRYPTO_TEA=m&lt;br /&gt;
CONFIG_CRYPTO_KHAZAD=m&lt;br /&gt;
CONFIG_CRYPTO_ANUBIS=m&lt;br /&gt;
CONFIG_CRYPTO_ARC4=m&lt;br /&gt;
CONFIG_CRYPTO_DEFLATE=m&lt;br /&gt;
CONFIG_CRYPTO_MICHAEL_MIC=m&lt;br /&gt;
CONFIG_CRYPTO_TEST=m&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Library routines&lt;br /&gt;
#&lt;br /&gt;
CONFIG_CRC32=m&lt;br /&gt;
CONFIG_ZLIB_INFLATE=m&lt;br /&gt;
CONFIG_ZLIB_DEFLATE=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23541</id>
		<title>Installing Slackware 10.1 on a PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Slackware_10.1_on_a_PC110&amp;diff=23541"/>
		<updated>2006-07-24T22:53:16Z</updated>

		<summary type="html">&lt;p&gt;Ed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Kernel configuration==&lt;br /&gt;
&lt;br /&gt;
''These instructions are intended for use with kernel version [http://kernel.org/pub/linux/kernel/v2.4/linux-2.4.29.tar.bz2 2.4.29], and not with any of the kernels included with the Slackware 10.1 distribution.''&lt;br /&gt;
&lt;br /&gt;
The stock kernel requires [http://www.mail-archive.com/kbuild-devel@lists.sourceforge.net/msg02111.html a patch] before {{cmduser|make config}} will produce a configuration appropriate for an i486. Alternatively, skip the {{cmduser|make config}} stage and use [[PC110Kernel2429Config|this configuration]].&lt;br /&gt;
&lt;br /&gt;
==Boot sequence==&lt;br /&gt;
&lt;br /&gt;
=={{path|/etc/fstab}}==&lt;br /&gt;
&lt;br /&gt;
==PCMCIA configuration==&lt;br /&gt;
&lt;br /&gt;
==Network==&lt;br /&gt;
&lt;br /&gt;
==Setting the clock==&lt;br /&gt;
&lt;br /&gt;
==Keyboard map==&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
&lt;br /&gt;
==Serial ports==&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
==APM==&lt;br /&gt;
&lt;br /&gt;
==X.Org configuration==&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_PC110&amp;diff=23539</id>
		<title>Installation instructions for the PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_PC110&amp;diff=23539"/>
		<updated>2006-07-24T22:28:59Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Distro specific Instructions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Specific installation notes for the {{PC110}}.&lt;br /&gt;
&lt;br /&gt;
==General Notes==&lt;br /&gt;
&lt;br /&gt;
==Distro specific Instructions==&lt;br /&gt;
&lt;br /&gt;
[[Installing Slackware 10.1 on a PC110]]&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;br /&gt;
*[http://pc110.ro.nu/mailing.html &amp;quot;Linux on PC110&amp;quot; Mailing List Archive] &amp;lt;tt&amp;gt;(and subscription info)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://pc110.ro.nu/ Robin O'Learys &amp;quot;Linux on the PC110&amp;quot; pages]&lt;br /&gt;
*[http://www.geocities.com/SiliconValley/Peaks/1559/pc110faq.htm#54 Linux paragraph in Marco Schusters &amp;quot;PC110 Faq&amp;quot;]&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_save_memory&amp;diff=23472</id>
		<title>How to save memory</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_save_memory&amp;diff=23472"/>
		<updated>2006-07-23T20:41:47Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Window Manager */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |This page is meant as a collection of information on how to save memory to make Linux work reasonable on older system with limited amount of RAM.&lt;br /&gt;
&lt;br /&gt;
Most distributions nowadays don't take much care about it anymore, so there are a lot of things you can do to save memory. To get a smoothly working linux environment on a low memory machine you will need to conciously choose a lot of aspects of your system, most importantly the graphical environment, desktop environment and applications. This page provides detailed information about these various optimization possibilities.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Alternative graphical environments==&lt;br /&gt;
{{Todo|...}}&lt;br /&gt;
&lt;br /&gt;
==Streamlining the desktop environment==&lt;br /&gt;
The common Desktop environments GNOME and KDE are, in their modern state, focused more on features, integration, and beauty rather than on resource saving. Understandable, but running Linux on an older ThinkPad with limited RAM requires conscious and sensitive resource usage more than anything else. The good thing about Linux is that a lot of things stay adjustable and customizable. So lets see what we can do about desktops.&lt;br /&gt;
&lt;br /&gt;
One of the most important things is to decide for one graphical widget library and stick with that when you are choosing your desktop environment and applications. Having several toolkits in use means more libraries being loaded and hence more memory being used by those. Possibilities are:&lt;br /&gt;
* [http://www.fltk.org/ FLTK]&lt;br /&gt;
* [http://www.fox-toolkit.org/ FOX toolkit]&lt;br /&gt;
* [http://www.gnustep.org GNUstep toolkit]&lt;br /&gt;
* [http://www.gtk.org/ GTK] &amp;lt;tt&amp;gt;(not recommended, use GTK 2 if possible)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [http://www.gtk.org/ GTK 2]&lt;br /&gt;
* [http://www.lesstif.org/ Lesstif] / [http://www.openmotif.org/ OpenMotif]&lt;br /&gt;
* [http://www.trolltech.com/products/qt/index.html QT]&lt;br /&gt;
* [http://www.windowmaker.org/development-wings.html WINGs] &amp;lt;tt&amp;gt;(kind of a lightweight GNUstep toolkit, provided by the WindowMaker developers)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [http://www.x.org/ X Toolkit]&lt;br /&gt;
&lt;br /&gt;
Of those, at current state, there are enough applications for the X Toolkit, GTK, GTK 2 and QT to provide you with a solution for every task you should want.&lt;br /&gt;
&lt;br /&gt;
===GNOME===&lt;br /&gt;
It's like with humans, the worst feature is in most cases also the best one. For GNOME it is probably the many little parts it consists of. Makes it hard to install, but enables one to customize the installation. So, the first thing you should do to streamline GNOME is not to launch it. Sound stupid? Well, lets have a look.&lt;br /&gt;
&lt;br /&gt;
GNOME is basically a set of libraries built around the GTK+ libs and extending its functionality. Add some nice little applications, a session manager, a panel, beautiful icons, and some other stuff and you have GNOME as you know it. Reversing those additions is what you can do to use GNOME applications on a machine that this desktop environment would normally take your nerves on.&lt;br /&gt;
&lt;br /&gt;
The GNOME panel, the session manager, the desktop manager and the window manager are all parts of GNOME that eat a lot of memory for something that others can do in a maybe little less beautiful but much more resource saving way.&lt;br /&gt;
So first off configure your login manager not to launch gnome-session at login. If you are using GDM this is quite straight forward, you just need to add a different session script, launching your favorite window manager. See the list below and pick one, lets say i.e. WindowMaker. WindowMaker uses a desktop menu, a dock and a notification area to provide you with an organized way of launching applications and iconfying running ones. So we don't need a panel anymore. Also, think if you really need icons on your desktop. If you do, think about using something like ROX filer instead of nautilus for that. In any case, tell nautilus not to manage the desktop by default by unchecking the according setting within gconf-editor. To keep GNOME applications happy we would need to have gconf and gnome-settings-manager running at every session start. One way to do this is to either include them in your new session script. They both need to be running to make GNOME applications realize their settings properly.&lt;br /&gt;
&lt;br /&gt;
===KDE===&lt;br /&gt;
{{Todo|...}}&lt;br /&gt;
&lt;br /&gt;
===Alternative Desktop Environments===&lt;br /&gt;
First of all, it is important to notice that GNOME and KDE are not the only Desktop Environments around.&lt;br /&gt;
Other complete (featuring most of: window management, session management, desktop management, file management and panel) desktop environments are:&lt;br /&gt;
*[http://xfce.org/ XFCE] &amp;lt;tt&amp;gt;uses GTK 2&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://ede.sourceforge.net Equinox Desktop Environment] &amp;lt;tt&amp;gt;uses eFLTK, a modified version of FLTK&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://www.nongnu.org/antiright/ AntiRight Desktop Environment] &amp;lt;tt&amp;gt;uses LessTif / OpenMotif&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://foxdesktop.sourceforge.net/ FOX Desktop Environment] &amp;lt;tt&amp;gt;uses FOX Toolkit&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://www.gnustep.org/ GNUstep] &amp;lt;tt&amp;gt;provides it's own toolkit&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But also, some Window Managers exceed the task of managing windows towards providing a functional workbench. See below for a list.&lt;br /&gt;
&lt;br /&gt;
===Building your own Desktop===&lt;br /&gt;
&lt;br /&gt;
====Window Manager====&lt;br /&gt;
If you want to build your own customized desktop, a good start is choosing the window manager of your liking.&lt;br /&gt;
&lt;br /&gt;
Here's a list of some of them:&lt;br /&gt;
*including basic Desktop Environment functionality&lt;br /&gt;
**the [[Wikipedia:NextStep|NextStep]] alike ones&lt;br /&gt;
***[http://www.windowmaker.org/ WindowMaker] &amp;lt;tt&amp;gt;(probably the most widespread NextStep like WM)&amp;lt;/tt&amp;gt;&lt;br /&gt;
***[http://www.afterstep.org/ AfterStep] &amp;lt;tt&amp;gt;(another one of those)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**the Blackbox-like ones&lt;br /&gt;
***[http://blackboxwm.sourceforge.net/ BlackBox]&lt;br /&gt;
***[http://fluxbox.sourceforge.net/ FluxBox] &amp;lt;tt&amp;gt;(tabbed windows, lighweight)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**others&lt;br /&gt;
***[http://www.icewm.org/ IceWM] &amp;lt;tt&amp;gt;(lightweight, widespread)&amp;lt;/tt&amp;gt;&lt;br /&gt;
***[http://enlightenment.sourceforge.net/ Enlightenment] &amp;lt;tt&amp;gt;(lots of features and eye candy)&amp;lt;/tt&amp;gt;&lt;br /&gt;
***[http://www.pekwm.org PekWM] &amp;lt;tt&amp;gt;(kind of a one man show, but feature rich and extremely customizable)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*pure WindowManagers &lt;br /&gt;
**[http://golem.sourceforge.net/ Golem]&lt;br /&gt;
**[http://home.earthlink.net/~lab1701/larswm/ LarsWM] &amp;lt;tt&amp;gt;(unique tiling Window Manager)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://www.nongnu.org/ratpoison/ ratpoison] &amp;lt;tt&amp;gt;(modeled after gnu screen)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://fvwm.org/ fvwm] &amp;lt;tt&amp;gt;(small but powerful)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://www.jfc.org.uk/software/lwm.html lwm] &amp;lt;tt&amp;gt;(very small, and fast)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://www.all-day-breakfast.com/wm2/ wm2] &amp;lt;tt&amp;gt;really small Window Manager&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://www.all-day-breakfast.com/wmx/ wmx] &amp;lt;tt&amp;gt;slightly more featureful version of wm2&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Taskbar/Panel====&lt;br /&gt;
Another thing that especially users coming to Linux from the Windows world would probably like is a Panel or Taskbar.&lt;br /&gt;
&lt;br /&gt;
Here's a collection of independant low resource panels:&lt;br /&gt;
*[http://www.chatjunkies.org/fspanel/ F***ing Small Panel] &amp;lt;tt&amp;gt;(doesn't use any toolkit)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://freshmeat.net/projects/hpanel/ HPanel] &amp;lt;tt&amp;gt;(doesn't use any toolkit)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://fbpanel.sourceforge.net/ fbpanel] &amp;lt;tt&amp;gt;(depends on GTK 2)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://jodrell.net/projects/perlpanel Perl Panel] &amp;lt;tt&amp;gt;(depends on GTK 2, gnomevfs, perl)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://www.gkrellm.net/ GKrellM] &amp;lt;tt&amp;gt;(depends on GTK 2, flexible plugin based skinable vertical panel)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Desktop Pinboard====&lt;br /&gt;
Then, the next thing you might be looking for is how to get icons onto your desktop. Usually this is done by the file manager who displays the content of a special directory as icons on the desktop. See the File Manager section to follow this approach.&lt;br /&gt;
&lt;br /&gt;
However, you might decide for a really lightwight file manager which doesn't offer this feature. In that case all hope is not lost, for there are also special programs specialized in desktop icon management. Such are:&lt;br /&gt;
* [http://idesk.sourceforge.net/ iDesk] &amp;lt;tt&amp;gt;(recent versions need imlib2 only)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Manager====&lt;br /&gt;
File Managers are the fourth really important compontent of a desktop environment. There are plenty out their ranging from resource hugs to really lightweight and slim ones.&lt;br /&gt;
&lt;br /&gt;
File Managers come with three distinct general user interface approaches: the two pane gui, the spacial and the browser gui. The browser gui is the one the Windows Explorer starting from Windows 2000 uses as well as earlier versions of Nautilus. The spacial view is the one known from Windows 95 and more recent versions of Nautilus. The two pane view is know to many from Norten Commander, Directory Opus or your favorite FTP client.&lt;br /&gt;
&lt;br /&gt;
The following list provides an overview.&lt;br /&gt;
*FLTK&lt;br /&gt;
** [http://www.oksid.ch/flfm/ Fast Light File Manager] &amp;lt;tt&amp;gt;(spacial gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* FOX toolkit&lt;br /&gt;
** [http://roland65.free.fr/xfe/ X File Explorer] &amp;lt;tt&amp;gt;(browser and two pane gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*GTK&lt;br /&gt;
** [http://www.kaisersite.de/dfm/ Desktop File Manager] &amp;lt;tt&amp;gt;(spacial gui, incl. desktop icon management)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://www.uwyn.com/projects/fm/ FM] &amp;lt;tt&amp;gt;(spacial, MAC OS 9 like gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://radekc.regnet.cz/ Seksi Commander] &amp;lt;tt&amp;gt;(two pane gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*GTK 2&lt;br /&gt;
** [http://rox.sourceforge.net/ ROX Filer] &amp;lt;tt&amp;gt;(highly productive spacial gui, incl. panel and desktop icon management)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://blog.perldude.de/projects/filer/ Filer] &amp;lt;tt&amp;gt;(browser and two pane gui, requires Perl)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://xffm.sourceforge.net/ XFFM] &amp;lt;tt&amp;gt;(browser and spacial gui, requires some XFCE libs)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://logicaldesktop.sourceforge.net/ Logical Desktop] &amp;lt;tt&amp;gt;(browser gui, actually a very special approach)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://tuxcmd.sourceforge.net/ Tux Commander] &amp;lt;tt&amp;gt;(two pane gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://emelfm2.net/emelFM2/ emelFM2] &amp;lt;tt&amp;gt;(two pane gui with full customizable menu and toolbar, the best for power users)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://thunar.xfce.org/index.xhtml Thunar] &amp;lt;tt&amp;gt;(requires some XFCE libs)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://pcmanfm.sourceforge.net/ PCMan File Manager] &amp;lt;tt&amp;gt;(An extremly fast and lightweight file manager which features tabbed browsing and user-friendly interface. Requires GTK+ version 2.8.x)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* OpenMotif&lt;br /&gt;
** [http://www.musikwissenschaft.uni-mainz.de/~ag/xplore/xplore.php Xplore] &amp;lt;tt&amp;gt;(browser gui with productive 4 pane concept)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* QT 2&lt;br /&gt;
** [http://www.hi-net.cz/blaza/bfcommander/en/index.html BF-Commander] &amp;lt;tt&amp;gt;(two pane gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Qt3&lt;br /&gt;
** [http://www.beesoft.org/download_bsc.html Beesoft Commander] &amp;lt;tt&amp;gt; (fast &amp;amp; easy two panel file manager, like Norton Commander)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Tcl/Tk&lt;br /&gt;
** [http://users.tkk.fi/~mkivinie/X-Files/ X-Files] &amp;lt;tt&amp;gt;(two pane gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*X Toolkit&lt;br /&gt;
** [http://www.musikwissenschaft.uni-mainz.de/~ag/xfm/ X File Manager] &amp;lt;tt&amp;gt;(spacial gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://www.boomerangsworld.de/worker/ Worker] &amp;lt;tt&amp;gt;(two pane gui, highly productive and configurable)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://xnc.dubna.su/ X Northern Captain] &amp;lt;tt&amp;gt;(interesting flexible two pane gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*3D Filemanagers&lt;br /&gt;
** [http://www.determinate.net/webdata/seg/tdfsb.html TDFSB] &amp;lt;tt&amp;gt;(3D gui, the most impressing 3D file browser so far)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://www.forchheimer.se/bfm/ Brutal File Manager] &amp;lt;tt&amp;gt;(3D gui more for fun than productivity)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://turma.sourceforge.net/software/3dfile/ 3DFile] &amp;lt;tt&amp;gt;(3D gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://orbis.sourceforge.net/ Orbis] &amp;lt;tt&amp;gt;(3D gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Choosing applications==&lt;br /&gt;
===Web Browser===&lt;br /&gt;
This is highly dependend on the way you use your browser, it's often worth it to try out all and just track general&lt;br /&gt;
memory usage. Remember that &amp;lt;tt&amp;gt;top&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ps&amp;lt;/tt&amp;gt; don't report correct memory usage, track totals only.&lt;br /&gt;
&lt;br /&gt;
====Firefox====&lt;br /&gt;
Firefox is graphical web browser. One can install features like AdBlock and FlashClicktoplay which will decrease memory  and&lt;br /&gt;
processor usage by hiding Flash and Java -adverts.&lt;br /&gt;
&lt;br /&gt;
====Opera====&lt;br /&gt;
Opera is graphical web browser. You can easily enable/disable plug-ins and java (press F12) and decrease memory usage.&lt;br /&gt;
Opera uses QT as toolkit, so you may shave off some Mbytes off memory usage by using dynamically linked version if you use KDE.&lt;br /&gt;
&lt;br /&gt;
====Konqueror====&lt;br /&gt;
Konqueror is graphical web browser. It's integrated with KDE and has several advanced features (esp. ca. KDE 3.5).&lt;br /&gt;
You may save some megabytes by using it instead of other browsers when using KDE.&lt;br /&gt;
It's not necessarily heavy even when used without running KDE.&lt;br /&gt;
&lt;br /&gt;
====Dillo====&lt;br /&gt;
Dillo is minimalistic and very small graphical web browser. &lt;br /&gt;
&lt;br /&gt;
====Elinks/Lynx====&lt;br /&gt;
elinks/lynx are both text mode web browsers. &amp;lt;tt&amp;gt;elinks&amp;lt;/tt&amp;gt; handles tables and formatting much nicer than &amp;lt;tt&amp;gt;lynx&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Both go very easy on memory footprint.&lt;br /&gt;
&lt;br /&gt;
{{Todo|...}}&lt;br /&gt;
&lt;br /&gt;
==Disabling unneeded system deamons==&lt;br /&gt;
Another thing you can do to improve performance is to get rid of unneaded system daemons launched from your init scripts. Disable them by using the according configuration interface of your distro or by deleting links in the according runlevel directories (usually in &amp;lt;code&amp;gt;/etc/rc.d/&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Daemons you usually don't need:&lt;br /&gt;
* httpd &amp;lt;tt&amp;gt;(Apache web server)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* mysqld &amp;lt;tt&amp;gt;(MySQL database server)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* smbd &amp;lt;tt&amp;gt;(SMB windows filesharing server)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* pppd &amp;lt;tt&amp;gt;(PPP server for connections through modems and serial lines)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Adjusting filesystems==&lt;br /&gt;
You can also try to optimize memory usage by making sure that you have as little as possible of your filesystem residing in RAM. To do this make sure that the following mount points are set to reside on your harddisk in {{path|/etc/fstab}}.&lt;br /&gt;
* /dev (not possible if you use udev)&lt;br /&gt;
* /tmp&lt;br /&gt;
&lt;br /&gt;
Also make sure that you mount filesystems with extensive usage with noatime parameter (mount -o remount,ro /...), which disabled access time writes every time you access some file. Note that many incremental backups needs atime to work, such backups will then behave like full backup everytime. This depends on backup systems.&lt;br /&gt;
&lt;br /&gt;
==Other tips==&lt;br /&gt;
===Disk space===&lt;br /&gt;
When using Debian/Ubuntu/other derivative, use &amp;lt;tt&amp;gt;aptitude&amp;lt;/tt&amp;gt; as package manager, and use it as soon as possible. Use it and only it to install and remove packages.&lt;br /&gt;
&lt;br /&gt;
One of it's most usefull features is that it tracks packages you install and marks packages installed via dependency as such, so when you remove a package that is no longer used, or package updates and doesn't use a library anymore, that dependency will get uninstalled.&lt;br /&gt;
&lt;br /&gt;
You can mark packages installed as automatically installed by hitting 'M' (uppercase m), it will be marked for deinstallation if it's not longer required.&lt;br /&gt;
&lt;br /&gt;
You could also install localepurge wich will remove all unneded locales and localized manpages for packages you install.&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_save_memory&amp;diff=23471</id>
		<title>How to save memory</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_save_memory&amp;diff=23471"/>
		<updated>2006-07-23T20:41:20Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Window Manager */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |This page is meant as a collection of information on how to save memory to make Linux work reasonable on older system with limited amount of RAM.&lt;br /&gt;
&lt;br /&gt;
Most distributions nowadays don't take much care about it anymore, so there are a lot of things you can do to save memory. To get a smoothly working linux environment on a low memory machine you will need to conciously choose a lot of aspects of your system, most importantly the graphical environment, desktop environment and applications. This page provides detailed information about these various optimization possibilities.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Alternative graphical environments==&lt;br /&gt;
{{Todo|...}}&lt;br /&gt;
&lt;br /&gt;
==Streamlining the desktop environment==&lt;br /&gt;
The common Desktop environments GNOME and KDE are, in their modern state, focused more on features, integration, and beauty rather than on resource saving. Understandable, but running Linux on an older ThinkPad with limited RAM requires conscious and sensitive resource usage more than anything else. The good thing about Linux is that a lot of things stay adjustable and customizable. So lets see what we can do about desktops.&lt;br /&gt;
&lt;br /&gt;
One of the most important things is to decide for one graphical widget library and stick with that when you are choosing your desktop environment and applications. Having several toolkits in use means more libraries being loaded and hence more memory being used by those. Possibilities are:&lt;br /&gt;
* [http://www.fltk.org/ FLTK]&lt;br /&gt;
* [http://www.fox-toolkit.org/ FOX toolkit]&lt;br /&gt;
* [http://www.gnustep.org GNUstep toolkit]&lt;br /&gt;
* [http://www.gtk.org/ GTK] &amp;lt;tt&amp;gt;(not recommended, use GTK 2 if possible)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [http://www.gtk.org/ GTK 2]&lt;br /&gt;
* [http://www.lesstif.org/ Lesstif] / [http://www.openmotif.org/ OpenMotif]&lt;br /&gt;
* [http://www.trolltech.com/products/qt/index.html QT]&lt;br /&gt;
* [http://www.windowmaker.org/development-wings.html WINGs] &amp;lt;tt&amp;gt;(kind of a lightweight GNUstep toolkit, provided by the WindowMaker developers)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* [http://www.x.org/ X Toolkit]&lt;br /&gt;
&lt;br /&gt;
Of those, at current state, there are enough applications for the X Toolkit, GTK, GTK 2 and QT to provide you with a solution for every task you should want.&lt;br /&gt;
&lt;br /&gt;
===GNOME===&lt;br /&gt;
It's like with humans, the worst feature is in most cases also the best one. For GNOME it is probably the many little parts it consists of. Makes it hard to install, but enables one to customize the installation. So, the first thing you should do to streamline GNOME is not to launch it. Sound stupid? Well, lets have a look.&lt;br /&gt;
&lt;br /&gt;
GNOME is basically a set of libraries built around the GTK+ libs and extending its functionality. Add some nice little applications, a session manager, a panel, beautiful icons, and some other stuff and you have GNOME as you know it. Reversing those additions is what you can do to use GNOME applications on a machine that this desktop environment would normally take your nerves on.&lt;br /&gt;
&lt;br /&gt;
The GNOME panel, the session manager, the desktop manager and the window manager are all parts of GNOME that eat a lot of memory for something that others can do in a maybe little less beautiful but much more resource saving way.&lt;br /&gt;
So first off configure your login manager not to launch gnome-session at login. If you are using GDM this is quite straight forward, you just need to add a different session script, launching your favorite window manager. See the list below and pick one, lets say i.e. WindowMaker. WindowMaker uses a desktop menu, a dock and a notification area to provide you with an organized way of launching applications and iconfying running ones. So we don't need a panel anymore. Also, think if you really need icons on your desktop. If you do, think about using something like ROX filer instead of nautilus for that. In any case, tell nautilus not to manage the desktop by default by unchecking the according setting within gconf-editor. To keep GNOME applications happy we would need to have gconf and gnome-settings-manager running at every session start. One way to do this is to either include them in your new session script. They both need to be running to make GNOME applications realize their settings properly.&lt;br /&gt;
&lt;br /&gt;
===KDE===&lt;br /&gt;
{{Todo|...}}&lt;br /&gt;
&lt;br /&gt;
===Alternative Desktop Environments===&lt;br /&gt;
First of all, it is important to notice that GNOME and KDE are not the only Desktop Environments around.&lt;br /&gt;
Other complete (featuring most of: window management, session management, desktop management, file management and panel) desktop environments are:&lt;br /&gt;
*[http://xfce.org/ XFCE] &amp;lt;tt&amp;gt;uses GTK 2&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://ede.sourceforge.net Equinox Desktop Environment] &amp;lt;tt&amp;gt;uses eFLTK, a modified version of FLTK&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://www.nongnu.org/antiright/ AntiRight Desktop Environment] &amp;lt;tt&amp;gt;uses LessTif / OpenMotif&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://foxdesktop.sourceforge.net/ FOX Desktop Environment] &amp;lt;tt&amp;gt;uses FOX Toolkit&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://www.gnustep.org/ GNUstep] &amp;lt;tt&amp;gt;provides it's own toolkit&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But also, some Window Managers exceed the task of managing windows towards providing a functional workbench. See below for a list.&lt;br /&gt;
&lt;br /&gt;
===Building your own Desktop===&lt;br /&gt;
&lt;br /&gt;
====Window Manager====&lt;br /&gt;
If you want to build your own customized desktop, a good start is choosing the window manager of your liking.&lt;br /&gt;
&lt;br /&gt;
Here's a list of some of them:&lt;br /&gt;
*including basic Desktop Environment functionality&lt;br /&gt;
**the [[Wikipedia:NextStep|NextStep]] alike ones&lt;br /&gt;
***[http://www.windowmaker.org/ WindowMaker] &amp;lt;tt&amp;gt;(probably the most widespread NextStep like WM)&amp;lt;/tt&amp;gt;&lt;br /&gt;
***[http://www.afterstep.org/ AfterStep] &amp;lt;tt&amp;gt;(another one of those)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**the Blackbox-like ones&lt;br /&gt;
***[http://blackboxwm.sourceforge.net/ BlackBox]&lt;br /&gt;
***[http://fluxbox.sourceforge.net/ FluxBox] &amp;lt;tt&amp;gt;(tabbed windows, lighweight)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**others&lt;br /&gt;
***[http://www.icewm.org/ IceWM] &amp;lt;tt&amp;gt;(lightweight, widespread)&amp;lt;/tt&amp;gt;&lt;br /&gt;
***[http://enlightenment.sourceforge.net/ Enlightenment] &amp;lt;tt&amp;gt;(lots of features and eye candy)&amp;lt;/tt&amp;gt;&lt;br /&gt;
***[http://www.pekwm.org PekWM] &amp;lt;tt&amp;gt;(kind of a one man show, but feature rich and extremely customizable)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*pure WindowManagers &lt;br /&gt;
**[http://golem.sourceforge.net/ Golem]&lt;br /&gt;
**[http://home.earthlink.net/~lab1701/larswm/ LarsWM] &amp;lt;tt&amp;gt;(unique tiling Window Manager)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://www.nongnu.org/ratpoison/ ratpoison] &amp;lt;tt&amp;gt;(modeled after gnu screen)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://fvwm.org/ fvwm] &amp;lt;tt&amp;gt;(small but powerful)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://www.jfc.org.uk/software/lwm.html Lightweight Window Manager] &amp;lt;tt&amp;gt;(very small, and fast)&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://www.all-day-breakfast.com/wm2/ wm2] &amp;lt;tt&amp;gt;really small Window Manager&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[http://www.all-day-breakfast.com/wmx/ wmx] &amp;lt;tt&amp;gt;slightly more featureful version of wm2&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Taskbar/Panel====&lt;br /&gt;
Another thing that especially users coming to Linux from the Windows world would probably like is a Panel or Taskbar.&lt;br /&gt;
&lt;br /&gt;
Here's a collection of independant low resource panels:&lt;br /&gt;
*[http://www.chatjunkies.org/fspanel/ F***ing Small Panel] &amp;lt;tt&amp;gt;(doesn't use any toolkit)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://freshmeat.net/projects/hpanel/ HPanel] &amp;lt;tt&amp;gt;(doesn't use any toolkit)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://fbpanel.sourceforge.net/ fbpanel] &amp;lt;tt&amp;gt;(depends on GTK 2)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://jodrell.net/projects/perlpanel Perl Panel] &amp;lt;tt&amp;gt;(depends on GTK 2, gnomevfs, perl)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*[http://www.gkrellm.net/ GKrellM] &amp;lt;tt&amp;gt;(depends on GTK 2, flexible plugin based skinable vertical panel)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Desktop Pinboard====&lt;br /&gt;
Then, the next thing you might be looking for is how to get icons onto your desktop. Usually this is done by the file manager who displays the content of a special directory as icons on the desktop. See the File Manager section to follow this approach.&lt;br /&gt;
&lt;br /&gt;
However, you might decide for a really lightwight file manager which doesn't offer this feature. In that case all hope is not lost, for there are also special programs specialized in desktop icon management. Such are:&lt;br /&gt;
* [http://idesk.sourceforge.net/ iDesk] &amp;lt;tt&amp;gt;(recent versions need imlib2 only)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====File Manager====&lt;br /&gt;
File Managers are the fourth really important compontent of a desktop environment. There are plenty out their ranging from resource hugs to really lightweight and slim ones.&lt;br /&gt;
&lt;br /&gt;
File Managers come with three distinct general user interface approaches: the two pane gui, the spacial and the browser gui. The browser gui is the one the Windows Explorer starting from Windows 2000 uses as well as earlier versions of Nautilus. The spacial view is the one known from Windows 95 and more recent versions of Nautilus. The two pane view is know to many from Norten Commander, Directory Opus or your favorite FTP client.&lt;br /&gt;
&lt;br /&gt;
The following list provides an overview.&lt;br /&gt;
*FLTK&lt;br /&gt;
** [http://www.oksid.ch/flfm/ Fast Light File Manager] &amp;lt;tt&amp;gt;(spacial gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* FOX toolkit&lt;br /&gt;
** [http://roland65.free.fr/xfe/ X File Explorer] &amp;lt;tt&amp;gt;(browser and two pane gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*GTK&lt;br /&gt;
** [http://www.kaisersite.de/dfm/ Desktop File Manager] &amp;lt;tt&amp;gt;(spacial gui, incl. desktop icon management)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://www.uwyn.com/projects/fm/ FM] &amp;lt;tt&amp;gt;(spacial, MAC OS 9 like gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://radekc.regnet.cz/ Seksi Commander] &amp;lt;tt&amp;gt;(two pane gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*GTK 2&lt;br /&gt;
** [http://rox.sourceforge.net/ ROX Filer] &amp;lt;tt&amp;gt;(highly productive spacial gui, incl. panel and desktop icon management)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://blog.perldude.de/projects/filer/ Filer] &amp;lt;tt&amp;gt;(browser and two pane gui, requires Perl)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://xffm.sourceforge.net/ XFFM] &amp;lt;tt&amp;gt;(browser and spacial gui, requires some XFCE libs)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://logicaldesktop.sourceforge.net/ Logical Desktop] &amp;lt;tt&amp;gt;(browser gui, actually a very special approach)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://tuxcmd.sourceforge.net/ Tux Commander] &amp;lt;tt&amp;gt;(two pane gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://emelfm2.net/emelFM2/ emelFM2] &amp;lt;tt&amp;gt;(two pane gui with full customizable menu and toolbar, the best for power users)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://thunar.xfce.org/index.xhtml Thunar] &amp;lt;tt&amp;gt;(requires some XFCE libs)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://pcmanfm.sourceforge.net/ PCMan File Manager] &amp;lt;tt&amp;gt;(An extremly fast and lightweight file manager which features tabbed browsing and user-friendly interface. Requires GTK+ version 2.8.x)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* OpenMotif&lt;br /&gt;
** [http://www.musikwissenschaft.uni-mainz.de/~ag/xplore/xplore.php Xplore] &amp;lt;tt&amp;gt;(browser gui with productive 4 pane concept)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* QT 2&lt;br /&gt;
** [http://www.hi-net.cz/blaza/bfcommander/en/index.html BF-Commander] &amp;lt;tt&amp;gt;(two pane gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*Qt3&lt;br /&gt;
** [http://www.beesoft.org/download_bsc.html Beesoft Commander] &amp;lt;tt&amp;gt; (fast &amp;amp; easy two panel file manager, like Norton Commander)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Tcl/Tk&lt;br /&gt;
** [http://users.tkk.fi/~mkivinie/X-Files/ X-Files] &amp;lt;tt&amp;gt;(two pane gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*X Toolkit&lt;br /&gt;
** [http://www.musikwissenschaft.uni-mainz.de/~ag/xfm/ X File Manager] &amp;lt;tt&amp;gt;(spacial gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://www.boomerangsworld.de/worker/ Worker] &amp;lt;tt&amp;gt;(two pane gui, highly productive and configurable)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://xnc.dubna.su/ X Northern Captain] &amp;lt;tt&amp;gt;(interesting flexible two pane gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
*3D Filemanagers&lt;br /&gt;
** [http://www.determinate.net/webdata/seg/tdfsb.html TDFSB] &amp;lt;tt&amp;gt;(3D gui, the most impressing 3D file browser so far)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://www.forchheimer.se/bfm/ Brutal File Manager] &amp;lt;tt&amp;gt;(3D gui more for fun than productivity)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://turma.sourceforge.net/software/3dfile/ 3DFile] &amp;lt;tt&amp;gt;(3D gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
** [http://orbis.sourceforge.net/ Orbis] &amp;lt;tt&amp;gt;(3D gui)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Choosing applications==&lt;br /&gt;
===Web Browser===&lt;br /&gt;
This is highly dependend on the way you use your browser, it's often worth it to try out all and just track general&lt;br /&gt;
memory usage. Remember that &amp;lt;tt&amp;gt;top&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ps&amp;lt;/tt&amp;gt; don't report correct memory usage, track totals only.&lt;br /&gt;
&lt;br /&gt;
====Firefox====&lt;br /&gt;
Firefox is graphical web browser. One can install features like AdBlock and FlashClicktoplay which will decrease memory  and&lt;br /&gt;
processor usage by hiding Flash and Java -adverts.&lt;br /&gt;
&lt;br /&gt;
====Opera====&lt;br /&gt;
Opera is graphical web browser. You can easily enable/disable plug-ins and java (press F12) and decrease memory usage.&lt;br /&gt;
Opera uses QT as toolkit, so you may shave off some Mbytes off memory usage by using dynamically linked version if you use KDE.&lt;br /&gt;
&lt;br /&gt;
====Konqueror====&lt;br /&gt;
Konqueror is graphical web browser. It's integrated with KDE and has several advanced features (esp. ca. KDE 3.5).&lt;br /&gt;
You may save some megabytes by using it instead of other browsers when using KDE.&lt;br /&gt;
It's not necessarily heavy even when used without running KDE.&lt;br /&gt;
&lt;br /&gt;
====Dillo====&lt;br /&gt;
Dillo is minimalistic and very small graphical web browser. &lt;br /&gt;
&lt;br /&gt;
====Elinks/Lynx====&lt;br /&gt;
elinks/lynx are both text mode web browsers. &amp;lt;tt&amp;gt;elinks&amp;lt;/tt&amp;gt; handles tables and formatting much nicer than &amp;lt;tt&amp;gt;lynx&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Both go very easy on memory footprint.&lt;br /&gt;
&lt;br /&gt;
{{Todo|...}}&lt;br /&gt;
&lt;br /&gt;
==Disabling unneeded system deamons==&lt;br /&gt;
Another thing you can do to improve performance is to get rid of unneaded system daemons launched from your init scripts. Disable them by using the according configuration interface of your distro or by deleting links in the according runlevel directories (usually in &amp;lt;code&amp;gt;/etc/rc.d/&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Daemons you usually don't need:&lt;br /&gt;
* httpd &amp;lt;tt&amp;gt;(Apache web server)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* mysqld &amp;lt;tt&amp;gt;(MySQL database server)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* smbd &amp;lt;tt&amp;gt;(SMB windows filesharing server)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* pppd &amp;lt;tt&amp;gt;(PPP server for connections through modems and serial lines)&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Adjusting filesystems==&lt;br /&gt;
You can also try to optimize memory usage by making sure that you have as little as possible of your filesystem residing in RAM. To do this make sure that the following mount points are set to reside on your harddisk in {{path|/etc/fstab}}.&lt;br /&gt;
* /dev (not possible if you use udev)&lt;br /&gt;
* /tmp&lt;br /&gt;
&lt;br /&gt;
Also make sure that you mount filesystems with extensive usage with noatime parameter (mount -o remount,ro /...), which disabled access time writes every time you access some file. Note that many incremental backups needs atime to work, such backups will then behave like full backup everytime. This depends on backup systems.&lt;br /&gt;
&lt;br /&gt;
==Other tips==&lt;br /&gt;
===Disk space===&lt;br /&gt;
When using Debian/Ubuntu/other derivative, use &amp;lt;tt&amp;gt;aptitude&amp;lt;/tt&amp;gt; as package manager, and use it as soon as possible. Use it and only it to install and remove packages.&lt;br /&gt;
&lt;br /&gt;
One of it's most usefull features is that it tracks packages you install and marks packages installed via dependency as such, so when you remove a package that is no longer used, or package updates and doesn't use a library anymore, that dependency will get uninstalled.&lt;br /&gt;
&lt;br /&gt;
You can mark packages installed as automatically installed by hitting 'M' (uppercase m), it will be marked for deinstallation if it's not longer required.&lt;br /&gt;
&lt;br /&gt;
You could also install localepurge wich will remove all unneded locales and localized manpages for packages you install.&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=APM_vs._ACPI&amp;diff=23469</id>
		<title>APM vs. ACPI</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=APM_vs._ACPI&amp;diff=23469"/>
		<updated>2006-07-23T20:27:40Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Others */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;&amp;quot; | __TOC__&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
The following tables headings shell designate the following meanings...&lt;br /&gt;
&lt;br /&gt;
* APM&lt;br /&gt;
** Blank = ability to turn off the LCD while using APM&lt;br /&gt;
** Sleep = ability to do a suspend-to-ram using APM&lt;br /&gt;
** Hibernate = ability to perform a suspend-to-disk via the BIOS&lt;br /&gt;
** Battery = ability to get statistics on remaining battery life from the APM subsystem&lt;br /&gt;
*ACPI&lt;br /&gt;
** Blank = ability to turn off the LCD while using ACPI&lt;br /&gt;
** Sleep = ability to do a suspend-to-ram using ACPI&lt;br /&gt;
** Hibernate = ability to perform a suspend-to-disk using ACPI&lt;br /&gt;
** Battery = ability to get statistics on remaining battery life from the ACPI subsystem&lt;br /&gt;
&lt;br /&gt;
The fields should be filled with one of the following:&lt;br /&gt;
* ? = unknown / untested&lt;br /&gt;
* yes = working (with or without extra configuration effort)&lt;br /&gt;
* no = not working (because kernel support isn't there yet)&lt;br /&gt;
* part = partially working (unsolvable trouble on resume or something like that)&lt;br /&gt;
* N/A = not supported by the hardware&lt;br /&gt;
* ACPI-Hibernate can additionally have one of these:&lt;br /&gt;
** sus - hibernation works using the old in-kernel (2.6) [[swsusp]]&lt;br /&gt;
** sus2 - hibernation works using [[Software Suspend 2]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
====Numbered====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:560 | 560]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570 | 570]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:570E | 570E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600 | 600]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600E | 600E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:600X | 600X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CD | 755CD]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CDV | 755CDV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CV | 755CV]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:755CX | 755CX]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770 | 770]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770E | 770E]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770X | 770X]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | part&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:770Z | 770Z]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====A Series====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20m | A20m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A20p | A20p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21e | A21e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21m | A21m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A21p | A21p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22e | A22e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22m | A22m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A22p | A22p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30 | A30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A30p | A30p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31 | A31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:A31p | A31p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====G Series====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G40 | G40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:G41 | G41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====R Series====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R30 | R30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R31 | R31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | sus2&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R32 | R32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40 | R40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R40e | R40e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50 | R50]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50e | R50e]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R50p | R50p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R51 | R51]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:R52 | R52]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====T Series====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T20 | T20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes &lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | [[#t20_hib|yes]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | [[#t20_hib|yes]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T21 | T21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T22 | T22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | part&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | part&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T23 | T23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T30 | T30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40 | T40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T40p | T40p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41 | T41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T41p | T41p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42 | T42]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T42p | T42p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43 | T43]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | part&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T43p | T43p]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:T60 | T60]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====X Series====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X20 | X20]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X21 | X21]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | random&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y2.6&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X22 | X22]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | y&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X23 | X23]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X24 | X24]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | sus2&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X30 | X30]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | sus2&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | sus2&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X31 | X31]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X32 | X32]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X40 | X40]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 | X41]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | part (SATA)&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | part (SATA)&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | part (SATA)&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes (sus)&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X41 Tablet | X41 Tablet]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X60 | X60]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:X60s | X60s]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====Z Series====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:Z60m | Z60m]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | Yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:Z60t | Z60t]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; style=&amp;quot;text-align:center;background:#efefef;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
====Others====&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=2 style=&amp;quot;vertical-align:bottom;background-color:#cfefcf;&amp;quot; | model&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | APM&lt;br /&gt;
! colspan=4 style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | ACPI&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#6699cc;&amp;quot; | battery&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | blank&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | sleep&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | hibernate&lt;br /&gt;
! style=&amp;quot;vertical-align:top;background-color:#fbe030;&amp;quot; | battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:TransNote | TransNote]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ? &lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;background-color:#e9f9e9;&amp;quot; |&lt;br /&gt;
*[[:Category:PC110 | PC110]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#cce5ff;&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;text-align:center;background-color:#fff0b0;&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;t20_hib&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;T20 Hibernation:&amp;lt;/b&amp;gt;&lt;br /&gt;
* tested with SuSE 9.2&lt;br /&gt;
* APM needs a special file on a windows partition&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Category_talk:PC110&amp;diff=23468</id>
		<title>Category talk:PC110</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Category_talk:PC110&amp;diff=23468"/>
		<updated>2006-07-23T20:12:54Z</updated>

		<summary type="html">&lt;p&gt;Ed: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;probably has 4Mb (megabit) ROM rather then 4MB(megabyte)&lt;br /&gt;
--[[User:Dunno|Dunno]] 23:50, 13 February 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Sure? [[User:Wyrfel|Wyrfel]] 02:57, 14 February 2006 (CET)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;4MB EPROM&amp;quot; is an internal 4MB CompactFlash device, that normally appears as /dev/hda. &amp;quot;With removable media&amp;quot; that hdparm claims here is a lie, unless you're handy with a very small screwdriver and soldering iron.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ed@carrot:~$ sudo /usr/sbin/hdparm -I /dev/hda&lt;br /&gt;
&lt;br /&gt;
/dev/hda:&lt;br /&gt;
&lt;br /&gt;
CompactFlash ATA device, with removable media&lt;br /&gt;
	Model Number:       SunDisk SDP3B-4                         &lt;br /&gt;
	Serial Number:      MZX00050751&lt;br /&gt;
	Firmware Revision:  Rev 1.20&lt;br /&gt;
Standards:&lt;br /&gt;
	Likely used: 4&lt;br /&gt;
Configuration:&lt;br /&gt;
	Logical		max	current&lt;br /&gt;
	cylinders	123	123&lt;br /&gt;
	heads		2	2&lt;br /&gt;
	sectors/track	32	32&lt;br /&gt;
	--&lt;br /&gt;
	bytes/track: 0	bytes/sector: 576&lt;br /&gt;
	CHS current addressable sectors:       7872&lt;br /&gt;
	LBA    user addressable sectors:       7872&lt;br /&gt;
	device size with M = 1024*1024:           3 MBytes&lt;br /&gt;
	device size with M = 1000*1000:           4 MBytes &lt;br /&gt;
Capabilities:&lt;br /&gt;
	LBA, IORDY(may be)(cannot be disabled)&lt;br /&gt;
	Buffer size: 1.0kB	bytes avail on r/w long: 4	Queue depth: 1&lt;br /&gt;
	Standby timer values: spec'd by Vendor&lt;br /&gt;
	R/W multiple sector transfer: Max = 1	Current = 0&lt;br /&gt;
	DMA: not supported&lt;br /&gt;
	PIO: pio0 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=CT-65535&amp;diff=23458</id>
		<title>CT-65535</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=CT-65535&amp;diff=23458"/>
		<updated>2006-07-23T15:24:14Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Linux X.Org driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== CT-65535 ===&lt;br /&gt;
This is a Chips and Technologies video adapter&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: CT-65535&lt;br /&gt;
* Interface: ISA 16bit&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Linux X.Org driver ===&lt;br /&gt;
This chip is supported by the 'chips' driver as part of the X.Org distribution&lt;br /&gt;
&lt;br /&gt;
Here is an xorg.conf that works on the {{PC110}} with X.Org 6.8.1, as included with Slackware 10.1:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
    Identifier     &amp;quot;PC110&amp;quot;&lt;br /&gt;
    Screen	0  &amp;quot;Screen0&amp;quot; 0 0&lt;br /&gt;
    InputDevice    &amp;quot;Mouse0&amp;quot; &amp;quot;CorePointer&amp;quot;&lt;br /&gt;
    InputDevice    &amp;quot;Keyboard0&amp;quot; &amp;quot;CoreKeyboard&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;ServerFlags&amp;quot;&lt;br /&gt;
    Option &amp;quot;RandR&amp;quot; &amp;quot;Off&amp;quot;&lt;br /&gt;
    Option &amp;quot;XkbDisable&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;Files&amp;quot;&lt;br /&gt;
    RgbPath      &amp;quot;/usr/X11R6/lib/X11/rgb&amp;quot;&lt;br /&gt;
    ModulePath   &amp;quot;/usr/X11R6/lib/modules&amp;quot;&lt;br /&gt;
    FontPath     &amp;quot;/usr/X11R6/lib/X11/fonts/misc:unscaled&amp;quot;&lt;br /&gt;
    FontPath     &amp;quot;/usr/X11R6/lib/X11/fonts/75dpi:unscaled&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;Module&amp;quot;&lt;br /&gt;
    Load	&amp;quot;extmod&amp;quot;&lt;br /&gt;
    Load	&amp;quot;xaa&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
    Identifier  &amp;quot;Keyboard0&amp;quot;&lt;br /&gt;
    Driver      &amp;quot;kbd&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
    Identifier  &amp;quot;Mouse0&amp;quot;&lt;br /&gt;
    Driver      &amp;quot;mouse&amp;quot;&lt;br /&gt;
    Option	&amp;quot;Protocol&amp;quot; &amp;quot;MouseSystems&amp;quot;&lt;br /&gt;
    Option	&amp;quot;Device&amp;quot; &amp;quot;/dev/gpmdata&amp;quot;&lt;br /&gt;
    Option      &amp;quot;Emulate3Buttons&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section	&amp;quot;Monitor&amp;quot;&lt;br /&gt;
    Identifier	&amp;quot;PC110 LCD&amp;quot;&lt;br /&gt;
    VendorName	&amp;quot;Citizen&amp;quot;&lt;br /&gt;
    ModelName	&amp;quot;L6481L-FF DSTN&amp;quot;&lt;br /&gt;
    HorizSync	10-40&lt;br /&gt;
    VertRefresh	15-80&lt;br /&gt;
    Modeline	&amp;quot;640x480&amp;quot; 15.00 640 672 728 816  480 489 496 526&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section	&amp;quot;Device&amp;quot;&lt;br /&gt;
    Identifier	&amp;quot;PC110 SVGA&amp;quot;&lt;br /&gt;
    VendorName	&amp;quot;Chips &amp;amp; Technologies&amp;quot;&lt;br /&gt;
    Chipset	&amp;quot;ct65535&amp;quot;&lt;br /&gt;
    Driver	&amp;quot;chips&amp;quot;&lt;br /&gt;
    VideoRam	512&lt;br /&gt;
    Option	&amp;quot;SWCursor&amp;quot;&lt;br /&gt;
    TextClockFreq 15.00&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
    Identifier &amp;quot;Screen0&amp;quot;&lt;br /&gt;
    Device     &amp;quot;PC110 SVGA&amp;quot;&lt;br /&gt;
    Monitor    &amp;quot;PC110 LCD&amp;quot;&lt;br /&gt;
    DefaultColorDepth 8&lt;br /&gt;
    SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
    	Viewport	0 0&lt;br /&gt;
    	Depth		8&lt;br /&gt;
    	Modes		&amp;quot;640x480&amp;quot;&lt;br /&gt;
    EndSubSection&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ThinkPad LCD ====&lt;br /&gt;
Display on the internal LCD works as long as you set the monitor settings correct.&lt;br /&gt;
&lt;br /&gt;
==== External VGA port ====&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
=== Linux kernel Framebuffer driver ===&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this chip may be found in ===&lt;br /&gt;
* {{PC110}}&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=CT-65535&amp;diff=23457</id>
		<title>CT-65535</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=CT-65535&amp;diff=23457"/>
		<updated>2006-07-23T15:22:53Z</updated>

		<summary type="html">&lt;p&gt;Ed: /* Linux X.Org driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== CT-65535 ===&lt;br /&gt;
This is a Chips and Technologies video adapter&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: CT-65535&lt;br /&gt;
* Interface: ISA 16bit&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Linux X.Org driver ===&lt;br /&gt;
This chip is supported by the 'chips' driver as part of the X.Org distribution&lt;br /&gt;
&lt;br /&gt;
Here is an xorg.conf that works with X.Org 6.8.1, as included with Slackware 10.1:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
    Identifier     &amp;quot;PC110&amp;quot;&lt;br /&gt;
    Screen	0  &amp;quot;Screen0&amp;quot; 0 0&lt;br /&gt;
    InputDevice    &amp;quot;Mouse0&amp;quot; &amp;quot;CorePointer&amp;quot;&lt;br /&gt;
    InputDevice    &amp;quot;Keyboard0&amp;quot; &amp;quot;CoreKeyboard&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;ServerFlags&amp;quot;&lt;br /&gt;
    Option &amp;quot;RandR&amp;quot; &amp;quot;Off&amp;quot;&lt;br /&gt;
    Option &amp;quot;XkbDisable&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;Files&amp;quot;&lt;br /&gt;
    RgbPath      &amp;quot;/usr/X11R6/lib/X11/rgb&amp;quot;&lt;br /&gt;
    ModulePath   &amp;quot;/usr/X11R6/lib/modules&amp;quot;&lt;br /&gt;
    FontPath     &amp;quot;/usr/X11R6/lib/X11/fonts/misc:unscaled&amp;quot;&lt;br /&gt;
    FontPath     &amp;quot;/usr/X11R6/lib/X11/fonts/75dpi:unscaled&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;Module&amp;quot;&lt;br /&gt;
    Load	&amp;quot;extmod&amp;quot;&lt;br /&gt;
    Load	&amp;quot;xaa&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
    Identifier  &amp;quot;Keyboard0&amp;quot;&lt;br /&gt;
    Driver      &amp;quot;kbd&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
    Identifier  &amp;quot;Mouse0&amp;quot;&lt;br /&gt;
    Driver      &amp;quot;mouse&amp;quot;&lt;br /&gt;
    Option	&amp;quot;Protocol&amp;quot; &amp;quot;MouseSystems&amp;quot;&lt;br /&gt;
    Option	&amp;quot;Device&amp;quot; &amp;quot;/dev/gpmdata&amp;quot;&lt;br /&gt;
    Option      &amp;quot;Emulate3Buttons&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section	&amp;quot;Monitor&amp;quot;&lt;br /&gt;
    Identifier	&amp;quot;PC110 LCD&amp;quot;&lt;br /&gt;
    VendorName	&amp;quot;Citizen&amp;quot;&lt;br /&gt;
    ModelName	&amp;quot;L6481L-FF DSTN&amp;quot;&lt;br /&gt;
    HorizSync	10-40&lt;br /&gt;
    VertRefresh	15-80&lt;br /&gt;
    Modeline	&amp;quot;640x480&amp;quot; 15.00 640 672 728 816  480 489 496 526&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section	&amp;quot;Device&amp;quot;&lt;br /&gt;
    Identifier	&amp;quot;PC110 SVGA&amp;quot;&lt;br /&gt;
    VendorName	&amp;quot;Chips &amp;amp; Technologies&amp;quot;&lt;br /&gt;
    Chipset	&amp;quot;ct65535&amp;quot;&lt;br /&gt;
    Driver	&amp;quot;chips&amp;quot;&lt;br /&gt;
    VideoRam	512&lt;br /&gt;
    Option	&amp;quot;SWCursor&amp;quot;&lt;br /&gt;
    TextClockFreq 15.00&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
    Identifier &amp;quot;Screen0&amp;quot;&lt;br /&gt;
    Device     &amp;quot;PC110 SVGA&amp;quot;&lt;br /&gt;
    Monitor    &amp;quot;PC110 LCD&amp;quot;&lt;br /&gt;
    DefaultColorDepth 8&lt;br /&gt;
    SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
    	Viewport	0 0&lt;br /&gt;
    	Depth		8&lt;br /&gt;
    	Modes		&amp;quot;640x480&amp;quot;&lt;br /&gt;
    EndSubSection&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ThinkPad LCD ====&lt;br /&gt;
Display on the internal LCD works as long as you set the monitor settings correct.&lt;br /&gt;
&lt;br /&gt;
==== External VGA port ====&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
=== Linux kernel Framebuffer driver ===&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this chip may be found in ===&lt;br /&gt;
* {{PC110}}&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Ed</name></author>
		
	</entry>
</feed>