You are not logged in.
I compiled my own kernel with the PKGBUILD from the wiki. Here it is with my customizations:
# Contributor: dibblethewrecker <dibblethewrecker.at.jiwe.org>
pkgname=kernel261110-TACO
pkgver=2.6.11.10
pkgrel=3
pkgdesc="The Linux Kernel 2.6.x.y and modules (IDE support)"
url="http://www.kernel.org"
depends=('module-init-tools')
install=kernel26.install
##### add any patch sources to this section
source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$pkgver.tar.bz2
config logo_linux_clut224.ppm
#http://www.acm.rpi.edu/~dilinger/patches/2.6.10/as2/patch-2.6.10-as2.gz
http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/release/2.6.11/acpi-20050408-2.6.11.diff.bz2
http://ck.kolivas.org/patches/2.6/2.6.11/2.6.11-ck1/patches/nvidia_6111-6629_compat2.diff
http://gaugusch.at/acpi-dsdt-initrd-patches/acpi-dsdt-initrd-patch-v0.7d-2.6.9.patch)
md5sums=('6a66a372a1f8395f241f248f5fe8222a' '5c64b6b7e156d2b5ed8a2c4efcf8c129'
'5a62bcc7e96601052c7405459b483826' 'f232ed4e2d825d2d7f47de0fc7c93ce8'
'82488604906bbba37a412c78d7b5c5f0' '977bc6069e122e5f07b0311e094b5733')
# Function to grab var from src
getvar() {
old=$(cat Makefile | grep "^$1")
echo $(echo ${old/"$1 ="/} | sed -e "s/[ ]*(.*)[ ]*/1/g")
return 0
}
build() {
cd $startdir/src/linux-$pkgver
##### Uncomment and apply any patches here
#patch -Np1 -i ../patchname || return 1
patch -Np1 -i ../acpi-20050408-2.6.11.diff || return 1
patch -Np1 -i ../nvidia_6111-6629_compat2.diff || return 1
patch -Np1 -i ../acpi-dsdt-initrd-patch-v0.7d-2.6.9.patch || return 1
# various fixes by Andres Salomon
#patch -Np1 -i ../patch-$pkgver-as2 || return 1
# remove the -as2 tag
#sed -i 's|^EXTRAVERSION = .*$|EXTRAVERSION =|g' Makefile
# Arch logo!
cp ../logo_linux_clut224.ppm drivers/video/logo/
# get rid of the 'i' in i686
carch=`echo $CARCH | sed 's|i||'`
cat ../config | sed "s|#CARCH#|$carch|g" >./.config
##### Load config - uncomment your preferred config method
#yes "" | make config
#make oldconfig || return 1
#make menuconfig
#make xconfig
make gconfig
##### NO USER CHANGES BELOW HERE #####
# save the current pkgname
old_pkgname=$pkgname
# set pkgname for build purposes - DO NOT alter!
pkgname=kernel26
# save the updated config to build with today's date
cp ./.config $startdir/config-$(date +%b%d-%Hh)
# get EXTRAVERSION from Makefile to create a unique pkgname and /usr/src directory
_kernextra=$(getvar "EXTRAVERSION")
# grab the 2.6.x.y version suffix from pkgver
_y="`echo $pkgver | cut --delim "." --fields 4`"
# remove .y version suffix from _kernextra
_kernextra="`echo $_kernextra | sed "s|.$_y||g"`"
# Read the full kernel version info from new config to use in pathnames and pkgname
. ./.config
# Kernel custom - to create a unique pkgname (see below)
_kerncust="${_kernextra}${CONFIG_LOCALVERSION}"
# Kernel release - will be the same as Makefile
_kernrel="${pkgver}${_kerncust}"
# Get the pkgver suffix for unique pkgname and /boot file suffices
_pkgversuf="`echo $pkgver | sed "s|2.6.||g" | sed "s|.||g"`"
# Set /boot file suffices from kernel release and pkgver suffix
_kernboot="${_pkgversuf}${_kerncust}"
# Set a new pkgname from kernel release and pkgver suffix
pkgname="${pkgname}${_pkgversuf}${_kerncust}"
# build!
echo
echo -n "Do you want to make clean (default YES)? (YES/NO): "
read choice
echo
echo -n "Press any key to start make or CTRL+C to quit"
read anykey
if [ "${choice}" = "NO" ] ; then
make bzImage modules || return 1
else
make clean bzImage modules || return 1
fi
mkdir -p $startdir/pkg/{lib/modules,boot}
make INSTALL_MOD_PATH=$startdir/pkg modules_install || return 1
cp System.map $startdir/pkg/boot/System.map26${_kernboot}
cp arch/i386/boot/bzImage $startdir/pkg/boot/vmlinuz26${_kernboot}
install -D -m644 Makefile
$startdir/pkg/usr/src/linux-${_kernrel}/Makefile
install -D -m644 .config
$startdir/pkg/usr/src/linux-${_kernrel}/.config
install -D -m644 .config $startdir/pkg/boot/kconfig26${_kernboot}
mkdir -p $startdir/pkg/usr/src/linux-${_kernrel}/include
mkdir -p $startdir/pkg/usr/src/linux-${_kernrel}/arch/i386/kernel
for i in acpi asm-generic asm-i386 config linux math-emu net pcmcia scsi video; do
cp -a include/$i $startdir/pkg/usr/src/linux-${_kernrel}/include/
done
# copy files necessary for later builds, like nvidia and vmware
cp -a scripts $startdir/pkg/usr/src/linux-${_kernrel}
mkdir -p $startdir/pkg/usr/src/linux-${_kernrel}/.tmp_versions
cp arch/i386/Makefile $startdir/pkg/usr/src/linux-${_kernrel}/arch/i386/
cp arch/i386/kernel/asm-offsets.s
$startdir/pkg/usr/src/linux-${_kernrel}/arch/i386/kernel/
# copy in Kconfig files
for i in `find . -name "Kconfig*"`; do
mkdir -p $startdir/pkg/usr/src/linux-${_kernrel}/`echo $i | sed 's|/Kconfig.*||'`
cp $i $startdir/pkg/usr/src/linux-${_kernrel}/$i
done
cd $startdir/pkg/usr/src/linux-${_kernrel}/include && ln -s asm-i386 asm
chown -R root.root $startdir/pkg/usr/src/linux-${_kernrel}
cd $startdir/pkg/lib/modules/${_kernrel} &&
(rm -f source build; ln -sf /usr/src/linux-${_kernrel} build)
# Correct the pkgname in our PKGBUILD - this allows correct gensync operation
# NOTE: pkgname variable must be declared with first 10 lines of PKGBUILD!
cd $startdir
sed -i "1,11 s|pkgname=$old_pkgname|pkgname=$pkgname|" ./PKGBUILD
}
All other files were taken from kernel26 from abs.
That should give me a kernel exaclty like the arch kernel, right? The only things I changed to the kernel configuration are:
localversion changed from -ARCH to -TACO (my first name)
processor family changed to pentium M
symmetric multiprocessing switched off
high memory support switched off
on previous tries I changed a lot more things, now I was being careful :-)
When booting, it fails on mounting swap. Also, I can ping any machine in the world, but I can't surf the web. When using the arch kernel26, everything works like charm.
What could be the problem?
I wish life was as simple as editing config files
Offline
Well... I recompiled again, but this time ONLY changed localversion. No problems! Posting from that kernel!
I suspect I misunderstand what high memory support does...
By the way, I installed distcc, so it should take much less time to find out now :-)
I wish life was as simple as editing config files
Offline
OK, so it was not the high memory. But that means it's either the processor family or the symmetric multiprocessing. That doesn't make any sense!
And I feel extremely unimpressed by ccache.
after two kernel compiles with nearly identical configuration:
cache hit 139
cache miss 7480
shouldn't the first be about half the second?
I'm calling it a day, we'll see tomorrow which of the remaining possibilities was killing my kernel.
I wish life was as simple as editing config files
Offline
a-ha! It was the symmetric multi-processing! Now how does that make sense...??? Maybe one of the arch patches has something to do with that? Next try: no patches, same config (after make oldconfig of course).
Wash, rinse, repeat.
I wish life was as simple as editing config files
Offline
nice use of my PKGBUILD, good to see someone making the most of it
Offline
I'm using love patchset compiled by Dibble's PKGBUILDs. And few days ago my kernel just stoped to work properly. Every connection attempt gives "can't assign requested address" or something like that.
Following upgrades occured near the day my custom kernel stoped working:
[07/01/05 12:40] upgraded azureus (2.3.0.2-1 -> 2.3.0.4-1)
[07/01/05 12:41] upgraded bin86 (0.16.16-1 -> 0.16.17-1)
[07/01/05 12:41] upgraded file (4.13-1 -> 4.14-1)
[07/01/05 12:42] upgraded man-pages (2.04-1 -> 2.05-1)
[07/01/05 12:43] upgraded procps (3.2.5-1 -> 3.2.5-2)
bin86 and procps are suspected.
Any ideas?
jabber id: arael (at) fov (dot) pl
Offline
try downgrading procps. Some people have been having connectivity problems with it. Judd is working on a fix for it.
Offline
Disregard my previous statements about ccache. If it happens a lot that you compile a kernel, find a problem, make some small changes to the configuration, and recompile, you definitely should use ccache. I didn't measure the improvement in compile time, but it works.
About the kernel I was compiling: I took a configuration from someone who has almost the same laptop as I do, modified it a bit (put everything in modules, as loading the kernel is very slow for some reason, and loading modules isn't, and removed some things I know for sure I don't need), and now everything works just fine. And it boots like lightning.
I wish life was as simple as editing config files
Offline