Linux on the Acer Aspire One (160 GB HD model)

After a few weeks of playing with the Linux, 8GB SSD model, I decided that I would prefer the hard drive version. When the Linux version gave me what has become the infamous black screen of death, rather than flashing the BIOS, I returned it. I then waited for the 6 cell, 160 GB hard drive model to come out.

(Actually, the 160 GB one did the same thing, giving the black screen of death. There's a link to the solution of flashing the BIOS in the other article. In this case, as I really didn't want to take it back, I did the BIOS flash which fixed the issue. I won't know for awhile if this permantly fixes the issue or not, but judging from posts on the forums, it seems to do so. )

In the US at time of writing, it is only available with Windows XP. So, I bought it, and began by installing Fedora 10. As I never booted into Windows, I should be entitled to a refund for the O/S, but from all I've heard, save for Dell, who is apparently quite good about that, it takes a great deal of time and energy. In the US at this time, it seems that the amount of money I would have received would have been minimal. (The Linux version with an 8 GB SSD and 512 MB of RAM is retailing for about $329 USD while the 120 GB hard drive, 1 GB RAM model is about $369 USD.)

Preparation for the installation

As the machine has no optical drive, one has to either buy an external USB CD/DVD drive or use another computer to create a bootable USB stick. I chose the latter method.

If one is running Fedora, they have the GUI USB creator as well as the livecd-iso-to-disk program. Ubuntu has unetbootin, although I believe that's a third party program. Either one works.

As unetbootin is designed to be used on Ubuntu, if using it on Fedora, there are a couple of things that should be done. A guide to using it on Ubuntu can be found here.

The instructions say one should install p7zip-full. There is no such package in Fedora, intead, use p7zip and p7zip plugins.
yum -y install mtools p7zip p7zip-plugins

Ubuntu links /lib/udev/vol_id to /usr/bin or another bin file in the user's $PATH. Fedora doesn't, and unetbootin will complain about being unable to find vol_id. This is solved by creating a symlink.
ln -s /lib/udev/vol_id /usr/bin/vol_id

In the most recent version I used on CentOS, it was also looking for libaudio.so.2. I was running CentOS, which has different names for similar libraries. In this case, the closest thing I found was /lib/libaudiofile.so.0, so I made a symlink
cd /lib
ln -s libaudiofile.so.0 libaudio.so.2

This worked. I seem to recall this looking for libaudio being considered a bug, so it may be unnecessary to do that in the next version. Before using unetbootin, if necessary, format the USB stick. With the stick plugged in

mkfs.vfat /dev/sdb -I

That is assuming that the USB is seen as /dev/sdb.

If using Fedora, one might prefer to use Fedora's own livecd-iso-to-disk program. The Fedora project has a page with detailed instructions on how to use the program.

Installing Fedora and Ubuntu

I used the standard Fedora 10 Beta livecd iso. After using livecd-iso-to-disk to create a bootable USB stick, I plugged it in and turned on the laptop. As the Acer screen comes up, there is an option to hit F12 to choose the boot device. One of the options was for the USB.

Once it booted into the live system, I clicked on the install icon. Knowing that I would be trying a few different distributions on the machine, I deleted all existing partitions and started by creating a 2 gig swap partition and a 50 gig / partition. I didn't bother with a small /boot partition. This laptop will be primarily used for travel and will not have any irreplaceable data.

The Fedora installation was straightforward. Wireless and wired networking ran out of the box.

The wireless card is the AR5007EG wireless card. The new 2.6.27 kernels support it with the ath5k modules. Both Fedora 10 and Ubuntu's Intrepid have that kernel, so it wasn't a problem. For earlier kernels, one needs to use the MadWifi drivers. I cover using the MadWifi drivers on another page.

Sound worked, though I had to do a few things to get it to work consistantly. Part of the problem may stem from the fact that I use fluxbox as my window manager. I have a page about getting sound to work in Fedora with solutions to various issues, many of which have already been fixed by Fedora's developers. (Remember that this is a Beta version.)

Fedora with its tradition of innovation (or tradition of throwing half broken programs in as the default, depending upon your point of view), now uses Plymouth to boot. This is covered in the boot section of their release notes however, the AA1 requires slightly different settings.

The release notes suggest adding vga=0x318 to the kernel line in grub. However, with the AA1, that won't work. Use vga=0x315 instead. Then you can see the rather nice splash screen. That is the numeral zero before the x, not a capital letter o.

There is also a message, at time of writing that it cannot detect stabilization and is waiting 10 seconds. This message is harmless, albeit annoying. It can't find something or other, so pauses 10 seconds then continues without problems. If you add the vga=0x315 line mentioned above, you won't even see the message. Ubuntu was equally easy to install and configure. As this is the Intrepid Beta, it also runs the 2.6.27 kernel, and the wireless works. However, it also loaded the ath_pci module which seemed to cause a conflict. I added the following to /etc/modprobe.d/blacklist
blacklist ath_pci

After that, the wireless worked without problems. I also tried the Intrepid netbook remix. However, after installing the various remix packages, although the machine saw my wireless card, I could no longer connect with it. As I'd already decided that I didn't really like the changes that much, I just did a quick reinstall rather than troubleshoot. I don't use Ubuntu that often, however, I keep it around as many friends trying Linux for the first time ask me questions about it. So, I wasn't overly concerned about solving the problem.

I should add that the Hardy eee netbook remix works quite well for many people, judging from the aspire one forums. However, as I'd already installed Intrepid, I didn't try with the Hardy remix.

Both Fedora and Ubuntu have the cheese program available in their repos. This works, more or less, with the webcam. I also tried luvcview with both, which seemed to work a little better.

Ubuntu has luvcview available in its package repos, with Fedora, you probably have to build it. See my page on the 4720z Acer for details.

CentOS

CentOS is well known as being one of the more stable distributions around. Like Debian stable, the price of the stability is having somewhat older versions of many packages than some other distributions. Although best known as a server O/S, it can run quite well on the Aspire One, but takes a little more effort than Fedora or Ubuntu.

Also please note. In general, using third party software that is not from the official CentOS repos, can risk said stability. However, although we're going to use several third part packages, in practice, I have not had any problems with stability after installation.

I installed it after Fedora and Ubuntu. With an already working distribution on the machine, the process becomes far easier. There are workarounds for each step, but most would involve copying files to a USB, then to the CentOS installation. I am going to give the steps that I took here, but they do assume you already have something else installed on the machine.

I copied the CentOS install DVD iso to the Fedora installation. I then mounted the DVD and copied the images/diskboot.img to the USB stick. While in Fedora
mount -o loop CentOS-5.2-i386-bin-DVD.iso /mnt
dd if=/mnt/images/diskboot.img of=/dev/sdb

(This is assuming that the USB is seen as /dev/sdb.)

Then I rebooted, choosing to boot from the USB drive.

One major problem is that the CentOS installation iso doesn't have support for the wired ethernet card. The Aspire uses a Realtek 8101E card, supported by newer kernels with the r8169 driver. CentOS includes a driver for the r8169, but it is an older version that doesn't support the AA1's card. Furthermore, loading the driver will cause a core dump, at least on my machine. (Although only tested on one machine, I did test it with several installation attempts.)

When booting, at the boot prompt type
linux askmethod noprobe

The askmethod parameter means that the installation will not assume you are installing from a CD or DVD. The noprobe means that it should not probe and load modules.

After going through choosing the language and keyboard, you will then be asked what method you wish to use for installation. Hit H which will take you to hard disk. At this point, you will get a message that the necessary drivers aren't loaded and asked if you want to load the drivers. Choose the load drivers option.

When given the choice of drivers, ONLY choose the Intel ata_piix driver. It will then ask what partition and directory contains the installation image. In my case, I put it in the Fedora installation's root directory (that is /, as opposed to /root) so I just chose /dev/sda1. If it's in the / directory, it's not necessary to type / as the directory.

After that, install it as you normally would.

When installation is finished, you will have to blacklist the r8169 module before booting into the system, otherwise, you will get a coredump on bootup. Although one can do this by booting once more from the boot image and using rescue, I found it easier to quickly boot into the Fedora installation, mount the CentOS partition on /mnt, then edit /mnt/etc/modprobe.d/blacklist and add r8169. In this case, the CentOS installation is on /dev/sda5. So, as root, while in Fedora
mount /dev/sda5 /mnt
cd /mnt/etc/modprobe.d
vi blacklist

(I use vi, use whatever text editor you prefer.) Add the line
blacklist r8169

Then unmount the CentOS partition and reboot into it.
cd
umount /mnt
reboot

One of the first things to do is to get the ethernet card working. Fortunately, Alan Bartlett has packaged the Realtek driver as CentOS kmods for the RTL8101 card. This is one reason the whole thing becomes much easier if you already have a working installation. I booted into Fedora, grabbed the rpm, then copied it over to the CentOS partition. I then booted back into CentOS, installed the rpm and I could then connect to the Internet with the wired ethernet card. The kmod rpms are available here. At time of writing, you want the kmod-r8101-1.009.00-1.i686.rpm, unless you're running CentOS in Xen or with a PAE kernel.

The wireless will work. One has to install the MadWifi snapshot. See my article on the CentOS wiki for a detailed explanation.

Sound doesn't work out of the box with the included alsa drivers. This is also covered in the 4720z article mentioned previously. As a rule, downloading the alsa-kmdl driver to match your kernel version should fix the problem. (The link is for RedHat Enterprise Linux 5 rpms. This is assuming that you are using CentOS 5.2, the latest version at time of writing.)

The webcam works with luvcview. Installing the uvcvideo module and luvcview itself are also covered on the 4270z page.

Elive (development version)

I downloaded the Elive development version and used unetbootin to make a bootable USB stick.

Upon boot, one of the choices was the EEE PC version. Choosing that, wireless worked without problems. The network connection GUI tool, was unable to connect to my router. (WPA2, non-broadcasting). Their website does mention that the new network connection tool is very much under development. Using wpa_supplicant from the command line worked perfectly.

Sound worked out of the box. I didn't try the web cam.

I liked it enough to install it. This was also fairly straightforward. The only issue was that the tweaking that it does afterward took quite awhile. I'm not sure if this is typical of the distribution or not.

For those who like the Enlightenment desktop environment, it is a reasonable choice for the machine. Once installed, everything seemed reasonably quick and responsive.

SimplyMepis 8.0

I'd forgotten how much I liked SimplyMepis. Putting it on a USB stick requires a little more effort, as there's a minor glitch in the ISO. To get a bootable USB stick, one will need another computer with a working CD drive. Then follow the instructions in this post to create a bootable USB. (In a nutshell, run the Mepis CD, use its System Assistant to create a USB, then edit grub on the USB and copy the ISO over to the USB stick.)

Aside from that, upon boot, it will complain that it can't find a proper video mode, however, if one hits space to continue, when it gets into X, it will have chosen the usual 1280x600 used by most netbooks. Once installed (this will probably also work with the preliminary boot of the USB, but I didn't try it) edit /boot/grub/menu.lst. Change vga=791 to vga=8.

