[Buildroot] [PATCH 2/2] package/jailhouse: add option to choose custom repo/branch
Yann E. MORIN
yann.morin.1998 at free.fr
Mon Jun 1 21:19:02 UTC 2020
Mario, Ralf, All,
On 2020-06-01 18:23 +0200, Mario Mintel spake thusly:
> Am Sa., 30. Mai 2020 um 19:28 Uhr schrieb Mario Mintel < mariomintel at gmail.com>:
> Am Fr., 29. Mai 2020 um 23:40 Uhr schrieb Ralf Ramsauer < ralf.ramsauer at oth-regensburg.de>:
> On 5/29/20 10:48 PM, Yann E. MORIN wrote:
> > Mario, All,
> > On 2020-05-28 16:43 +0200, Mario Mintel spake thusly:
> >> In addition to official releases of Jailhouse, allow to specify a custom
> >> Git URI + branches. This adds more flexibility for custom
> >> configurations.
> > The overwhelming majority of packages do not allow selecting an
> > alternate location. Why would jailhouse be different?
> Jailhouse requires system-specific configurations. Those configurations
> are compiled from C source files to binaries during the build process.
> While upstream Jailhouse comes with a lot of samples for supported
> systems, you will need a lot of fine tuning to for a specific use case.
I am not sure I entirely followed... Note that I am totally ignorant to
how jailhouse works (and I barely know what it is). So I had a quick
look into the github repo, and I noticed this:
A system configuration can be created on an x86 target system by
running the following command:
jailhouse config create sysconfig.c
In order to translate this into the required binary form, place
this file in the configs/x86/ directory. The build system will pick
up every .c file from there and generate a corresponding .cell file.
Is this what you were trying to explain?
If so, then I think we need a way for people to indeed provide their
cells descriptions files, so that they do get compiled by jailhouse,
without resorting to using an OVERRDIE_SRCDIR.
So I see a few options:
1- let people provide those .c files as a patch against jailhouse. This
requires no infra in Buildroot, but this is not very convenient;
2- add a configuration option in jailhouse/Config.in, which people
could set as a path to a directory with .c files; those would be
copied into the jailhouse build directory before the actual build,
so the documented way (see above) will be used; those files would
have to be in a br2-external tree or whatever, but not in a package
(because we'd have no way to ensure that package be extracted before
jailhouse gets built).
3- let people write their own package(s) (e.g. in a br2-external tree)
that only builds the cell files. That package would depend on
jailhouse (or rather, the to-be-introduced host-jailhouse). And
packages could also provide their own cell definitions, too...
I think option 3 is the best solution, as it is the most flexible and
most generic one. However, it will depend on the possibility to
introduce a host-jailhoue package that can just install the 'jailhouse
cell cross compiler'. As far as I see, this is just a bunch of objcopy,
but this is quite tightly integrated into the kernel Kbiuld process, so
might not so simple to come up with.
Option 2 is probably a good compromise if option 3 turns out to be too
difficult to come up with...
> It does work as proposed by Yann. I wasn't aware of that option. I
> guess that makes this patch redundant.
Using a completely separate tree? Yes, I think this is not an option.
However, given the above, maybe we still need a way for people to
provide their cells descriptions and have them somehow copied at build
(or configure) time...
Yann E. MORIN.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
More information about the buildroot