Getting suspend working - Fedora 10 and EeePC

Post date: Feb 19, 2009 3:09:51 AM

I want to get suspend working so I moved to a 2.6.29 kernel to get it working (yes it works!).

so I grabbed the latest kernel sources and built my own kernel for 2.6.29.

Here is the base kernel files to get ... http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.tar.bz2

Here is the 2.6.29-rc4 patch files... http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.29-rc4.bz2

Uncompress both in the same dir (I used the /usr/src/kernels dir ) and do the following...

cd linux-2.6.28

patch -p1 < ../patch-2.6.29-rc4

cd ..

mv linux-2.6.28 linux-2.6.29-rc4

ln -s 2.6.29-rc4

cd linux-2.6.29-rc4

Here are the steps in the build

You might need a few extra packages from yum to get everything building

sudo yum install gtk+-devel gtk2-devel qt3-devel libstdc++-devel gcc-c++ libglade2-devel libglade-devel

maybe others depending on your install (everything needed is in the yum repos)

I put all the sequential commands to build and install the kernel in a script file... also attached a couple of posts below

To be honest... I actually don't 'run' my script. I use it a reference and step through the commands manually.

I then step through the commands....

gedit the Makefile and update the EXTRAVERSION to something you can identify with

- I used '-rc4-eeepc-tbg'

save and close (This extraversion gets automatically appended to the kernel files.)

make mrproper

make xconfig

At the 'make xconfig' step in the build sequence

- load my kernel .config (also attached in a post below) ,

- review and tweak it,

- save and move on.

it will get a working build.

The next step in my build script is OPTIONAL but recommended.

I keep a copy of my .configs in a separate dir as spec'd in my script.

Then follow the rest of the steps.

The 1st time I build, it usually doesn't work, because I missed a needed module in the xconfig step, But I think I got most correct, since everything is working!

I think I left USB-DEBUG message on - You might want to go into the xconfig for usb and turn it off. It fills the syslog.

The last step is to add the grub entries, here are mine (you will have to change based on your kernel name)

My grub.conf

default=1

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title My Fedora Console (2.6.29-rc4-eeepc-tbg)

root (hd0,0)

kernel /bzImage-2.6.29-rc4-eeepc-tbg ro root=/dev/sda2 rhgb quiet 3 vga=788

initrd /initrd-2.6.29-rc4-eeepc-tbg.img

title My Fedora GUI (2.6.29-rc4-eeepc-tbg)

root (hd0,0)

kernel /bzImage-2.6.29-rc4-eeepc-tbg ro root=/dev/sda2 rhgb quiet vga=788

initrd /initrd-2.6.29-rc4-eeepc-tbg.img

title STOCK Fedora Console (2.6.27.9-159.fc10.i686)

root (hd0,0)

kernel /vmlinuz-2.6.27.9-159.fc10.i686 ro root=UUID=a13e6408-fc51-4a3c-ae2a-c3436bf5829f rhgb quiet 3

initrd /initrd-2.6.27.9-159.fc10.i686.img

title STOCK Fedora GUI (2.6.27.9-159.fc10.i686)

root (hd0,0)

kernel /vmlinuz-2.6.27.9-159.fc10.i686 ro root=UUID=a13e6408-fc51-4a3c-ae2a-c3436bf5829f rhgb quiet vga=788

initrd /initrd-2.6.27.9-159.fc10.i686.img

NOTE: I have some choices to boot to a console login (no x/Gnome login) in case of 'issues' I need to debug.

Once you are done you will have a new choice in your grub boot menu.

Its harmless to your existing system kernel.

Note: 2.6.29-rc4 has some notable EeePC specific improvements (from the kernel.org changelog)

eeepc-laptop: use netlink interface

eeepc-laptop: Implement rfkill hotplugging in eeepc-laptop

eeepc-laptop: Check return values from rfkill_register

eeepc-laptop: Add support for extended hotkeys

I now have a F10 system that suspends & resumes with everything working as they were before the suspend (wireless, video, touchpad, audio...)

The EeePC keys even work and I can use the <Fn-F2> key to toggle the wireless.

NOTE: I just found that having compiz desktop effects hangs when resuming. I don't know why... so I just turn it off.