In summer 2005 I decided, that I need a successor for my more then five years old notebook. The new one should have a modern mobile processor with 64-bit architecture, a big harddisk, a lot of RAM, wireless lan, and good expandabilities. The new Acer Aspire 5020 and Acer Travelmate 4000 series did fullfill my needs for a moderate price.
I found an austrian vendor offering an Acer Aspire 5024 WMLi with 100 GB harddisk and 1 GB RAM. He was also delivering to Germany, so I bought this "Designed for Microsoft Windows XP" notebook and installed Gentoo Linux. Some things didn't work out of the box, but after some research most of the problems are gone. The notebook is doing well now.
CPU | AMD Turion 64 ML-34 (1800 MHz) |
Display | 15,4" WXGA CrystalBryte TFT LCD (1200x800) |
Graphic card | ATI Mobility Radeon X700 PCI Express with 128 MB RAM |
Harddisk | Seagate Momentus 4200.2 - ST9100822A (100 GB, 4200-RPM, 8 MB cache buffer) |
CD/DVD | Matshita UJ-845D (Panasonic OEM), Dual Layer DVD+RW |
RAM | 1 GB DDR RAM (2 x 512 MB), up to 2 GB possible |
Wireless LAN | 802.11 b/g, Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02) |
Ethernet | 10/100/1000 MB, Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet (rev 10) |
Modem | 56Kbps, ATI Technologies Inc ATI SB400 - AC'97 Modem Controller (rev 02) |
Sound | ATI Technologies Inc IXP SB400 AC'97 Audio Controller (rev 02) |
Card reader | MMC/SD/SM/MS/MS PRO/xD, Texas Instruments PCIxx21/x515 Cardbus Controller |
FireWire (IEEE 1394) | Texas Instruments OHCI Compliant IEEE 1394 Host Controller |
Chipsets | ATI Technologies Inc RS480 Host Bridge (rev 01) |
ATI Technologies Inc IXP SB400 (USB/USB2 Host Controller, SMBus Controller, PCI-ISA/PCI-PCI Bridge) | |
Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] |
The notebook was delivered with Microsoft Windows XP preinstalled.
So the first thing to do was getting rid of it. Besides Windows I also
found a small recovery partition of 2 GB size and "compaq diagnostics"
type (type 12). Actually this is a FAT-formated partition containing
some images necessary to reset the installation to delivery status.
I decided to keep this recovery partition in case I would like to resell
the notebook in future. But I didn't want the partition sitting in the
first place on my hard disk. This does not harm. It's just a personal
spleen to push such unused stuff to end
So I took a Gentoo Linux minial CD for amd64 architectures (at this
time 2005.0 had been the latest release) to delete Windows, move the
recovery partition, partition the rest of my hard disk and start the
installation... and got a shock. After bootig from the CD, the keyboard
did not work. Not a single button.
It took me some time and a lot of googling to find the simple solution.
I had to press a button, e.g. the Shift-button, during the boot process.
At a later date I learned that the clock was running twice it should,
which caused the keyboard ignorance. After solving the clock problem, the
keyboard problem was gone, too.
A lot of people inexperienced with Linux are asking "How did you partition your hard disk?" Well, the partitioning is really up to someones personal needs. And parted does a good job, if you want to change your partitioning later. However, rembering my first encounter with Linux, I really understand this question. So here is my decision for those, who are uncertain.
/boot | 32 MB |
swap | 2 GB |
/ | 20 GB |
extended partition: | |
/var | 10 GB |
/stuff | the rest |
You may notice, that I do not have a separate home partition. This
is, because I do not use my homedir execept for some really personal
data like application configurations. Every other stuff is located in
project folders beneath /stuff
.
It is also a good idea to collect your favored USE flags and CFLAGS before you start the installation, especially if you are new to Gentoo Linux. You will need them later.
Which USE flags to choose, is really up to your personal needs. Selecting them for the first time could be somewhat confusing. That's no problem. They can be changed later very easily. Since activating or deactivating a special USE flag won't make your notebook unusable, there's no need to make a particular recommendation; just some hints:
Due to the processor architecture of AMD 64-bit systems there is no need for special optimizations like mmx, sse, and so on. So the following USE flags will be ignored:
3dnow
, mmx
, sse
and
sse2
Which CFLAGS to use, is also up to your personal needs. And it is a questions of high experience or time to test different settings or faith. Ask three people, which CFLAGS are the best, and you will get four answers. When unsure, use the recommendations. They are fine for most systems. Myself I did use
CFLAGS="-march=k8 -O3 -pipe"
After some month of using -O3
I am not sure, it has been
wise, to use this higher code optimization. The slowest part of the
notebook is definitely the harddisk. So smaller binaries and therefore
shorter loading time might speed up the daily work much more then faster
running binaries. I think, I should give -O2
a try, change
the CFLAGS setting and recompile everything.
By the time I installed Gentoo Linux on my Aspire notebook, a stage1 tarball was publically available. I decided to use it because I wanted to build my system as much vom scratch as possibile without doing everything by myself.
At current there is no stage1 tarball anymore. The recommended installation method is using a stage3 tarball, because this way is much more robust. However, this does not mean, the following description is useless for people installing a current release. Stage1 and stage3 installation methods do differ only in bootstrapping the system which is still possible with a stage3 tarball.
The best way to setup Gentoo Linux is following the Handbook. The whole process is very well documented and does not need any additions.
By the time, I setup the notebook, gentoo-source has been to only kernel package offered by Getoo Linux with support for AMD64. It is working fine, so I am still using this kernel, using the newest stable version.
The Mobility Radeon X700 cards are supported by the media-video/ati-drivers package. I first tried the avaible stable version, but it did not compile. So I unmasked the newest available version, to get the driver working with the current stable kernel.
This is still a problem. New kernel versions often break ati-drivers. In that case, you should try a newer version of ati-drivers, too, even if it is still masked.
After emerging ati-drivers I simply added the corresponding module
fglrx
to /etc/modules.autoload.d/kernel-2.6
.
That's all.
As noted earlier, the clock was running twice as fast it should. By
the time I tried diffent patches and kernel options, but none of them
was working really well. Eventually, I decided to use the boot
parameters noapic lapic
. They had the fewest side effects.
I was not able to reboot or power-down the laptop using a command. I had
to shutdown the system first and then use the power button. That's a
litte price for a well running clock.
With Kernel 2.6.16, this problem is gone. Using this (or a newer) kernel version will run the clock at normal speed without any boot parameter.
With early versions of 2.6 kernels I had a hard time to get the
battery detection working. I tried different patches, additional kernel
modules and kernel options, but nothing changed.
/proc/acpi/battery/BAT0
was always empty. I also tried to
fix the broken DSDT (see below), which removed some annoying error
messages during boot, but did not fix the smart battery support.
Only with a newer kernel (don't remember, which one) it worked. And
it worked like charme out of the box. The only thing I had to do, was
adding the boot parameter ec_burst=1
. At a later kernel
version I found, this boot parameter isn't neccessary any longer. So I
removed it.
To enable ACPI acting properly with the hardware, it needs a DSDT. This is a description table containing the information and configuration information about the base system. So it is obvious that a broken DSDT will lead to broken hardware support. You won't think, a manufacurer would deliver its laptops with a broken DSDT. But Acer (and others) do. They do not only deliver broken DSDTs, they also do not offer fixes, even if you ask for it. This is really embarrassing.
Since I could not find a fixed DSDT, I had to take the hard tour and tried to fix it myself. I am not really firm with these thing, so the Only thing, I could do was adding smart battery support using sbs-linux and fixing some blatant errors. There are still other issues. I hope someone with better ACPI knowledge will fix them some day.
To use my DSDT I had to enable the custom DSDT options in the kernel, and provide a path to the hex dsdt table that I compiled. If you want to try my compiled version, you could download it here. You have to use it on your own risk, you know.
Updating the BIOS is usually simple. All you need (besides a backup) is a DOS boot disk and the new BIOS of course.
For no special reason in March 2008 I wanted to update the BIOS to the newest version available at Acer's FTP site. A lot of people will say, "if you have no special reason, stay away from doing that." This is a really good advice for those who are doing it the first time — especially because I faced unexpected problems.
Due to the missing floppy you have to use a CD here instead of the boot disk. I decided to use a FreeDOS boot disk image to create the CD and was stopped by the new BIOS. The files are too big to be added to the disk image.
OK, not a real problem. Put the BIOS files on the harddisk and boot from CD. In order to do this, I first had to create a FAT partition by resizing an existing ext3 partion to get some space. But after that I realized that none of the FreeDOS images are working with my notebook. Neither did the full installation CD (version 1.0).
Next try was an old Windows 98 Second Edition boot disk copied to the FAT patition and started via grub's chainloader option. This time I stumbled over the Gentoo bug 211584 (grub fails on hide). I had no luck with the previous ebuild either. Even tried the next version, which was hard-masked by the gentoo maintainers and after re-emerging the buggy version I couldn't even boot anymore (grub failed). Fortunately I realized, that something (probably one of the grub versions) messed up my partition types.
At this point I've been tired of booting from Linux live CDs and installing different grub versions. I searched the web for a Windows live CD and found something similar: The ultimate boot CD. This one actually worked out. I got a running FreeDOS (huh?) from the CD and could finally setup the new BIOS (currently 1.20). Yay. It's pretty much like the old one and without any recognizable change. But it's certainly much better.
Conclusion: Stay away from updating your BIOS if you do not need it and are not able to solve unexpected problems by yourself. ;o)
Framebuffer support is doing fine. I just activated the corresponding
kernel options, recomplied the the kernel and added the boot parameter
vga=791
for a comfortable resolution.
to be continued...