From: Jeremy Kerr <jk@ozlabs.org>
To: buildroot@busybox.net
Subject: [Buildroot] [RFC, PATCH 6/8] package/petitboot: Add petitboot, the userspace bootloader
Date: Fri, 28 Feb 2014 13:39:23 +0800 [thread overview]
Message-ID: <5310210B.70605@ozlabs.org> (raw)
In-Reply-To: <20140130215159.432d7c13@skate>
Hi Thomas,
> I don't think we want a dependency here, as it's not necessarily
> obvious that this needs a kexec implementation. Therefore, I think we
> should have something like:
>
> select BR2_PACKAGE_KEXEC_LITE if !BR2_PACKAGE_KEXEC
>
> So that at least one implementation is guaranteed to be selected.
OK, done.
>> +PETITBOOT_SITE = git://git.ozlabs.org/home/jk/git/petitboot
>> +PETITBOOT_DEPENDENCIES = ncurses udev
>
> If kexec is only a runtime dependency (and not a build dependency),
> then there should be a comment above the "select" of kexec in the
> Config.in that says it's only a runtime dependency.
>
> Same thing for powerpc-utils.
I've noted this in the Config.in file now.
>> +PETITBOOT_LICENSE = GPLv2
>> +PETITBOOT_LICENSE_FILES = COPYING
>> +
>> +PETITBOOT_CONF_OPT += --with-ncurses --without-twin-x11 --without-twin-fbdev \
>> + --localstatedir=/var --with-tftp=busybox \
>
> The --with-tftp=busybox seems to implies that Busybox is used.
> Technically speaking, Buildroot allows to build a root filesystem
> without Busybox. So either you should support both Busybox-based and
> non-Busybox based filesystems, or depend/select Busybox.
Petitboot supports both busybox tftp and tftp-hpa, but by specifying
this to configure allows petitboot to skip a check at runtime. It's just
a little optimisation, and I'll make it conditional on BR2_PACKAGE_BUSYBOX.
>> + HOST_PROG_KEXEC=/usr/sbin/kexec \
>> + HOST_PROG_SHUTDOWN=/usr/libexec/petitboot/bb-kexec-reboot
>> +
>> +ifdef PETITBOOT_DEBUG
>
> Where is PETITBOOT_DEBUG defined?
This is a little hack I use to build petitboot with debug enabled (so we
get more verbose log output), by specifying PETITBOOT_DEBUG=1 on the
make invocation. If this isn't acceptable, I can work around it :)
>> +PETITBOOT_CONF_OPT += --enable-debug
>> +endif
>> +
>> +ifeq ($(BR2_PACKAGE_NCURSES_WIDEC),y)
>> +PETITBOOT_CONF_OPT += --with-ncursesw MENU_LIB=-lmenuw FORM_LIB=-lformw
>> +endif
>> +
>> +define PETITBOOT_PRE_CONFIGURE_BOOTSTRAP
>> + (cd $(@D) && ./bootstrap $(PETITBOOT_VERSION))
>> +endef
>> +
>> +PETITBOOT_PRE_CONFIGURE_HOOKS += PETITBOOT_PRE_CONFIGURE_BOOTSTRAP
>
> It's unfortunate that we can't use the normal <pkg>_AUTORECONF = YES
> logic, due to how configure.ac is generated from configure.ac.in.
> Anyway, if you do want to call the bootstrap script, you need to make
> this package depend on host-autoconf, host-automake and maybe
> host-libtool if you're using libtool.
>
> Also, I see in your configure.ac.in that you use Lex and Yacc.
> Therefore, your package should depend on host-bison and host-flex.
> These are not mandatory dependencies of Buildroot.
OK, updated.
I'm planning to fix the autoreconf bits in a future petitboot change, so
this should get a little simpler later.
Thanks for the review, I'll post a new series soon.
Cheers,
Jeremy
next prev parent reply other threads:[~2014-02-28 5:39 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-16 8:52 [Buildroot] [RFC, PATCH 0/8] Enable a buildroot-based petitboot bootloader Jeremy Kerr
2014-01-16 8:52 ` [Buildroot] [RFC, PATCH 6/8] package/petitboot: Add petitboot, the userspace bootloader Jeremy Kerr
2014-01-30 20:51 ` Thomas Petazzoni
2014-02-28 5:39 ` Jeremy Kerr [this message]
2014-01-16 8:52 ` [Buildroot] [RFC,PATCH 8/8] Add powerpc petitboot defconfig Jeremy Kerr
2014-01-16 8:52 ` [Buildroot] [RFC, PATCH 2/8] package/dropbear: Add separate configuration options for client and server Jeremy Kerr
2014-03-03 23:46 ` Yann E. MORIN
2014-03-03 23:54 ` Jeremy Kerr
2014-03-04 0:14 ` Gustavo Zacarias
2014-03-04 1:07 ` Jeremy Kerr
2014-03-04 1:44 ` Gustavo Zacarias
2014-03-04 1:51 ` Jeremy Kerr
2014-03-04 18:36 ` Yann E. MORIN
2014-01-16 8:52 ` [Buildroot] [RFC, PATCH 5/8] package/kexec-lite: Add a package for the kexec-lite tools Jeremy Kerr
2014-01-16 9:36 ` Baruch Siach
2014-01-17 1:51 ` Jeremy Kerr
2014-01-16 13:17 ` Jerzy Grzegorek
2014-01-30 19:46 ` Thomas Petazzoni
2014-02-03 5:37 ` Jeremy Kerr
2014-02-03 7:04 ` Thomas Petazzoni
2014-02-28 7:11 ` Jeremy Kerr
2014-02-28 7:37 ` Thomas Petazzoni
2014-01-30 19:47 ` Thomas Petazzoni
2014-01-16 8:52 ` [Buildroot] [RFC, PATCH 4/8] package/powerpc-utils: Add powerpc hardware utilities Jeremy Kerr
2014-01-16 9:30 ` Baruch Siach
2014-01-16 13:11 ` Jerzy Grzegorek
2014-01-29 8:12 ` Thomas Petazzoni
2014-01-30 1:51 ` Jeremy Kerr
2014-01-16 8:52 ` [Buildroot] [RFC, PATCH 1/8] package/busybox: Add facility for DHCP hooks Jeremy Kerr
2014-03-04 20:01 ` Yann E. MORIN
2014-01-16 8:52 ` [Buildroot] [RFC, PATCH 3/8] package/ncurses: Allow building wide char support Jeremy Kerr
2014-01-30 19:44 ` Thomas Petazzoni
2014-02-28 2:53 ` Jeremy Kerr
2014-01-16 8:52 ` [Buildroot] [RFC, PATCH 7/8] package/iprutils: Add IBM Power RAID utilities Jeremy Kerr
2014-01-16 13:24 ` Jerzy Grzegorek
2014-01-17 1:58 ` Jeremy Kerr
2014-01-30 20:54 ` Thomas Petazzoni
2014-01-17 2:16 ` [Buildroot] [RFC, PATCH 0/8] Enable a buildroot-based petitboot bootloader Jeremy Kerr
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5310210B.70605@ozlabs.org \
--to=jk@ozlabs.org \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox