Devuan installation and tuneup on ASUS EeePc 2G/4G/8G

This guide covers ONLY ASUS EeePc 700 series models and applies to only the first generation of the ASUS EeePC models:

  • Eee PC 2G surf
  • Eee PC 1001 (very rare)
  • Eee PC 4G and 4G surf
  • Eee PC 8G and 8G SD
  • Eee Pc 4G-X special flavor

Model 701 (listed in Asus literature as model 4G) and related models (2G surf, 4G surf, and 8G) are the oldest models and are sometimes confused with the 701SD which has a different wireless chip set.

The 701SD (a special 8GB variant) sports a replaceable SSD (miniPCIe, comes with 8GB) and one DDR2 slot (default 512 MB, upgradeable to 2 GB). From a software point of view, it looks like a normal 701 apart from the wlan; RTL8187SE chip set.

Machine Overall

This machine has limited hardware but was a great effort for a low resource, inexpensive machine. It comes with an SSD disc and a very small screen LCD. It can play emulated and non-opengl games perfectly. The keyboard is not resistant enough for a 3 year old child but is recommended for 4 to 6 year old child that wants to learn about Linux and play simple games.

Those laptops are recommended for WiFi cracking and security monitoring over networks, due are small, thin and cheap. [POSSIBLE INAPPROPRIATE CONTENT]

Due to its limited resources, installation of Linux or any other OS on this hardware is extremely difficult. The only distributions known to install are Debian Lenny, Debian Etch (difficult to setup), Debian Squeeze (with a minimal fine tune), Damn Small Linux and VenenuX. Installation of major Linux distributions require require special attention.

Devuan performance

Performance is poor if something more complex than openbox+fbpanel is installed. LXDE and Xfce4 do not perform well but with some fine tuning it is possible to play some emulators and simple games.

Live flavor of Devuan never will run, since Debian squeeze, no Linux can boot live here, Devuan does covert the hardware, but for good performance need tune up setup. [UNINTELLIGIBLE]

Overall Devuan status

Core Components status Observations
Boot standard kernel No needs vga=769 on the install/boot line
CPU Frequency Scaling Yes modprobe p4_clockmod; governor=performance
Hibernation No no enough ram
Sleep/Suspend No not enough disc
Optical CD/DVD/BD N/A
Detect hard drives Supported
Supports SDD drives Yes comes with
USB Yes 1.0 and 2.0 only in 4G/8G
UEFI/EFI N/A
Overall temperature below 85
Network devices status Observations
LAN network card: Supported Needs firmware
Wifi network card Supported Needs firmware
Xorg and video status Observations
Primary video card Yes only one: intel
Resize-and-Rotate No not enough GPU ram
HDMI out No
VGA out Yes makes more heat
Sound support status Observations
ALSA Yes needs fine tune module
OSS4 No
OSS Yes supports emulation alsa
Input devices status Observations
Keyboard Yes
Mouse/Touchpad Yes
Touchscreen N/A
Webcam Yes
Keyboard's Hotkeys Supported not all keys supported
Card reader SD/MMC Supported pciehp.pciehp_force=1
Power devices status Observations
ACPI S3/S4/FAN Yes support limited
Battery Yes

Overall install status:

Due to a lack of a CD/DVD drive, a USB installation is recommended but it is also possible to boot from an external CD/DVD drive.

  1. Devuan live isos now include firmware that can be deleted after installation.
  2. A startup parameter of vga=769 is needed. At the install screen, push the TAB button and add it to the end of the command line.
  3. Don't make default swap partitions on the first disc because it is short-lived. Instead use external storage at the card reader.

The following configurations will need careful adjustment:

  • Installation boot: If no vga special parameter is parsed, the install interface will never appear and the live disc won't run!
  • Disc: All the 7XX models come with SSD disc, so important changes must be made. No ext4 can be used! Use only for the boot directory.
  • Flash card: Use the external slot for root and/or at least home (but this will slow down the system).
  • Desktop and x11 keycode: In last section there are some adjustments for special keys.
  • Kernel modules: The sound and acpi related modules need some extra options.

Network

Unfortunately all the networking devices need firmware. The computer remains uncommunicative after completing the installation so it is recommended to download specific packages for each module and copy to a USB device (if installing with USB) or install package(s) later manually:

Network device Model found it kernel module firmware package Observations
LAN All models atl2 firmware-atheros
Wifi surf models ath5k firmware-atheros
Wifi SD and 8G r8187se firmware-realtek

All the Atheros based WiFi chips support monitoring and promiscuous modes.

Audio

