General
Links
--------------------------------------------------------------------------------
Choosing Kernel Versions
2.6.24.3-cobalt3-tw (most recent version available on deb howto)
2.6.22.6-cobalt3-tw (reported to work 'etch4' when higher patches didn't)
2.6.19.2 used on Ubuntu Dapper on Qube3 HOWTO
Q: I'm compiling a kernel, but the build complains about "as86: Command not
found"!
A: Don't build a bzImage. Cobalt's boot from a gzipped or bzip2ed vmlinux.
Q: I installed (some distribution) on my Cobalt, but it hangs when starting
'init'!
A: It could be that you've installed an i686 libc (or more) on a 3000 series
Cobalt. The 3000 series systems need i386 binaries.
--------------------------------------------------------------------------------
To make a non-bzImage kernel, use:
make vmlinux
Make sure you specify the vmlinux target, as the default target makes a bzImage
and will not help you at all. (where do you specify the target?)
To compress the kernel using gzip:
gzip -v9 vmlinux
--------------------------------------------------------------------------------
Kernel Unique Name Assignment
Makefile:EXTRAVERSION
To prevent overwriting any existing kernel modules on the system before
compiling the kernel we will change the EXTRAVERSION to something unique. When
the final installation steps are run, kernel module files will then get written
to a seperate, unique directory:
/lib/modules/$VERSION.$PATCHLEVEL.$SUBLEVEL[$EXTRAVERSION]
#/usr/src/linux/Makefile
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 24
EXTRAVERSION = .3-raq4
Kernel Modules:
ls /lib/modules
$VERSION.$PATCHLEVEL.$SUBLEVEL[$EXTRAVERSION]
2.6.24.3-raq4
Kernel Headers:
ls /usr/src/
kernel-headers-$VERSION.$PATCHLEVEL.$SUBLEVEL[$EXTRAVERSION]
kernel-headers-2.6.24.3-raq4
--------------------------------------------------------------------------------
After installing the packages with dpkg -i kernel-image, a kernel was placed in
the /boot folder of type x86 boot sector. This file is named after the kernel
build version (/boot/vmlinuz-2.6.24.3-cobalt-sb) but is a copy of the bzImage
file located at the following location:
file /usr/src/linux/arch/x86/boot/bzImage (x86 boot sector)
file /usr/src/linux/arch/i386/boot/bzImage (symlink to x86)
A vmlinuz is a compressed bzImage; the bz does not stand for bz2 or bzip2
compression.
file vmlinuz
vmlinuz72: x86 boot sector
file vmlinux
vmlinux: ELF 32-bit LSB executable, Intel 80386, version 1,
statically linked, not stripped
vmlinux: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
statically linked, stripped
gzip vmlinux
file vmlinux.gz
vmlinux.x.gz: gzip compressed data, was "vmlinux", from Unix
--------------------------------------------------------------------------------
Find different configuration files, find method to compare them...