First off I would like to say that I am very happy with this laptop as it packs a lot of
nice features for a great price and for a linux user everything is pretty strait forward.
One thing I did notice that was peculiar was that it appears that when loading up an install
kernel for slackware 9.0 and Red Hat 9.0 (I tried both) it seems that there is a bug which
causes the keyboard not to respond. I have also found that a normal 2.4.x kernel will have the
same problems. I have found 3 workarounds for this. One being to
send the no usb flag to the kernel on boot. Another even less desirable would be to hit the
keys on the keyboard randomly as the kernel boots. The last one which is what I would recommend
is to go into the bios and under Legacy USB Support, disable it.
Once slackware 9.0 was installed I was mildly surprised to see that most all the drivers
(besides acpi support,the 56k modem, and the ATI Host bridge) were
suppored in the bare kernel. The only thing that needed setting up for my needs was X, which was
very easy as an 'X -configure' detects all the settings correctly enough to have X up and
running well. How ever it loads the the VESA driver which is not the most correct driver,
but we will come to that later.
I prefer slackware as it is a very clean and strait forward distribution for an experienced linux
user. It does not really matter what distribution you use as Linux is Linux. It should be
pretty easy to apply the examples given to just about any distribution.
I would suggest getting the latest stable kernel(2.4.21 as of this writing) and going to the
Kernel patch Kernel patch homepage of Con Kolivas to get patches to improve the kernel performance on your laptop.
I had origionally tried kernel 2.5.70 and for the most part the kernel worked great but the kernel had serious issues with cloning
processes and rebooting was the only way to kill them. The devlopment kernel is very nice but is definitely not
ready for regular use yet(surprise surprise).
I would like to note here that there are more patches that you may like on Kernel patch homepage of Con Kolivas
but the only one really necessary is ACPI as your processor will run VERY HOT! without it. The CK Full
patch adds a great deal of performace tweaks to a desktop system it is well worth it. For my kernal I am
also using two other patches Supermount-NG v1.2.7 and Bootsplash
Supermount-NG v1.2.7 just automatically mounts and unmounts media, this functionality can also be provided with the program autorun. Bootsplash
gives a very nice boot up interface that I find desirable with a desktop system.
For the purpose of making this write up understandable to a wider audience I will be as informative
as possible. If you have decided to build a kernel exactly like mine with kernel 2.4.21 and the following
patches:
linux-2.4.21-ck1.patch.bz2 (The Con Kolivas Full Patch)
1050_SM1.2.7_0305310109_2.4.21-ck1.patch.bz2 (Supermount-NG v1.2.7)
1070_ACPI_0305311044_2.4.21-ck1.patch.bz2 (ACPI)
1090_BS_0306020027_2.4.21-ck1.patch.bz2 (Bootsplash)
You may save some time and headaches by using my config file, as it works and this kernel is very "finicky" as some options will
cause it to fail in one way or another(believe me I know, I had to recomple at least a dozen times before I got it all right and it ususally only takes me once or twice)
I would like to note though that everything is enabled in my configuration except Low latency scheduling which comes in the
Con Kolivas Patche full patch(It caused problems with the real time clock) and Bootspash as configuring it is very
different between distros(I am not even sure If I am going to use it as it was designed for systems using initrd). If you decide
you want to use Bootsplash more information can be found at www.bootsplash.org.
Download the kernel and patches(make sure you get ACPI at the very least)
place linux-2.4.21.tar.bz2 in /usr/src
unpack the file with the command: tar jvxf linux-2.4.21.tar.bz2
This will create a folder called linux-2.4.21
If you are going to apply the The Con Kolivas Full Patch: mv linux-2.4.21 linux-2.4.21-cv1
For good convention make a soft link to this folder with the command:
ln -s linux-2.4.21-cv1 linux
cd to /usr/src/linux
All Con Kolivas Patches are Bunziped so move all patches you are going to use to /usr/src/linux. Then
unpack each patch with Bunzip2 (patch name)
Each patch can be applied with the command: patch -p1 < (patch name)
Finally, make sure there are no stale files with the command: make mrproper
With your kernel now ready to go its time to actually configure it so... make menuconfig or make xconfig
I will now list the things you need to put in, any extra features you may want to add will
be up to you. (note* some options in the kernel set as default are needed although I do not mention them
so make sure you do not need something before you deselect it)
Processor type and features --->
[ ] Low latency scheduling (Comes with Full CK Patch but make sure this is not selected as it will cause problems with the rtc on this laptop)
Processor family (Athlon/Duron/K7)
[*] Machine Check Exception
[*] Preemptible Kernel (with CK Full Patch)
General setup --->
(200) Timer frequency (HZ) (200) (with CK Full Patch)
(note* Do not choose Power Management Support, ACPI is all you need, and I have found that problems arise when both are selected)
ACPI Support --->
[*] ACPI Support
* AC Adapter
* Battery
* Button
* Fan
* Processor
* Thermal Zone
ATA/ATAPI/MFM/RLL device support --->
* ATA/ATAPI/MFM/RLL device support
IDE, ATA and ATAPI Block devices --->
Include IDE/ATAPI CDROM support (needs to be a Module for CD-RW support)
* SCSI emulation support (For CD-RW support)
SCSI device support --->
* SCSI CDROM support (For CD-RW support)
* SCSI generic support (For CD-RW support)
If you need fireware support set these. Make sure Prompt for development and/or incomplete code/drivers is set under code maturity options or you won't see this option
IEEE 1394 (FireWire) support (EXPERIMENTAL) --->
* IEEE 1394 (FireWire) support (EXPERIMENTAL) (Probably best left as a module)
* OHCI-1394 support (best left as a module)
Networking support --->
[*] Networking support
[*] Network device support
Ethernet (10 or 100Mbit) --->
[*] EISA, VLB, PCI and on board controllers
* National Semiconductor DP8381x series PCI Ethernet support
Sound --->
* Sound card support
* Trident 4DWave DX/NX, SiS 7018 or ALi 5451 PCI Audio Core
(note* you can also use the alsa drivers for sound that can be compiled in as modules after you
build and install your kernel. The alsa drivers are from what I have learned the best sound drivers
for linux, in fact they are now included in the development kernel, as the standard and oss modules will
become depricated. I will say here that if you don't want to go to all that trouble, the 2.4.x
Trident 4DWave DX/NX, SiS 7018 or ALi 5451 PCI Audio Core driver works very well, better then most
standard kernel sound drivers I have come across.)
This concludes all the options that you need for support of all things on this laptop, although
I feel that there are a few more things not necessarily needed that are worth mentioning.
If you intend to use a USB mouse you will also need to enable
Human Interface Device (full HID) support under USB Support and
Mouse Interface under Input Device Support.(You will also need the appropriate
entry in your XF86Config file which I will cover later)
If you want to use a usb floppy or hardrive you need to enable
Mass Storage support under USB Support
If you plan on networking with Machines running Windows you need to enable
SMB file system support (to mount Windows shares etc.) under File Systems -
Network File Systems
Now that your kernel is configured go ahead and save the configuration (note* it might be
helpful to save the config to an alternate file first so if anything goes wrong you do not
have to start all over)
If you are using kernel 2.4.x you will need to do a make dep first
If you used 2.5.x (not recommended)or greater this step is not necessary.
Next: make bzImage
This will compile the kernel and place it in /usr/src/linux/arch/i386/boot/
Next you need to build the modules with make modules
Now the kernal and modules have been built all that is left it to install your new
kernel!
First its important to keep your existing kernel in case something goes wrong. Look inside the
/boot directory and find your existing kernel it will probably be called vmlinuz. If unsure just
do a file /boot/* and look for x86 boot sector.
now copy /usr/src/linux/arch/i386/boot/bzImage to your /boot dir ensuring to name it something besides
what your current kernel is named.
Next is to install the modules so cd to /usr/src/linux and make modules_install
(note* If this is the first time installing the new kernel then this is all you need to do. If you
have compiled this exact kernel before it might be a good idea to delete or rename
/lib/modules/2.4.21-ck1 first as you might get an unresolved symbols error)
This will allow you to boot back into the old kernel in case something goes wrong.
It may also be worth mentioning at this time that if you want to be able to burn CD's with
your cdrom to make sure the entry: append="hdc=ide-scsi" is at the beginning
of the lilo.conf file.
Save your configuration and do and type: /sbin/lilo
Assuming that your kernel booted and all is working well you will want to install and use
acpid. Acpid moniotrs /proc/acpi and reports changes to them such as the power button being depressed
or the lid of the laptop closing. It can then send this information to a shell script which could in turn
power down the computer or put it in suspend or generally what ever you desire. If you are interested in
this feature I have written a mini-howto on it which explains in detail the configuration.
Supermount is the desktop users dream. It will automatically mount and umount through normal use of the cdrom, thus
removing the need for cryptic mount commands all the time. If you decided to compile support for it into the kernel
I have written a mini-howto to help get you started.
The biggest problem with this part is the ATI AGP currently has no support. The command
/sbin/lspci reveals:
00:00.0 Host bridge: ATI Technologies Inc: Unknown device cab0 (rev 13)
Despite this I have found X to run fine in VESA mode and for me the performance is acceptable except for things
like DVD playback where xv is not supported. Hopefully this will all be resolved fairly soon.
It has been reported possible to run the card with the Radeon driver but it is a hack at best, and does not
work with acceleration. If your interested in that route here is an informative link.
http://www.cybersym.com/pages/linux-ze4100.html.
Another route would be to add an existing kernel patch and recompile X. It's of couse a good idea to
recompile X on your machine anyway as it will build X to run better on your machine. If your interested in
this route here is a good link.http://www.rexursive.com/articles/linuxonhpze4201.html.
Questions, Comments, Concerns, Complaint Department
Feel free to contact me with comments, questions or suggestions;
mail to : capaman at gawab dot com