The internal chipset reports confusing to the kernel and no more development updates were made to this part of the module so manual tune must be done.

Audio device Found on model kernel module firmware package Observations
St 2.0 Intel 82801 first 2G surf 700 only snd_hda_intel snd_hda_intel model=3stack-dig
Hi-Def 5.1 Intel 82801 all the rest snd_hda_intel snd_hda_intel power_save=5 model=eeepc-p701

Identify the audio devices

Default module does not perform well the hardware detection, but its right registered

lspci -vnn | grep -A 9 -i audio | awk '/udio/ || /driver/ { print; }'
00:01.0 Audio device [0403]: Intel Corporation Audio Controller
Kernel driver in use: snd_hda_intel

Set the audio devices

If pulse sound system were “light” will load here, but its a lie, only pure ALSA and OSS older system will work here with good performance.

For minor and light desktop you must set in modprobe.d a alsa.conf file preceded by a number, with the proper options to detect the hardware for eeepc as:

options snd_hda_intel snd_hda_intel power_save=5 model=eeepc-p701

The previous option its for all the rest of second and lasted of the 700 series, the 2G surf 700SD, 4G 701, 4G surf 701, 8G 701 and 8G 701SD models.

For 2G surf 700 the option are different:

options snd_hda_intel model=3stack-dig

Without that no sound will be heard, but seems the prevous options now are working for any of kernels on Devuan.

Video

All the EeePc 7XX series comes with a intel chipset, with OpenGL capable, but the performance are very poor, compared to older version of the Xorg, event if only install intel module or statically compiled.

Video device (Xorg) Model found it kernel module firmware package Observations
Intel GMA 900: 82910GL All i915 if use depth=16 good performance, but no opengl

The amount of memory are only 2Mb unless vendor mention 8Mb, with 533 MHz FSB using DDR 400 MHz Memory from system memory

Identify the video devices

All the EeePc 7XX series comes with a intel chipset: (under construction)

lspci -v|grep -A 11 -i ispla |awk '/ispla/ || /driver/ { print; }';lspci -v|grep -A 11 -i VGA | awk '/VGA/ || /driver/ { print; }'
00:02.0 VGA compatible controller xxxxxxxxxxxxxxxx
Kernel driver in use: i915

Default Devuan settings

Devuan installs XOrg modules, using intel as default primary and randr support for external CRT/LCD monitor are good, but the overheat will happened in this recent kernels due newer infrastructure of the DRI2/3 logic.

Many games can run, such as Quake3, Alienarena, but with recent Linuxes and newer Xorg, nervermind! The the final of page of a example of good running games capabilities in this hardware!

Discs

Recommended put home partition on the card flash of the card reader. A choice can be use the internal SDD only for boot directory install, and the external flash card slot for root system install, but this let the system in very poor performance status due slow I/O operation over the flash card.

Do not format with ext4! do not use ext4 in the internal SDD! If use the reiserfs in the root partition, be aware of grub save mode will garbage the grub root on boot sector, so dont use grub saveboot feature with reiserfs on boot/root partition.

All the EeePc 7XX series comes with SDD discs, that have a limited life, so here the mayor setup part for this king of laptops:

Reduce read access

Read cycles downgrade the SDD life if are not good or are flash based, so we must reduce the innecesary access, of course this are a little laptop and not a server, we do not install mayor software here:

echo "vm.dirty_writeback_centisecs = 10000" > /etc/sysctl.conf.d/reducewriteback.conf 

Of course this only works thank of Devuan way of initv system. Must be check, and for sure added directly to the /etc/sysctl.conf file.

Reduce write access

We need reduce the write to SDD, so in Linux has a special mount option for file systems called noatime.Using noatime can lead to significant performance gains, so run that command to automatically change the entrys:

sed 's*errors=remount-ro*errors=remount-ro,noatime*g' -i /etc/fstab
sed -r -e 's/defaults\s+0/defaults,noatime  0/g' -i /etc/fstab

