Customizing the toofishes EeePC Arch Kernel
I'm running Arch on my EeePC. To have the somewhat exotic hardware1) running well, I'm using a custom Kernel, created by the forum user “toofishes”.
Unfortunately this Kernel only includes what is needed to run the hardware built directly into the EeePC. But today I had the need to get the pl2303
USB serial driver working on my Eee. Since it isn't included in the toofishes build I had to rebuild the package myself. For your education and my memory, I'll list the steps needed here.
I did all this on my desktop system running Arch, it might be a bit easier doing it directly on the Eee, but I don't wat to compile a Kernel on that little machine. I also worked as root, that's bad - I know. But I wasn't in the mood to figure out how to use fakeroot correctly.
First you need a working copy of the twofishes package sources. They are maintained with git.
#> pacman -Sy git #> git clone http://code.toofishes.net/gitprojects/eee.git
You now have an eee
directory containing multiple package sources. We start with the Kernel in eee/kernel-eee
. To modify the configuration, it is easiest to add a make menuconfig
in the build process of the PKGBUILD
. Find the line make || return 1
and add it right before. Should look like this:
# load configuration cp ../kernelconfig ./.config make silentoldconfig make menuconfig # <- my addition make || return 1
Now start the build process:
#> makepkg --asroot
It will run the usual Kernel configuration utility. Modify what you need, then exit and the Kernel package will be built (kernel-eee-2.6.27.1-1-i686.pkg.tar.gz
).
Next is the ACPI stuff in eee/acpi-eee
. Nothing complicated here, just change into the directory and create the package (acpi-eee-3-1-i686.pkg.tar.gz
).
#> makepkg --asroot
We skip the eeepc-linux
directory because it seems to be outdated.
Last one is madwifi-eee-svn
. This one has the eee-kernel as dependency listed. But I don't have that package installed on my desktop machine of course, so I removed it from the dependency line in the PKGBUILD
:
depends=('madwifi-utils')
When I tried to run the build process it failed with the following error:
Location: http://snapshots.madwifi-project.orgmadwifi-hal-testing/madwifi-hal-testing-r3866-20080915.tar.gz [following] --2008-11-04 23:38:48-- http://snapshots.madwifi-project.orgmadwifi-hal-testing/madwifi-hal-testing-r3866-20080915.tar.gz Resolving snapshots.madwifi-project.orgmadwifi-hal-testing... failed: Name or service not known. wget: unable to resolve host address `snapshots.madwifi-project.orgmadwifi-hal-testing'
The problem was a incorrect redirect at the madwifi site. So I “guessed” the correct locaction and hardcoded it into the PKGBUILD
file:
source=(http://snapshots.madwifi-project.org/madwifi-hal-testing/madwifi-hal-testing-r3866-20080915.tar.gz)
Then the build ran correct, creating the package (madwifi-eee-svn-3866-1-i686.pkg.tar.gz
):
#> makepkg --asroot
I finally copied the packages over to my Eee and installed them with
#> pacman -Up kernel-eee-2.6.27.1-1-i686.pkg.tar.gz \ acpi-eee-3-1-i686.pkg.tar.gz \ madwifi-eee-svn-3866-1-i686.pkg.tar.gz