[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

kernel cross compiling



Hi all!

I'm searching for an easy way of testing new kernels on my n2100.
I'm familiar with the cross-compiling and kernel devel on ARM, but I'm not
so familiar with the debian way of doing this.

Ideally I would like to cross-compile the kernel and the initrd image, put
these files on my tftp server and tftpboot my n2100 (so I don't flash a
non-working kernel).

I tried to cross-compile the kernel (using a toolchain provided by the emdebian
project) using the following command:

ARCH=arm fakeroot make-kpkg --initrd --arch arm --subarch=iop32x kernel_image

Since I don't know how to cross-generate the initrd image, I tried to install
this packages on my n2100, but it fails with the following message:
Kernel /boot/vmlinuz-2.6.25.4 does not match your subarchitecture
iop32x, therefore not writing it to flash.

The good thing is that this kernel (and the image) is working when booted
on tftp :)

So I have a working (but slow and boring) development environment.
1. make-kpkg on the host machine
2. boot the n2100 with a working kernel
2. scp the package to the n2100
3. install the package on the n2100 (to generate the initrd image)
4. copy back the kernel and initrd to the /tftpboot on the host machine
5. reboot the n2100 to test the kernel+initrd image


So here are my questions:
1. how to fix the problem "...does not match your subarchitecture..." ?
2. Is there a way of cross-generating the initrd-image ?

I would like to know how the current developers are doing this task (kernel
compiling, testing, ...), since I think there is a direct relationship with
the compfort in this task and the kernel quality ;)


Please let me know if there is a howto somewhere and if I'm posting on the
right list.

Best regards

Marc


Reply to: