Acer Aspire One Netbook
<<TableOfContents: execution failed [Argument "maxdepth" must be an integer value, not ""] (see also the log)>>
This HowTo includes using third party programs that have not been tested by the CentOS team. Procede at your own risk.
That being said, it's unlikely to break anything.
1. The Laptop
Model: Aspire One
CPU: Intel Atom CPU N270, 1.60GHz
RAM: 1 GB
Hard drive capacity: 160 GB
Wireless: AR5007EG, indentified by lspci as AR242x. See wiki page about the card for details on how to make it work.
Ethernet: RTL8101E Doesn't work without kmod drivers. See below.
Sound: Doesn't work out of the box. Intel 8280, uses snd_hda_intel module. Module loads but device has no sound. This can be fixed by installing newer alsa drivers. See below.
Video: Intel Mobile 945GME works out of the box
Touchpad or other pointing device: Synaptic Touchpad works out of the box
USB: Works without problem
Firewire: No firewire port
Webcam: Can be made to work. See below.
2. Choice of Model
In the US, at least, there are four basic types of this laptop being sold. The Linux versions come with a 3 cell battery, giving a life of under 3 hours. One has an 8 GB SSD and 512MB of RAM and the other has a 16 GB SSD and 1GB of RAM. The SSD has an extremely low write speed. They are preloaded with Linpus Lite, which though based on Fedora 8 (which is reaching EOL) is extremely limited, quite frustrating to the experienced Linux user.
Upgrading of RAM, though possible, is non trivial. It involves complete disassembly of the machine, to the point of removing the rubber feet on the bottom (which are attached with double sided tape) to reach necessary screws. It is possible that it may also void the warranty, although it seems that not even Acer is sure of that one way or the other.
The reader is advised to buy one of the hard drive models. Although they come preloaded with Windows XP home, it is easy to install the Linux distribution of choice.
In the United States, the cost difference is relatively low--the 16 GB SSD Linux model and Windows XP 120 GB hard drive model both with 1GB of RAM and a 3 cell battery retail for approximately $350 USD. The 8 GB SSD Linux model, with 512MB of RAM, also with a 3 cell battery retails for approxmately $330 USD. The Windows XP 160 GB hard drive model, with 6 cell battery, giving battery life of up to 6 hours (though this may be optimistic) retails for approximately $400 USD. The information below is taken from the Windows XP 160 GB model, though it would be equally applicable to the 3 cell, 120 GB model.
3. Installation Methods
As the machine has no internal CD ROM drive, the user can either utilize an external CDROM or a USB thumb drive. Alternative install methods are described at
http://www.centos.org/docs/5/html/5.2/Installation_Guide/ch02s04s01.html for USB installation and
http://www.centos.org/docs/5/html/5.2/Installation_Guide/ch02s06.html for hard drive installation.
However, the reader is strongly advised to first install another distribution, giving it 5 or 6 gigabytes of space (to hold the CentOS DVD). This will make all of the following steps relatively trivial. If the reader chooses to not do this, they will still have to have another computer and USB thumb drive available, copy several files back and forth, and generally give themselves a great deal of inconvenience. The following instructions assume that the reader has chosen to take this advice and has another working Linux installation on Aspire One. (Both Fedora and Ubuntu, as well as many other distributions, install quite easily from a USB thumb drive, using their own tools. Additionally, some distributions have created an image for the Aspire One, designed to be copied to USB stick and installed from it.)
As neither wired nor wireless ethernet drivers are available from the installation media, a network install would also be non-trivial.
NOTE: As of CentOS 5.3, much of the below should prove unnecessary. It is expected that the wired ethernet will be recognized during installation. This is, as yet, however, untested and the original author of this article changed netbooks, so will not be able to test this.
3.1. Preparation (Using a USB thumb drive)
While running the other Linux distribution, that you have wisely installed first, download the CentOS ISO. At time of writing, 5.2 is the latest version. Although some Atom processors can run 64 bit systems the N270 will only work with the x86 architecture.
Once the iso has been downloaded, verify it with the md5sum command. In the example, it is assumed that the reader has downloaded the 5.2 iso files.
If one uses the torrent to download the DVD or finds a DVD iso, change the name of the file accordingly. All mirrors should have the proper md5sums in a separate .txt file.
Save the ISO or ISOs in a directory on the running Linux installation. For example, (to give yourself the least amount of typing later), as root or with root privilege, assuming you downloaded the iso files to /home/john.
cd / mkdir centos52 mv /home/john/CentOS*iso centos52/
Next, you will need to copy the diskboot.img from the first ISO to the USB stick. If you plug in the USB, it will probably be seen as /dev/sdb. One can check by plugging it in and doing a ls /dev/sd*. At times, if you had it plugged in before, unplug it, and plug it in again, it may be seen as /dev/sdc. Once you have determined its designation in /dev (in this example, we'll assume that it's /dev/sdb), mount the first CD (or DVD if you've used the DVD torrent) with the loop option and copy over the diskboot.img file. This may overwrite files on the USB stick, so it is best to use one that doesn't have anything you need on it.
cd /centos52 mount -o loop CentOS-5.2-i386-bin-1of6.iso /mnt dd if=/mnt/images/diskboot.img of=/dev/sdb
When this is done, unmount the CD (using the umount command--be careful it is umount without an "n") and reboot. Leave the USB drive plugged in, it will be used to boot during the installation.
umount /mnt reboot
As the machine reboots, the first Acer splash screen will have a message to hit F12 to change boot method. Do so.
You will come to a screen where one of the options will be the USB drive. Choose it and you will boot into a normal CentOS installation screen.
IMPORTANT NOTE: If using the a USB stick with CentOS 5.3, you must remove the USB stick as soon as Anaconda starts. See http://wiki.centos.org/Manuals/ReleaseNotes/CentOS5.3#head-198f803bc13b52348780db429ae42e0daf82282b (the second to last of the known issues)
3.2. Preparation (Installing with no external hardware)
If a USB or external drive is not available, but you already have another distribution installed, one can use that distribution's tools to prepare for installation.
As in the previous section, copy or move the ISO to the partition's root. Assuming that you have Fedora (or any distribution) on /dev/sda1 and have already moved the ISO to /, while in the / directory
mount -o loop CentOS-5.2-i386-bin-1of6.iso /mnt cp /mnt/isolinux/vmlinuz . cp /mnt/isolinux/initrd.img . umount /mnt
In the working distribution's / directory, you will now have the CentOS iso, the file vmlinuz and the file initrd.img. Add an entry to the working distribution's /boot/grub/menu.lst. This entry will only be used to boot for the installation, and can be removed afterwards. This entry assumes that you are using /dev/sda1 to store the ISO and other two files, otherwise, adjust your grub menu.lst accordingly.
title CentOS Install root (hd0,0) kernel /vmlinuz fromiso=CentOS-5.2-i386-bin-1of6.iso noprobe askmethod intrd=/initrd.img
The noprobe and askmethod parameters are explained in the next section.
When you reboot the machine, if you choose the CentOS Install entry, you should boot into a typical CentOS installation.
3.3. The Installation
When the CentOS installation screen comes up, if you have used the USB method, at the command prompt type
linux askmethod noprobe
(If you use the other suggested method, booting directly off the hard drive, rather than a command prompt, it will boot and go directly to the installation screens, beginning with asking for your choice of language.)
The reason for the noprobe option is that CentOS, in a noble effort to get the wired ethernet working, will load the r8169 module. Unfortunately, not only does the module not work with the card, it will probably cause a core dump, bringing your installation to an aggravating halt.
The screen will go through choosing keyboard, language and possibly a few other options and then come to the choice of installation method. Hit H which will highlight the Hard Disk method.
At this point, you will see a message that the necessary drivers aren't available, and an option to choose drivers. Choose the load drivers option. From the list of drivers, choose the Intel ata_piix driver. Do not choose any other drivers at this time.
It will then ask for the location of the partition and directory containing the installation image. If the currently working Linux installation is on /dev/sda1, the first partition of the hard drive, and you have put the files in the suggested /centos52 directory, choose sda1 for the device and, oddly enough, /centos52 for the directory.
At that point, installation should proceed as it would on any other machine.
IMPORTANT NOTE: When the installation gets to the part where grub is installed, if you are planning to keep the Fedora (or other) previous installation, then check the box for advanced boot options. In the following screen, rather than accepting the default of installing grub in the MBR, choose to install it in the /boot or / (if there is no separate /boot partition) partition of the CentOS installation. If you do install grub into the machine's MBR, you will not be able to boot your Fedora (or other) install and it will make the steps immediately after installation a little more complicated.
The beginner is strongly advised to choose to install grub into the /boot or / partition of the CentOS installation. If accepting the default of the MBR, it is expected that the reader has a method to get files from the Internet from another computer and knows how to later transfer those files to the CentOS installation via USB or another method that does not require a working network connection on the CentOS machine. It is also expected that they are familiar with vi or nano, as those will be the only text editors available for necessary steps after installation.
When installation is finished, you will see the typical screen telling you installation has completed, with a button to click for reboot.
4. Before booting into the new CentOS installation
The r8169 module, will be automatically loaded when your new installation boots up. This will cause it to core dump during bootup, so it must be blacklisted before boot. (It seems to load even if one chooses to boot into single user mode.)
This is the second place where the previous installation makes your life easier. While one could boot into rescue mode and blacklist the module that way, the simple way to do it is to boot once again into the previously installed Linux version.
So, upon reboot, don't boot into your new CentOS install. Boot into the previously existing installation. In the example, we'll assume it's Fedora and that you're using su rather than sudo, simply to save typing sudo before each command.
Assuming you have installed grub into the CentOS's /boot or / partition, the first thing to do is edit the Fedora's grub. In Fedora, this can be done by editing /etc/grub.conf. In other installations it may be necessary to edit /boot/grub/menu.lst. In either case, add the following lines. (This assumes that the CentOS grub partition is /dev/sda3.
title CentOS rootnoverify (hd0,2) chainloader +1
If the CentOS grub is in another partition, edit accordingly. The hd0,X line should be one number less than the CentOS grub partition. In other words, if CentOS grub is in /dev/sda6 the hd0,X line should have (hd0,5).
4.1. If GRUB was installed in the MBR
If you have installed the MBR into the root partition, it will be necessary to boot from a USB stick. At the boot prompt type in
linux rescue noprobe
Repeat the steps followed during installation, i.e., choosing the ata_piix driver and /dev/sda1's /centos52 partition as the location containing the rescue image. It will then ask you to choose the partition containing the CentOS install and mount it under /mnt/sysimage.
From there the user can either chroot to /mnt/sysimage or directly edit /mnt/sysimage/etc/modprobe.d/blacklist to follow the next step.
4.2. Blacklist the r8169 module
Once the other system has booted, you will mount the CentOS partition and edit its module blacklist file. In the example, we will assume that it was installed on /dev/sda3. (We're assuming you used /dev/sda2 for swap.)
mount /dev/sda3 /mnt cd /mnt/etc/modprobe.d
With your favorite text editor open the file called blacklist and add the line blacklist r8169
If grub is in the MBR and you are using rescue mode, at this point you can reboot. As per the warning in the installation section, it is assumed you will have alternative methods to install the wired ethernet driver.
If you are using another distribution's installation and have mounted the CentOS installation, don't umount the partition and reboot yet, there is more work to be done.
4.3. Download the wired Ethernet driver
Realtek has made drivers available to the open source community. To make life easier, there is a kABI tracking kmod available for the RTL8101 card. While in the already working Linux installation, get the latest driver from http://elrepo.org/
At time of writing, you should take the kmod-r8101-1.011.00_NAPI-1.el5.i686.rpm.
Once you have downloaded the rpm, copy it into the mounted CentOS partition. As you will need root privilege to install it, you might as well copy it into root's home directory.
cp kmod-r8101-1.011.00_NAPI-1.i686.rpm /mnt/root
Now that this is done, you can umount the partition and boot into the CentOS installation.
umount /mnt reboot
5. After booting into CentOS
After the first boot and going through its various dialogs, you will probably want to install your ethernet driver. Assuming you are root at this point
cd rpm -Uvh kmod-r8101-1.011.00_NAPI-1.i686.rpm modprobe r8101
This should install and load the module. On rare occasions, a reboot may be necessary, but it shouldn't be. You can check that the module has loaded successfully with ifconfig eth0. If you get a response other than one to the effect that there is no such device, the module loaded properly and you can then configure your network as you usually would. At this point, you can also configure wireless, sound and the webcam if you so desire.
At this point, check /etc/modprobe.d/blacklist. The kmod-r8101 package will actually add a line blacklisting the r8169 module to /etc/modprobe.d/blacklist Not that it will really hurt to have it blacklisted twice, but for neatness' sake, if the line is there twice, you can remove one of them.
See the CentOS wiki article on the AR5007EG for details. In short, you will download the MadWifi snapshot, install some development tools and compile the module.
Although the snd_hda_intel module is loaded, the alsa drivers provided with CentOS 5.2 won't work with the sound card. Installing the alsa-kmdl-<your-kernel-version> should work. Download the appropriate module and install it with rpm -Uvh. As the sound module will be in use, a reboot will probably be necesary.
If you still don't have sound, it may also be necessary to create an /etc/modprobe.d/alsa-base file and put the following line in it.
options snd-hda-intel model=acer
Once again,a reboot may be necessary before sound will work since the module will be in use (even though it's not working properly) and will not unload.
NOTE: At least one user found that if they did this, the internal speakers remained active after plugging in headphones. The user's suggestion is to use
options snd-hda-intel model=acer-aspire
The webcam will need the uvc module for the video. Once again the atrpm module can be used. Download the uvc-kmdl-<your-kernel-version> rpm and install it with rpm -Uvh. Then, load it with modprobe uvcvideo. After that, you should see that you have a /dev/video0 in your /dev directory. It should then work. If you like the luvcview application, instructions for installing it on CentOS can be found here. The instructions are for Fedora, but they apply equally to CentOS.