Home‎ > ‎Tom's Ideas And Notes‎ > ‎

Getting suspend working - Fedora 10 and EeePC

posted Feb 18, 2009, 7:09 PM by Tom Gutwin   [ updated Feb 28, 2009, 6:09 PM ]
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


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 (
    root (hd0,0)
    kernel /vmlinuz- ro root=UUID=a13e6408-fc51-4a3c-ae2a-c3436bf5829f rhgb quiet 3
    initrd /initrd-
title STOCK Fedora GUI (
    root (hd0,0)
    kernel /vmlinuz- ro root=UUID=a13e6408-fc51-4a3c-ae2a-c3436bf5829f rhgb quiet vga=788
    initrd /initrd-

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.