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

Re: Compiling Linux kernel



Hi, Sven.

On Wednesday, 23 December 2009 11:19:26 +0100,
Sven Joachim wrote:

> > b) Debian way compilation:
> >
> > b.1) Having booted an i386 kernel and userland 32:
> >
> > # cp /boot/config-`uname -r` ./.config
> >
> > # make ARCH=x86_64 menuconfig
> >
> > # fakeroot make-kpkg clean --cross-compile - -arch amd64
> >
> > # fakeroot make-kpkg --initrd --cross-compile - -arch amd64 \
> >   --append-to-version=-dgb kernel_image kernel_headers
> >
> >
> > It does not present questions during "make" and it boots ok enabling
> > the options mentioned above.
> >
> > Another thing that I have noticed is that the packages are generated
> > with a suffix i386, although after boot the kernel is x86_64:
> >
> > linux-headers-2.6.32-dgb_2.6.32-dgb-10.00.Custom_i386.deb
> > linux-image-2.6.32-dgb_2.6.32-dgb-10.00.Custom_i386.deb

> Yes, because you are building on i386 (as in
> "dpkg --print-architecture").  This is what you want, BTW.

Ah, ok. The suffix doesn't depend on the specific architecture of kernel
but of all the distribution that one is using. For that reason with
Ubuntu amd64 yes the packages are generated with suffix amd64 :-)

> > b.2) Having booted an amd64 kernel and userland 32:
> >
> > # cp /boot/config-`uname -r` ./.config
> >
> > # make menuconfig
> >
> > # fakeroot make-kpkg clean
> >
> > # fakeroot make-kpkg --initrd --append-to-version=-dgb kernel_image
> > \
> >   kernel_headers

> You still need to specify --cross-compile and --arch here.

And why in this case yes we must use these options if running an amd64
kernel in userland 32 is not necessary to use ARCH=x86_64 in the
invocations of "make" when compiling of the traditional way?


Thanks for your reply and merry Christmas.

Regards,
Daniel
-- 
Fingerprint: BFB3 08D6 B4D1 31B2 72B9  29CE 6696 BF1B 14E6 1D37
Powered by Debian GNU/Linux Lenny - Linux user #188.598

Attachment: signature.asc
Description: Digital signature


Reply to: