You edited it in the wrong place. Sorry I wish I could make this easy so
that you could just download a kernel from my PPA but I have not figured
out how to upload a kernel to the PPA build service. But here are some
instructions that should produce a fixed kernel for you. These
instructions are for 10.10. If you want 11.04 you need to modify this
procedure slightly. Now before you start I would recommend that you
install one of the kernels supplied by Ubuntu that you do not want to
use. IOW if you want to use generic install linux-server and linux-
headers-server. Or if you want to use server do the opposite. This way
you can uninstall the Ubuntu supplied "generic" kernel so that yours
does not have version conflicts with the Ubuntu supplied packages. Once
you have installed the server kernel and rebooted then uninstall the
Ubuntu supplied generic packages.

First install some required software.
sudo apt-get install fakeroot build-essential crash kexec-tools makedumpfile 
kernel-wedge git-core libncurses5 libncurses5-dev libelf-dev asciidoc 
binutils-dev libqt3-mt-dev

next create a new directory to work from lets call it ~/ubuntu but name it what 
ever you like. now 
mkdir ~/ubuntu
cd ~/ubuntu

now clone the Ubuntu kernel git tree:
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-maverick.git

This will take a while and when done you should have a folder called 
ubuntu-maverick. it would be a good idea right now to create a tar.gz backup of 
that folder. That way if you want to start over you don't need to redownload 
the git tree. You can just delete the ubuntu-maverick folder and then 
uncompress your clean backup. either way change in to that folder
cd ubuntu-maverick

now you need to checkout released kernel from the git repository. the git 
repository contains all of the kernels and by default it is checked out in the 
state of the kernel that the devs are currently working on but have not yet 
released. So it may have bugs and you want to go back in time a bit to the most 
recent public release which should give you a known good kernel source tree to 
start with. as of right now (4-20-2011) that is 2.6.35-28.50 . typing in the 
following command will list all of the kernels
git tag -l

In that list you should see Ubuntu-2.6.35-28.50 which is what we will use for 
this. So now we need to check that tag out. we can do that with the following 
command
git checkout Ubuntu-2.6.35-28.50 -b fixed

That command will check out that taged release and create a new named branch 
called "fixed"
You now have that revision checked out so we can start the build process. First 
you need to prep the build tree by running a couple of scripts. so run:
fakeroot debian/rules clean
debian/rules updateconfigs

now you are ready to edit your configs. you should not edit the config files 
directly. instead you should use the ubuntu kernel configure script. Now you 
need to know what flavor and platform you want. in these instructions I will 
use 64 bit generic as that is what I want. To begin the edit process run the 
following command:
debian/rules editconfigs

this command will start and interactive process that allows you to
properly edit the configurations of all of the various builds of the
kernel. The first question it asks is if I want to edit the
amd64/config.flavor.generic. Since this is the one I want I will say yes
here. This will bring up the NCRUSES based GUI that is used for editing
the kernel configs. Now use the arrow keys on your keyboard to navigate
to: "device drivers" -> "Serial ATA and Parallel ATA Drivers". Next
arrow down until "AHCI SATA support" is highlighted. It should have a
<M> to the left of it. press the space bar repeatedly until that changes
to <*>. This means it will build the AHCI support in to the kernel.

Now just press esc repeatedly until it asks you if you want to save your
new configuration. Say yes. That will exit you back out to the terminal
and the script will be asking you if you want to edit the next flavor.
Just say no to all of the flavors you don't care about.

You are now ready to build your flavor. So prep the build process by running
debian/rules updateconfigs
fakeroot debian/rules clean

now its time to build. so run the following commands:
skipabi=true skipmodule=true fakeroot debian/rules binary-indep
skipabi=true skipmodule=true fakeroot debian/rules binary-prearch
skipabi=true skipmodule=true fakeroot debian/rules binary-generic

that last one will take a while so go grab a coffee. 
when its all done move up a directory
cd ../

now just install the debs.
sudo dpkg -i *.deb

reboot and you should be good.
Make sure its working with
cat /boot/config-2.6.35-28-generic | grep AHCI

which should show CONFIG_SATA_AHCI=y

Cheers and sorry if there are any typos in this.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/595448

Title:
  Slow boot caused by SATA controller reset

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to