[elbe-devel] Best way to build kernel & u-boot in an elbe setup?

Norbert Nemec | BLOKS. nn at bloks.de
Fri Jan 29 09:45:43 CET 2016


Thanks! I believe I understand.

That brings me to a different set of questions:

When using an elbe project to build kernel, application, etc. should 
that be the same project I also use for creating the rootfs?

Is there any mechanism to differentiate between the "build" environment 
and the "target" environment? Both should probably be similar, but the 
"build" environment would contain compilers, dev-libs and other packages 
that should not end up in the rootfs.

I remember reading something about this in the docs, but I cant find it 
any more now...

Greetings,
Norbert




On 28.01.2016 17:22, John Ogness wrote:
> Hi Norbert,
>
> On 2016-01-25, Norbert Nemec | BLOKS. <nn at bloks.de> wrote:
>> Currently, I am cross-compiling kernel and u-boot inside the
>> initvm. Compiling them inside the virtual target architecture seems
>> like a waste of time, since cross-compiling is really straightforward
>> for these pages.
>>
>> I understand the value of the virtual environment to avoid
>> cross-compiling of applications with all their library
>> dependencies. For kernel and boot-loaded I don't see the point.
>>
>> Is this really the way to go? How do others build kernel&bootloader
>> with elbe?
> One important aspect of ELBE is that it provides a mechanism for
> reproducability. If you are cross-compiling the kernel and bootloader in
> the initvm (or host machine), then you are using tools (and in fact, an
> entire build environment) that will not be available on the ISO
> image. That means that if in 10 years you want to reproduce that kernel
> or bootloader, you will need to have a backup of the build environment
> you used. The ISO image alone is not enough.
>
> In contrast, if you build the kernel and bootloader as an ELBE project,
> then you have a nice ISO image where all components necessary to
> reproduce those packages exist.
>
> I, personally, also do cross-compiling to save time during
> development. However, for final production releases, I use an ELBE
> project to generate Debian packages for my kernel and boot loader. Those
> packages are then added to a local Debian repository. And then a
> separate ELBE project is used to generate a root filesystem making use
> of the kernel and bootloader packages. In the end I have 2 ISO images, 1
> to reproduce the kernel/bootloader packages, 1 to reproduce the root
> filesystem.
>
>> How is it supposed to be done?
> I think that is a good question. I do not know if an official answer to
> it exists yet.
>
> John Ogness

-- 
Dr. Norbert Nemec
Software Manager

BLOKS. GmbH
Agnes-Pockels-Bogen 1
80992 Munich
Germany

Phone +49 89 5505 461 - 21
Email nn at bloks.de

VAT-ID: DE297724169 | Registered Court: AG Munich | HRB 215232 | Managing Director: Daniel Meermann





More information about the elbe-devel mailing list