Jump to content

Powerdown with apm in newer kernels ##FIXED##


cage47
 Share

Recommended Posts

Haven't posted over here in a while, since I moved to Debian but I find this is a common problem for all distros.

 

This is for everyone who has tried to compile a newer kernel than the

stock 2.4.18bf-2.4 and lost the ability to shut down your computer at

powerdown. The problem lies in new features in the newer kernels and the

default settings when you compile.

 

I found the problem. When you first untar the kernel source and run make

xconfig (or whatever means) in the Processor Type and Features section

the option for smp is enabled by default. You should select N here if

you have single processors. The help file provided states that with this

option selected the apm module will be disabled by default. So powerdown

will not work with apm if smp is enabled. Even using the append="apm=on"

or append="apm=powerdown" in lilo won't work.

 

BUT there's a catch. If you try to fix this with an alredy used

Linux-2.4.xx kernel directory it won't undo the settings. In other

words. If you've already compiled your own kernel, and the smp is

enabled and you just go back to the directory and run make xconfig and

disable the smp option it will still conflict. Specifically when you run

make bzImage. It will give error listings saying it can't find the smp

module in its former location (or something to that affect) So disabling

it isn't just the answer. What you should do is save your kernel config

to a file and copy that config file somewhere safe and then delete the

linux-2.4.xx directory and re-untar it and start from scratch, making

sure to move your kernel config file back into the new linux-2.4.xx

directory, loading it in make xconfig and first thing disabling the smp

option. This is just what I did and I got my powerdown to work finally

with my new custom kernel. Here are my options for my kernel config:

 

# Processor type and features

#

# CONFIG_M386 is not set

# CONFIG_M486 is not set

# CONFIG_M586 is not set

# CONFIG_M586TSC is not set

# CONFIG_M586MMX is not set

# CONFIG_M686 is not set

# CONFIG_MPENTIUMIII is not set

# CONFIG_MPENTIUM4 is not set

# CONFIG_MK6 is not set

CONFIG_MK7=y

# CONFIG_MK8 is not set

# CONFIG_MELAN is not set

# CONFIG_MCRUSOE is not set

# CONFIG_MWINCHIPC6 is not set

# CONFIG_MWINCHIP2 is not set

# CONFIG_MWINCHIP3D is not set

# CONFIG_MCYRIXIII is not set

# CONFIG_MVIAC3_2 is not set

CONFIG_X86_WP_WORKS_OK=y

CONFIG_X86_INVLPG=y

CONFIG_X86_CMPXCHG=y

CONFIG_X86_XADD=y

CONFIG_X86_BSWAP=y

CONFIG_X86_POPAD_OK=y

# CONFIG_RWSEM_GENERIC_SPINLOCK is not set

CONFIG_RWSEM_XCHGADD_ALGORITHM=y

CONFIG_X86_L1_CACHE_SHIFT=6

CONFIG_X86_HAS_TSC=y

CONFIG_X86_GOOD_APIC=y

CONFIG_X86_USE_3DNOW=y

CONFIG_X86_PGE=y

CONFIG_X86_USE_PPRO_CHECKSUM=y

CONFIG_X86_F00F_WORKS_OK=y

CONFIG_X86_MCE=y

# CONFIG_TOSHIBA is not set

# CONFIG_I8K is not set

# CONFIG_MICROCODE is not set

# CONFIG_X86_MSR is not set

# CONFIG_X86_CPUID is not set

CONFIG_NOHIGHMEM=y

# CONFIG_HIGHMEM4G is not set

# CONFIG_HIGHMEM64G is not set

# CONFIG_HIGHMEM is not set

# CONFIG_MATH_EMULATION is not set

# CONFIG_MTRR is not set

# CONFIG_SMP is not set <---here is the option to disable.

# CONFIG_X86_UP_APIC is not set

# CONFIG_X86_TSC_DISABLE is not set

CONFIG_X86_TSC=y

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...