Linux Kernel for Eeepc 1008HA

Posted 2009.08.07 7.33 in Computers/Internet/Technology by Stephanie

I had a request this morning for my linux kernel that I’m using on my Eeepc 1008HA. This is a sub-notebook (aka “netbook”) computer by Asus, it’s very thin and light, though it sports a 10″ screen and a good-sized keyboard.

So on with the kernel info. I’ve been running a custom-built kernel since before I got the 1008; I have been rolling my own eeepc-specific kernel for over a year now, first for my 8G then the 1000, and now the 1008. As of this writing, the kernel version is 2.6.30.4. Essentially I’m downloading the generic “vanilla” kernel from Kernel.org and then applying my own config to it. The config is tweaked to include specifically what I personally want / need, and omits everything else. So fair warning: If you need a kernel that knows about nfs or ntfs or fatfs etc, this kernel won’t work ‘out of the box’ for you. Mucking around with the kernel is not something for total noobs to do, because it’s very easy to end up with a computer that doesn’t boot any more.

Warnings aside, you can download my 1008 kernel here: Eeepc_1008_kernel.tgz

When you untar that archive you’ll find four files:

  • Config is the config file, that goes in /boot
  • steph_fmlinuz is the kernel itself, that also goes in /boot
  • System.map is the system map, and it too goes in /boot
  • modules.tgz is another archive file. It will extract to a directory 2.6.30.4-eeepster which you should place in /lib/modules

When this is done, modify your bootloader script to include the new kernel (I suggest adding it as a test option rather than the default option) and boot up and see if it works for you.

I can’t remember all the tweaks that this kernel includes, but notably, the kernel does take advantage of the Intel Atom processor’s Hyperthreading and Speedstep technologies, such that linux will report the CPU as a dual-core. Now this is not a true dual-core processor, but the hyperthreading allows it to act a bit like one and unless I’m mistaken, this does provide some added oomph. The kernel obviously is built to accomodate lots of RAM so you can max out your 1008 at 2GB (the max that the firmware will allow).

Regarding the kernel modules, here are the notable ones:

  • ath9k is the Atheros wireless card module
  • atl1c is the LAN module
  • eee is a module that lets you view the fan speed. (It does not allow fan control on the 1008)
  • eeepc-acpi gives you the /proc/acpi/asus directory, so you can turn on/off wifi, bluetooth, etc.
  • uvcvideo is the module to drive the webcam
  • btusb is the module to enable use of the onboard bluetooth

I can provide my /etc/modules file if anyone wants/needs it. It’s only a handful of modules, most of the good stuff (usb etc) is compiled right into the kernel.

A note on wireless – I have heard that some 1008HA units may come with a different WiFi card. Mine has the Atheros AR9285 in it. If yours has an RT28xx then this kernel will not include the required module. In fact the required module is not yet in the kernel tree; it has to be downloaded from the manufacturer and compiled. You can tell what you have in your computer with the command “lspci -nn” and look for the line that has the Wireless Network Adaptor.

A final note on the LAN – the pci address of the Attansic ethernet adaptor was not in the standard pci id list when I got my 1008HA. I submitted the pci address to the folks who maintain the pci ids so it might be in the list now. If you do the “lspci -nn” and you see an unknown device with the numbers [1969:1062] you might want to update your pci id list.  I can’t remember if this affects the functionality or not, either way the atl1c module is the right one for this particular Attansic gigabit ethernet adaptor.

Good luck, have fun!

Leave a Comment