If this option is set for a file system in /etc/fstab, then reading accesses will no longer cause the atime information (last access time - don't mix this up with the last modified time - if a file is changed, the modification date will still be set) that is associated with a file to be updated. Therefore.. CAUTION this assumed and in reverse this means that if noatime is not set, each read access will also result in a write operation!!!

Use tmpfs for TMP and SPOOL

Some directories are here due Linux are primary in principies focused on client-server philosofy, some filesystems can be tmp mouonted to reduce the SDD write access.

Added those entries to the fstab file:

tmpfs /tmp tmpfs defaults 0 0 tmpfs /var/tmp tmpfs defaults 0 0 tmpfs /var/lock tmpfs defaults 0 0 tmpfs /var/spool/ tmpfs defaults 0 0

You must assume that the suspend and hibernate service will be disabled, in any case was not possible, due limited RAM memory in this hardware! So the tmp filesystems will be temporally and always volatile, but will gain in performance now.

You must assume that any cups service will be installed of course in the laptop, for that limited hardware its nonsense, maybe if you wish to print will be need so must modify the init script to recreate on any boot process the directory with right permisions, but its not the case of due we assumed will not install any print service.

Use tmpfs for LOG and RUN

The log directory its a more convenient way to provide administrator info about the OS and running process in time, due this installation its only for limited and quick usage of local software, we must reduce the innecesary log files in time:

Added those entries to the fstab file:

tmpfs /var/log tmpfs defaults,size=128m 0 0 tmpfs /var/run tmpfs defaults,size=128m 0 0

CAUTION: any init script must recreate their respective log directory inside, due we assume that any service will be running in this installation.

Here for brave users

For very experts, if you isntall services and performs many fine tune on the SDD disk, here a list of init scripts that must be perform the recreation for the directories respect the tmpfs mounts.

Here a list for most common init scripts that need “/var/log” fine tune if you implements the tmpfs mounts:

  • /etc/init.d/mountall.sh (create /var/log/ {apt, fsck, news} and only news belowns to news group)
  • /etc/init.d/cups (create /var/log/cups with root onwer)
  • /etc/init.d/speech-dispatcher (create /var/log/speech-dispatcher and then chown speech-dispatcher:audio)
  • /etc/init.d/ntp

Here a list for most common init scripts that need “/run” fine tune if you implements the tmpfs mounts:

  • /etc/init.d/dbus (create /var/run/dbus for user messagebus)
  • /etc/init.d/hal (create /var/run/hal for user haldaemon)
  • /etc/init.d/network-manager (create /var/run/Network-manager only)
  • /etc/init.d/networking (create /var/run/network only)
  • /etc/init.d/ssh (create /var/run/sshd only)
  • /etc/init.d/mountall.sh (create /var/run/ {vpnc,alsa and pm-utils} only)
  • /etc/init.d/speech-dispatcher (create /var/run/speech-dispatcher and then chown speech-dispatcher:audio)

CAUTION remenber since Debian wheeze and now in Devuan, the /run and /var/run relation are symlink from /var/run that points to the /run directory. So these scripts must really make firts a symlink and then create the directory.

Power

Battery info are recovered enough, the Linux kernel and acpi software calculate the amount of time of remaining load or charge, event discharge time.

The acpitool command does not offer right info so any panel addon will always said “calculating” respect the time of discharge.

acpitool -B
Battery #1     : present
  Remaining capacity : unknown, 99.57%, 01:30:00
  Design capacity    : 2000 mA
  Last full capacity : 1850 mA, 90.03% of design capacity
  Capacity loss      : 10.83%
  Present rate       : 20 mA
  Charging state     : Discharging
  Battery type       : Li-ion 
  Model number       : 
  Serial number      : 

Keyboard

Keyboard are detected property, special keys need the special extra package eeepc-acpi-scripts, several of the keys previously handled by ACPI are now accessible through their X11 code.

Kernel boot up parameters must be parser to the grub config to able to control better, for loads eeepc_laptop module that handle many improvements and stability related issues:

acpi_osi=Linux acpi_backlight=vendor

The extra package eeepc-acpi-scripts its need to be handled on the X11 environment side key codes, by example as Debian wiki mention:

XF86Display: Exec /usr/share/acpi-support/eeepc-acpi-scripts/vga-toggle.sh

This make it works event if no mayor desktops are installed, due make it works independent of.

CardReader

The buil in card reader need a extra parameter in the kernel level at the grub boot or in the grub configuration boot parameters, must added this to the /etc/default/grub file in the GRUB_CMDLINE_LINUX_DEFAULT line without delete their contents:

pciehp.pciehp_force=1

Without that option parse to the kernel, the reader can have some issues to work.

Recommendations

a) Not install mayor desktop flavors, can downgrade performance or inclusivelly break the system.
b) Debuan with WiFi cracking focusing its the right choice, using openbox or fwm as desktop environment
c) The internal disc its a SDD, ext4 cannot be used, ext3/ext2 with noatime and many fine tune must be configured!
d) Put the /home in the card flash of the internal flash card reader! Highly recommended for SDD life!
d) Many games can run, such the older mednafen 0.8 event 0.9 are recommended
e) Its recommended for little child between 4 and 6 years using games such gcompris << 11