laue
May 6th, 2005, 08:37 AM
When booting linux, it is stated with exclamationmarks that the amd xp 2000+ does _not_ support power-saving. I find it very disturbing as it might discourage people from using amd or ubuntu.
i have an amd xp-m, and did not have frequency scaling working in the default ubuntu installation, nor with other pre-built kernels from ubuntu repositories. However, I had frequency scaling working in gentoo, with a kernel i had built myself.
Therefore, I started comparing the ubuntu kernel with the kernel i had compiled in gentoo and came to the belief that the amd powernow and all the other acpi drivers should not be loaded as modules, but should be compiled into the kernel.
Anyway it worked for me, so here's a (brief) howto if you've never compiled a kernel:
1. use synaptic to download the kernel sources (i use linux-source-2.6.11, but 2.6.10 should do fine as well)
These sources will be installed in /usr/src/linux-source-2.6.11.
If not already done, you should make a symlink called 'linux' to afore mentioned directory
=> cd /usr/src
sudo rm ./linux
sudo ln -s ./linux-source-2.6.11 ./linux
cd linux
2. now we are in the source directory of the kernel, where we can start building your new kernel.
=> sudo make menuconfig
3. You will either see a bleu environment (called ncurses), or the console will tell you to install a few additional packages (forgot which ones). If so, install them using synaptic and issue 'sudo make menuconfig' again.
4. Go to: Power management options (ACPI, APM) -> ACPI (Advanced
Configuration and Power Interface) Support
Go to the 'processor' option and use spacebar to replace the <M> with <*>.
This will ensure the driver will be compiled into the kernel <*> instead of as a
module <M>
5. Go to: Power management options (ACPI, APM) -> CPU Frequency scaling
- Make sure you enable 'AMD Mobile Athlon/Duron PowerNow!' and nothing else
- replace all <M> with <*>
- use userspace as the default governor
6. exit menuconfig, saving your configuration to the default location
7. Compile your kernel and modules, and install the modules:
make && make modules_install
8. Put the kernel into your /boot directory:
sudo cp arch/i386/boot/bzImage /boot/kernel-2.6.11
sudo cp .config /boot/config-2.6.11
sudo cp System.map /boot/System.map-2.6.11
9. Change your grub menu so you can actually choose to use this kernel at boot
time
sudo gedit /boot/grub/menu.lst
In the bottom, you will find the entries for the older kernels. Copy one of them
(_copy_, don't remove, so you can still boot your old kernels if something has
gone wrong)
Change the kernel entry to the new kernel path (as shown in red)
Change the tiltle entry to whatever you would like to be displayed in the grub
menu at boot time (as shown in blue)
example:
copy and alter:
title Ubuntu, kernel 2.6.10-5-386
root (hd0,3)
kernel /boot/vmlinuz-2.6.10-5-386 root=/dev/hda4 ro quiet splash
initrd /boot/initrd.img-2.6.10-5-386
savedefault
boot
to:
title Ubuntu, kernel 2.6.11-k7
root (hd0,3)
kernel /boot/kernel-2.6.11 root=/dev/hda4 ro quiet splash
initrd /boot/initrd.img-2.6.10-5-386
savedefault
boot
Good luck!!!
Disclaimer: I do not garantee that the previous howto will work for you, nor that it is free of errors!
PS: Please add comments and corrections
i have an amd xp-m, and did not have frequency scaling working in the default ubuntu installation, nor with other pre-built kernels from ubuntu repositories. However, I had frequency scaling working in gentoo, with a kernel i had built myself.
Therefore, I started comparing the ubuntu kernel with the kernel i had compiled in gentoo and came to the belief that the amd powernow and all the other acpi drivers should not be loaded as modules, but should be compiled into the kernel.
Anyway it worked for me, so here's a (brief) howto if you've never compiled a kernel:
1. use synaptic to download the kernel sources (i use linux-source-2.6.11, but 2.6.10 should do fine as well)
These sources will be installed in /usr/src/linux-source-2.6.11.
If not already done, you should make a symlink called 'linux' to afore mentioned directory
=> cd /usr/src
sudo rm ./linux
sudo ln -s ./linux-source-2.6.11 ./linux
cd linux
2. now we are in the source directory of the kernel, where we can start building your new kernel.
=> sudo make menuconfig
3. You will either see a bleu environment (called ncurses), or the console will tell you to install a few additional packages (forgot which ones). If so, install them using synaptic and issue 'sudo make menuconfig' again.
4. Go to: Power management options (ACPI, APM) -> ACPI (Advanced
Configuration and Power Interface) Support
Go to the 'processor' option and use spacebar to replace the <M> with <*>.
This will ensure the driver will be compiled into the kernel <*> instead of as a
module <M>
5. Go to: Power management options (ACPI, APM) -> CPU Frequency scaling
- Make sure you enable 'AMD Mobile Athlon/Duron PowerNow!' and nothing else
- replace all <M> with <*>
- use userspace as the default governor
6. exit menuconfig, saving your configuration to the default location
7. Compile your kernel and modules, and install the modules:
make && make modules_install
8. Put the kernel into your /boot directory:
sudo cp arch/i386/boot/bzImage /boot/kernel-2.6.11
sudo cp .config /boot/config-2.6.11
sudo cp System.map /boot/System.map-2.6.11
9. Change your grub menu so you can actually choose to use this kernel at boot
time
sudo gedit /boot/grub/menu.lst
In the bottom, you will find the entries for the older kernels. Copy one of them
(_copy_, don't remove, so you can still boot your old kernels if something has
gone wrong)
Change the kernel entry to the new kernel path (as shown in red)
Change the tiltle entry to whatever you would like to be displayed in the grub
menu at boot time (as shown in blue)
example:
copy and alter:
title Ubuntu, kernel 2.6.10-5-386
root (hd0,3)
kernel /boot/vmlinuz-2.6.10-5-386 root=/dev/hda4 ro quiet splash
initrd /boot/initrd.img-2.6.10-5-386
savedefault
boot
to:
title Ubuntu, kernel 2.6.11-k7
root (hd0,3)
kernel /boot/kernel-2.6.11 root=/dev/hda4 ro quiet splash
initrd /boot/initrd.img-2.6.10-5-386
savedefault
boot
Good luck!!!
Disclaimer: I do not garantee that the previous howto will work for you, nor that it is free of errors!
PS: Please add comments and corrections