Installing Fedora 10 on the Acer Aspire One
After many hours of playing with my Aspire One I have settled on Fedora 10 for my distro of choice. A lot of this guide have been adopted from, The road to Elysium blog. However, I prefer to use GNOME and the Ext4 filesystem. I have not noticed performance hit from using Ext4.
These steps are intended to be performed from top to bottom and in order.
My Hardware
- Acer Aspire One (A150)
- 1.5GB RAM
- 60GB OCZ SSD
- 6-Cell Battery
- USB Flash Drive
Live CD Creation
- Download the Fedora 10 Live CD. (681MB)
- Download UNetbootin. Linux (3.6MB) Windows (3.8MB)
- If you’re using the Linux version, remember to do the following. Be sure to run the program as root.
chmod 755 unetbootin-linux-307
sudo ./unetbootin-linux-307
- If you’re using the Linux version, remember to do the following. Be sure to run the program as root.
- Open UNetbootin and load the Fedora ISO on it. Look at the configuration below.
Live CD Installation
- Insert your USB flash drive into the Aspire One.
- Press F12 at the BIOS prompt.
- Select your USB KEY as the location to boot.
- Once you are on the Live desktop, double-click on “Install to Hard Drive.”
- Continue through the installation process. When presented with the partition choices, choose “Custom Partition Layout.”
- Delete all partitions on the drive.
- Create the boot partition. (This will most likely become /dev/sda1)
- Mount Point: /boot
- Filesystem: Ext2
- Size: 200MB
- Create the root partition. (This will become /dev/sda2)
- Mount Point: /
- Filesystem: Ext3
*It doesn’t matter which filesystem you choose. It will be Ext3 no matter what. This is due to the way the Live CD installs itself. It does a dd of the live image to the hard drive. - Size: Remaining free space
- Continue with the installation. Once the image is transferred you will need to reboot.
- Once the system boots the installer will ask you a few more questions.
Disable SELinux
- After the installation is completed you need to disable SELinux. Edit /etc/sysconfig/selinux to look like the following.
SELINUX=disabled
Converting the Ext3 Filesystem to Ext4
- Reboot the machine and load the Live CD once again.
- Open a terminal. (Applications -> System Tools -> Terminal)
- Mount the local disk.
su -
mkdir /mnt/disk
mount /dev/sda2 /mnt/disk
mount /dev/sda1 /mnt/disk/boot
mount -o bind /sys /mnt/disk/sys
mount -o bind /proc /mnt/disk/proc - Change the root filesystem.
chroot /mnt/disk /bin/bash
- Edit the /etc/fstab file. Change the root filesystem from ext3 to ext4. Example below.
/dev/sda2 / ext4 defaults 0 0
- Run a filesystem check.
fsck -pf /dev/sda2
- Convert to ext4.
tune2fs -O extents,uninit_bg,dir_index /dev/sda2
- Run another filesystem check.
fsck -pf /dev/sda2
Creating the New Initial Ramdisk Image
- Change the current working directory.
cd /boot
- Move the old image.
mv initrd-2.6.27.5-117.fc10.i686.img initrd-2.6.27.5-117.fc10.i686.img.ext3
- Create the new initial ramdisk.
mkinitrd initrd-`uname -r`.img `uname -r`
- Exit the chroot environment.
exit
- Unmount filesystems.
cd
umount /mnt/disk/boot/
umount /mnt/disk/sys/
umount /mnt/disk/proc/
umount /mnt/disk/ - Reboot the system.
reboot
SSD Optimization
Perform the following if you’re using an SSD. If you’re using a hard drive you can skip this section.Create Ramdisks to Store Frequently Written Areas
- Edit your /etc/fstab file. Add the following lines.
tmpfs /var/log tmpfs defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0
Disable Access Time Attributes
- Edit your /etc/fstab. Modify the root partitions settings. Add noatime and nodiratime to defaults.
/dev/sda2 / ext4 defaults,noatime,nodiratime 0 0
Optimizing the Kernel
- Add the following to your /etc/rc.local file.
# Economize the SSD
sysctl -w vm.swappiness=1 # Strongly discourage swapping
sysctl -w vm.vfs_cache_pressure=50 # Don't shrink the inode cache aggressively
# As in the rc.last.ctrl of Linpus
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
cat /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_max > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
echo 20 > /proc/sys/vm/dirty_ratio
echo 10 > /proc/sys/vm/dirty_background_ratio
echo 1 > /sys/devices/system/cpu/sched_smt_power_savings
echo 10 > /sys/module/snd_hda_intel/parameters/power_save
echo 5 > /proc/sys/vm/laptop_mode
#Decrease power usage of USB while idle
[ -w /sys/bus/usb/devices/1-5/power/level ] && echo auto > /sys/bus/usb/devices/1-5/power/level
[ -w /sys/bus/usb/devices/5-5/power/level ] && echo auto > /sys/bus/usb/devices/5-5/power/level
/sbin/setpci -d 197b:2381 AE=47
/sbin/modprobe pciehp
/sbin/modprobe sdhci
Change the I/O Scheduler
- Edit the /etc/grub.conf file. Add “elevator=noop” to the kernel line.
kernel /vmlinuz-2.6.27.5-117.fc10.i686 ro root=/dev/sda2 rhgb quiet elevator=noop
General Optimizations and Improvements
These are some tips and tricks that should help improve the Fedora experience for everyone.
Fix SD Card Reader Issues
- Create a file in /etc/modprobe.d to blacklist a module.
echo "blacklist jmb38x_ms" > /etc/modprobe.d/blacklist-msreader
Disable Unnecessary Services
- Run the following to disable numerous services that are irrelevant to most netbook situations.
I have disabled the CPU throttle service. I prefer to have the full performance. I’m not sure how much more power is used.for s in atd auditd avahi-daemon bluetooth cups cpuspeed gpm ip6tables kerneloops mdmonitor netfs nfslock portreserve rpcbind rpcgssd rpcidmapd sendmail setroubleshoot livesys livesys-late microcode_ctl; do echo "chkconfig $s off"; chkconfig $s off; done
Use the Madwifi Kernel Module
This is optional. By using this module instead you can get the wifi led lights to blink while there is network activity.
- Install the RPM Fusion repository.
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
- Install the madwifi kernel module.
yum install madwifi
- Add the following to your /etc/sysctl.conf file.
dev.wifi0.ledpin = 3
dev.wifi0.softled = 1
Using a Better Sound Module
- Create a file in /etc/modprobe.d to load the correct sound module.
echo "options snd-hda-intel model=acer-aspire" > /etc/modprobe.d/sound
New Startup Graphics
- Edit the /etc/grub.conf file. Add vga=0×315 to the kernel line.
kernel /vmlinuz-2.6.27.5-117.fc10.i686 ro root=/dev/sda2 rhgb quiet elevator=noop vga=0x315
Enable gsynaptics
- Create /etc/hal/fdi/policy/10-synaptics.fdi with the following contents.
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.touchpad">
<match key="info.product" contains="Synaptics TouchPad">
<merge key="input.x11_driver" type="string">synaptics</merge>
<merge key="input.x11_options.SHMConfig" type="string">On</merge>
</match>
<match key="info.product" contains="AlpsPS/2 ALPS">
<merge key="input.x11_driver" type="string">synaptics</merge>
</match>
<match key="info.product" contains="appletouch">
<merge key="input.x11_driver" type="string">synaptics</merge>
</match>
<match key="info.product" contains="bcm5974">
<merge key="input.x11_driver" type="string">synaptics</merge>
</match>
</match>
</device>
</deviceinfo> - Install gsynaptics.
yum install gsynaptics
Silence the CPU Fan
- Download the following two scripts. acerfand (4.4K) acer_ec.pl (8.3K)
- As root move the files to /usr/local/bin
su -
mv acerfand /usr/local/bin/
mv acer_ec.pl /usr/local/bin/ - Change the permissions on the scripts.
chmod 755 /usr/local/bin/acerfand
chmod 755 /usr/local/bin/acer_ec.pl - Add a line to your /etc/rc.local file to start at boot.
echo "/usr/local/bin/acerfand" >> /etc/rc.local
Reboot
After you have performed the optimizations must reboot. Many of the customizations require a reboot before they will work.


