@@ -161,6 +161,7 @@ do_kconfig() {
toolchains
jpeg
openssl
+ init
)
for br2 in "${items[@]}"; do
@@ -224,7 +225,23 @@ do_kconfig() {
else
printf '# No openssl from: %s\n\n' "${br2_desc}"
fi >>"${outputdir}/.br2-external.in.openssl"
+
+ if [ -f "${br2_ext}/provides/init.in" ]; then
+ printf 'comment "init from: %s"\n' "${br2_desc}"
+ printf 'source "%s/provides/init.in"\n' "${br2_ext}"
+ printf '\n'
+ else
+ printf '# No init from: %s\n\n' "${br2_desc}"
+ fi >>"${outputdir}/.br2-external.in.init"
done
+ if [ -f "${br2_ext}/provides/toolchains.in" ]; then
+ printf 'comment "Toolchains from: %s"\n' "${br2_desc}"
+ printf 'source "%s/provides/toolchains.in"\n' "${br2_ext}"
+ printf '\n'
+ else
+ printf '# No toolchain from: %s\n\n' "${br2_desc}"
+ fi >>"${outputdir}/.br2-external.in.toolchains"
+
printf 'endmenu\n' >>"${outputdir}/.br2-external.in.menus"
}
@@ -144,6 +144,9 @@ config BR2_INIT_NONE
have to provide your own, either with a new package
or with a rootfs-overlay.
+# Init systems from br2-external trees, if any
+source "$BR2_BASE_DIR/.br2-external.in.init"
+
endchoice
choice
Some externals may wish to provide custom init systems for tightly integrated boot. This has been supported through the BR2_INIT_NONE, however a downside to the BR2_INIT_NONE is it forces the custom init system to use either skeleton-custom and roll a custom skeleton for each target, or skeleton-init-none which isn't a complete skeleton. Allowing br2-external to define custom BR2_INIT_* means they can now safely 'select' the BR2_PACKAGE_SKELETON_INIT_* and use a sysv style skeleton if they want. Signed-off-by: Brandon Maier <brandon.maier@rockwellcollins.com> --- support/scripts/br2-external | 17 +++++++++++++++++ system/Config.in | 3 +++ 2 files changed, 20 insertions(+)