Wireless, sound and webcam all work out of the box. (I didn't see a webcam program installed, but apt-get install luvcview installed it and then it worked without further effort.)

Mandriva 2009

Many people on the aspireoneuser.com forums recommend Mandriva 2009. However, downloading the iso and installing to a USB key with unetbootin doesn't work properly. However, there is a simple way to do it.

There is an article here with the details, but in short. Format your USB drive, giving it the label of MANDRIVAONE. According to the article this is important. Assuming it's device /dev/sdb, while the USB stick is unmounted, as root or with root privilege
mkfs.vfat -n MANDRIVAONE /dev/sdb -I

Download the iso and install to the USB key with unetbootin as usual. Now, you will need a a kit designed by ordick.

The kit is a compressed tarball. Once downloaded, unpack it.
tar zxvf kit_mdv2009.tgz

In the newly created directory, kit_mdv2009, you will see several files. Copy them over to the USB drive. Some of them will overwrite the files that were created when you installed the ISO to the USB using unetbootin, this is fine.

You will now be able to boot from the USB and run the live CD. If you choose to install, I found that I had to, when given the choices for installing grub, uncheck the box for acpi and choose text mode. Otherwise, I got errors that it couldn't find the necessary files.

Installing directly from a downloaded ISO image (without a USB key or external drive)

Recently, I found an even simpler way to do this, assuming that one has already has an installation on the machine. These instructions are modified from the instructions found in the Sidux manual and the antiX wiki. We'll use Mepis as the example.

I haven't tried it on too many distributions. I did try on Mandriva, but it didn't work, perhaps because one of the files is in a separate directory. I suspect one could get it to work with Mandriva and others as well, though one would probably have to play with the files.

This will probably work with most distributions. The vmlinuz and initrd.img may be in /boot or might be elsewhere, such as isolinux. The two files might have different names, for example, Fedora always gives its vmlinuz and initrd files long names that include the kernel version. Some distributions call it initrd.gz while others call it initrd.img, but that doesn't matter.

We'll assume that you have Fedora in /dev/sda1 and Ubuntu in /dev/sda2. Swap is in /sda3 and you also have /dev/sda4 as an empty ext3 partition. It really doesn't matter, you can use any partition and it doesn't even have to be empty. It can have an existing installation on it. For example, in reality I used /dev/sda5 which was running GOS. However, for purposes of example, we'll assume you have an empty partition--however, it isn't necessary, especially if you're just trying the live CD.

While logged in to your existing installation, download the Mepis iso. Rename it--the idea here is that the name doesn't really matter, and it saves a bit of typing. Note that all this would have to be done either as root or with root privilege.
mv SimplyMepis8.iso mepis.iso

Create a directory for it called mepis. Next, we're going to mount the iso to get 2 files from it. existing Linux partition that you have available, even if there's already an installation there.
mkdir mepis
mount -o loop mepis.iso /mnt
cp /mnt/boot/vmlinuz ~/mepis
cp /mnt/boot/initrd.gz ~/mepis
umount /mnt
mv mepis.iso mepis/

We made a directory in our home directory called mepis. We then mounted the ISO on /mnt with the loopback option, which makes it readable, as if you'd had it on CD and used a file manager to explore the CD's contents. We then copied vmlinuz and initrd.gz to the mepis directory we created. Lastly, we umount the CD and move it into the mepis directory as well. So we now have a directory called mepis with three files in it, the iso itself and the initrd and vmlinuz files from it.

Next, mount the empty /dev/sd4 partion and move the mepis directory there.
mount /dev/sda4 /mnt
mv mepis /mnt
umount /mnt

Whether one uses an empty partition or one that has another distribution installed on it, the mepis directory should go directly under the / partition. I haven't tried putting it elsewhere--it might even work if one types the entire path in the next step, but it's probably better to put it directly under the / partition. If, for example, we were using our Fedora installation to store the file we would have done
mv mepis /

Next, edit grub.conf. In this case, we use Fedora's grub to boot the machine, choosing which O/S to run from there. We'll add a few lines.

Open /boot/grub/menu.lst with your favorite text editor and add this to the end.
title Mepis Live CD
kernel (hd0,3)/mepis/vmlinuz quiet fromiso=/mepis/mepis.iso
initrd (hd0,3)/mepis/initrd.gz

Now, if you reboot the machine and choose the Mepis Live CD entry, it should boot. (In Mepis' case, it will first complain about being unable to find a CD drive, but should boot eventually.)

If you looked at the Sidux and antiX links above, you will see that they both add various vga and other lines. However, this can sometimes, if you choose incorrectly, make the system get stuck looking for a proper visual mode. In Mepis' case, where it does quite well at configuring X as it boots, it's unnecessary. With some other distributions, it might be needed.

There are other methods of this which will work on most distributions. Mount the CD or DVD with the -o loop option as before. Then you can copy the entire contents of the CD to another partition.

CAUTION!! Be careful when you do this. With something like a CentOS DVD you can copy it to a partition that has another installation in its root partition. However, with many CD's and DVD's, there will be a boot directory. If you have an existing installation, and copy one of these over to that partition, it will overwrite that /boot directory, which will cause the other system to not boot. In this example, we'll use the CentOS DVD, since it doesn't have a boot directory on the CD. In the example, we'll assume you've downloaded it to your main installation on /dev/sda1. On /dev/sda5, you have a different distribution installed. For ease of typing, we'll say you have Fedora on /dev/sda1 and Ubuntu on /dev/sda5. The CentOS DVD has been downloaded while you are in Fedora. Still in Fedora, as root or with root privilege
mkdir /mnt/iso
mount -o loop CentOS-DVD.iso /mnt/iso

Substitute CentOS-DVD with the full name, for example, CentOS-5.2.i386-bin.DVD.iso or whatever.

I prefer to make a separate directory for the partition I'm mounting, to avoid any confusion.
mkdir ubuntumount
mount /dev/sda5 ubuntumount

Do a quick ls of both /mnt/iso and ubuntumount to make sure you won't be overwriting any files. In this case, we'll assume that there is nothing in the ls of /mnt/iso (the CentOS DVD) and ubuntumount.
cp -r /mnt/iso/* ubuntumount/

This will take a little while. When finished, unmount the two mount points.
umount /mnt/iso
umount ubuntumount

Next, edit /boot/grub/menu.lst. Add an entry similar to the one we did above
root (hd0,4)
kernel= /isolinux/vmlinuz root=/dev/sda5
initrd=/isolinux/initrd.img

Actually, in CentOS' case (as mentioned earlier), to boot the DVD you would also add noprobe to the kernel line. This will work with most distributions.

If you have an empty partition, perhaps the one that you are planning to use for installation, then you don't have to worry about overwriting a /boot directory, and can use a CD that keeps its vmlinuz and initrd in /boot.

In general, the machine works quite well with all distributions tried so far, especially when considers its theoretical purpose is as a secondary machine to browse the web, view emails, and the like.