Because the new Gentoo profile defaults to building position-independent executables and this may lead to incompatibilities with non-pie libraries this is a complete rebuild of the Live-USB. If you are already running Bubbagen and like to migrate to profile 17 as well I suggest you take your configs and move them to this new release rather than rebuild your world yourself.

Following up on Sakaki's kexec kernel starting method this release now also features a second stage bootloader to load the final kernel with a configurable command line. This second stage bootloader was in fact designed from the ground up, because Sakaki's kexec loader left my B3 (with the older U-Boot 2010.06-rc2-00064-gf41e8d8-dirty) without network. If you like it will allow you to use Sakaki's kernel package though, but you should note that Sakaki's kernel thus far does not support systemd init system so you can only do that with the OpenRC version of the Live USB. Please reference the directions in /boot/boot.ini on how to make the bootloader select a different kernel.

Tip:
Sakaki publishes a binhost that can help you keep your instance of Bubbagen up to date. The Live-USB is not subscribed to that binhost, but you can add it yourself by referencing this topic. To fetch binaries from that host run emerge with `-g` or `--getbinpkg` option. Do note that because the Bubba UI requires specific USE flags on some packages emerge may disregard some of the available binaries on that binhost.

Known issues:

When changing the time zone the web interface may show you an incorrect time on some pages (the extensible clock on the right is actually javascript and thus should show your client's time rather than the B3's). To align them all you should restart the B3 (or at least apache2 and bubba-adminphp services).

Changing the network profile may completely destroy networking on the B3 if you have wifi enabled or added custom interfaces and/or bridges. If you need to change the profile please do so before making any changes to the default network setup and then never touch it again.

The supplied kernel is the current Gentoo LTS version 4.14.52. All packages have been brought up to date as of Aug 10, 2018 ¹)

Enjoy,
Gordon

¹) Some packages withheld due to patent restrictions or because the newer versions are incompatible with core Bubba functionality.

This second stage bootloader was in fact designed from the ground up, because Sakaki's kexec loader left my B3 (with the older U-Boot 2010.06-rc2-00064-gf41e8d8-dirty) without network.

Hi Gordon - did you experience the above networking issue booting the gentoo-on-b3 image, or your own? I found that the Ethernet MACs that U-Boot sets often got zeroed by the kexec (leaving networking dead, in effect), so I put a "setethermac" service on the Gentoo and Arch images to read the appropriate variable from U-Boot's nvram and (re)set the MACs.

First my own kernel. I then tried kernels from both your arch and gentoo images with the same result. I saw it happen on the serial console as the kernel was loading. Figured it was something in kexec masking part of the device tree, but then I found that if I ran kexec from a live system it did have all the networking.

The trick is to initialize the NICs. And you must access them both or the one that you did not touch will still show mac 00:00:00:00:00:00

yes, without my setethermac userland service from the Arch or gentoo-on-b3 live-USBs running, that's what I'd expect to happen.

Setting a spoof IP address before kexec sounds like a nice trick to workaround this though, and I should be able to add this to the kexec.sh script the kexec bootloader sources, without building the initramfs.

I'll try it, and if it works, modify the gentoo-on-b3 image (and the arch one, if I do a respin) accordingly (the current approach works on my images, but not relying on a userland service to patch things up would be more robust).