All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Kerr <jk@ozlabs.org>
To: buildroot@busybox.net
Subject: [Buildroot] [RFC, PATCH 0/8] Enable a buildroot-based petitboot bootloader
Date: Fri, 17 Jan 2014 10:16:41 +0800	[thread overview]
Message-ID: <52D89289.4070205@ozlabs.org> (raw)
In-Reply-To: <1389862338.917573.283530987294.0.gpush@pablo>

Hi all,

> While most of this series is fairly straightforward, there are a few
> items that might need a little more attention:

Also, the way I'm doing the kexec could use a sanity check. Currently,
it goes like this:

- we configure busybox init (permanently through inittab) to use
  /usr/sbin/kexec-restart as the "restart" handler.

- when petitboot is told to boot a new kernel, it loads it (along with
  optional initrd and device-tree blob) into the running kernel
  with the kexec command. This only loads the new kernel through the
  kexec_load syscall, it doesn't initiate any boot process.

- next, petitboot runs its shutdown command, which we've configured
  as /usr/libexec/petitboot/bb-kexec-reboot. This is a busybox-
  init-specific script that simply sends a SIGQUIT to bb init to
  invoke the restart.

- bb init starts the shutdown procedure, and terminates running
  processes, then finally executes the restart handler (which we
  configured earlier to /usr/sbin/kexec-restart).

- /usr/sbin/kexec-restart simply calls the reboot() syscall, with
  the correct magic value to execute the kernel we loaded earlier.

The reason we're using the restart handler here is that busybox init
doesn't know about the reboot()'s magic value to perform a kexec, and
the busybox folks would rather that this *isn't* handled by init (which
makes sense).

Feedback welcome!

Cheers,


Jeremy

      parent reply	other threads:[~2014-01-17  2:16 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 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-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 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 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 8/8] Add powerpc petitboot defconfig Jeremy Kerr
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 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
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-17  2:16 ` Jeremy Kerr [this message]

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=52D89289.4070205@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.