After looking at your above post, it occurred to me to have another look at my own .config file to see what I have in there, since I don't look too often. So, having done that, I notice the options in bold I have enabled. I strongly suspect that you already have those enabled as well (or the machine probably wouldn't even go to suspend, let alone pake up). But anyhow, either check your config by the same zgrep command as you did before, looking for these options as well, to make sure they are enabled.
# Power management and ACPI options
# CONFIG_PM_TRACE_RTC is not set
# CONFIG_HIBERNATION is not set
# CONFIG_PM_RUNTIME is not set
NOTE: You can either use zgrep like we already did (just to have a look), OR, since you want to enable kernel PM_DEBUG anyways, proceed with rebuilding your kernel (you need to do this to enable the options you don't have.)
So, if you want to rebuild your kernel to enable PM_debugging, there's how I would proceed (you're using Slackware, which is great, because so am I, so this procedure should be easy to run through
). I assume you're using LILO bootloader, and will use `xconfig` to configure the kernel:
1) make sure you have the kernel sourcecode installed. This folder should be located at:
which is often a symlink to:
> is your kernel version;
for example: /usr/src/linux-18.104.22.168
- if you are running the 22.214.171.124 version of the kernel.
NOTE: you can check your kernel version by this command: uname -r
2) Copy that /proc/config.gz file over into the kernel sourcecode folder and give it a name like config.orig
, like so:
# zcat /proc/config.gz > /usr/src/$(uname -r)/config.orig
3) cd into the kernel sourcecode folder.
4) do this:
# make clean
# make xconfig
5) you should now have a full-screen configuration application running, with loads of options everywhere. You can use the mouse or keyboard. Using the "File" menu item, open the config file we called "config.orig". Now you're ready to configure stuff; do not double-click anything by mistake, or it will toggle the setting!! You can single-click any text item to present its options.
6) In the "General Setup" section, double-click "Local Version - Append to kernel release". This will produce a text field where you type a name (a suffix) for the kernel you're about to build. Enter something like "-pmdebug
" (without the quotations) and hit enter.
7) Now, you have to poke around to locate the PM_CONFIG and PM_DEBUG options, and enable what you need. I think most of them (all of them?) that you need are under the section "Power Management and ACPI Options".
NOTE: you will see there an option called "Suspend/resume event tracing" -- I do not have this enabled, but read the help there (and the warning about the clock) and see if you want to enable this. It might help, or might not.
8) When you have checked (enabled) the PM_debugging items and anything else you want/need, you can save the file. I always save the file twice: one version called ".config" which is what the build process looks for, and a second version called (in this case) "kconf-pmdebug" which is so that I know which kernel it belongs to, should I want to load it up and configure it again at a later date. Anyhow, by clicking the little DISK icon near the top left, this saves the ".config" file; then, click FILE > SAVE AS
and enter a name you'll recognize, like "kconf-pmdebug". Now hit exit/quit.
9) You're back in the terminal now. type:
# make modules_install
10) when those two commands are all done, your new kernel is ready. It is called bzImage, and it is located in the kernel sourcecode folder:
Copy that item into your main /boot folder in the main filesystem, and rename it something you'll recognize (such as "2.6.33-pmdebug" or whatever you like that you'll recognize. Don't go nuts -- there's a limit on length of the name.)
11) Final steps: configure LILO bootloader.
Open the /etc/lilo.conf file with your text editor, and create a new image section for the new kernel you just installed. This should be fairly easy, using the already-pre-existing kernel's image section as a template; just copy the existing section, and change the names to reflect the name we used in step #10, and the name you want to see in your LILO menu at bootup. Save the file.
12) In your terminal again, type:
and expect something like this (the one with the asterisk is the default, or the top one in your LILO boot menu):
Your kernel names will vary from mine, but the point is: make sure you see your new kernel there, and that there is NO ERROR!! Very Important: No errors. If there's an error, don't turn off the machine. Fix the error first, and run the `lilo` command again until it's all clear.
All done. Reboot your new kernel. If you have for example an nVidia driver installed, you'll have to re-install it now, onto the new kernel (after booting).
Final Note: Right up until you run the `lilo` command, not much really changes on your machine. If things all go to crap while editing the kernel configuration, or if you can't figure out the lilo.conf file, don't panic! Let us know where you're at, what's been done, what the problem is, and someone will help you fix it and continue.