PDA

View Full Version : Building custom kernel under KNOPPIX and package it ?



garyng
04-18-2003, 06:44 PM
Hi,

I need some help for expert who has built custom kernel.

I have downloaded the kernel source and tried to build a custom kernel(under KNOPPIX). Follow the instruction from debian, I go the 'make-kpkg' route which are supposed to compile everything and build a debian package.

However, when I tried to dpkg -i this kernel package on a new debootstraped system(woody/stable) which I chrooted, the last step of the installation pumps out lots of 'depmod' unresolved symbol errors, on every kernel module installed.

Could this be because of the shared library in the woody tree is different from the KNOPPIX environment ? Or can I ignore them ?

thanks in advance.

garyng
04-19-2003, 03:01 PM
Answer my own question, it is the share libary(may be those modutils too) that is the problem.

This linux share library scheme needs some work up or at least some documentation, some where.

KNOPPIX use a rather new setup of libc6(2.3.1). When I built the kernel under this environment, the resulting kernel and/or modules need these libraries on the target machine(haven't figured out why as what the host library shouldn't affect target). Woody has the older 2.2.5. So in order for a Woody system to be able to use any such kernel built, the following command is needed :

apt-get -t unstable install modutils

The modutils would pull it the latest libc6 package as well.

Alternatively, one must build these stuff on a linux system using the older libc6(2.2.5), woody for maximum compatibility with debian woody.

May be there is a better option which is the equivalent of cross compiling that is to tell the make-kpkg(or the kernel building process) to use a libc6 2.2.5 environment, like cross compiling on a i386 system to say PPC. Does anyone know how this can be done ?

Yet another alternative is to change the make-kpkg such that it can pack the information of pulling in the necessary libc6 packages in the resulting .deb. Does anyone know how debian handle these versioning things ?

Supaplex
04-21-2003, 09:54 PM
You'll want to watch out for /etc/lilo.conf as well. You should make a new target for the origional knoppix installed kernel, as it uses an ramdisk (initrd=).

You'll want to manage /vmlinuz and /vmlinuz.old as 'optional' targets for lilo so it won't throw a fit.

When making your kernel, make sure that you don't use initrd (unless you have a reason to), and compile ext2 + ext3 as INTERNAL options, and not modules.

And keep using make-kpkg, after these tips you'll be on your way. The default knoppix kernel config is usualy in /usr/src/ ... poke around there.