I've just released version 2.0.0 of the live-USB image of Gentoo Linux for the B3 on GitHub (here). All included packages are up-to-date against the Gentoo tree, as of 19 June 2017; a full package list may be viewed here.
Major changes in this release:
- An "interstitial" kernel is now used during early boot, a strategy that has been succesfully used for a number of years now on my archlinux-on-b3 image. Under this approach, the B3's U-Boot loader actually starts a fixed-version kernel (the "interstitial kernel") which, together with its initramfs, then acts as a second-stage* bootloader for the kernel proper (chainloaded via kexec). This allows the "real" kernel to be distributed as a vanilla zImage, and also enables you to change the kernel command line easily (by editing the file /boot/kexec.sh), without having to flash any U-Boot variables.
- The current gentoo-b3-kernel is utilized as the "real" kernel, via the binary package gentoo-b3-kernel-bin. Accordingly, your kernel (and module set) will automatically be updated (along with all other packages on the system) whenever you issue genup; the initial kernel version shipped on the image is 4.11.6-gentoo-b3. (gentoo-b3-kernel contains an automatic weekly build of the latest ~arm gentoo-sources kernel, based on this baseline config; a companion gentoo-b3-kernel-bin package is simultaneously created for each new release).
- A Gentoo binhost (also automatically updated weekly) has been provided (at https://isshoni.org/b3), to allow your B3 to perform fast updates via binary packages where possible, only falling back to local source-based compilation where necessary (using this facility is optional). The binhost also provides an rsync mirror for the main gentoo repo (with signed porthash authentication), used to keep the B3's ebuild tree in lockstep.
- A custom Gentoo profile, gentoo-b3:default/linux/arm/13.0/armv5te/b3, is provided, which supplies many of the default build settings, USE flags etc., required for Gentoo on the B3, keeping them also in lockstep with the binhost. You can view this profile (provided via the gentoo-b3 overlay) here.
Although I make no guarantees about the future availability of these autobuilds, we currently use this infrastructure on our own production B3s, so it should be around for a while. Use the supplied binary packages (and kernels) at your own risk. Also, please be aware that, even with binhost backing, a full genup run will take around an hour to complete on your B3 (due to time taken by rsync, Portage's dependency tree processing etc.). Nevertheless, upgrade of major packages like gcc will take only a few minutes using the binhost, rather than many hours when building from source; plus, you can keep your kernel fully up-to-date easily (something that was rather awkward on Gentoo previously).
Neither the userspace package binhost nor binary kernel package use is mandatory of course; you can easily turn both off for the fully-authentic source-based Gentoo experience ^-^
Installation and Use
As before, you can burn the supplied image to a USB key (>=8GB, Lexar and SanDisk keys seem the most reliable), then boot your B3 from it, without affecting any installed (Excito) system on your B3's hard drive. (The compressed image is 376MiB; writing takes between 10 and 20 minutes, depending on your system.) You can even boot a diskless B3! No soldering, compilation or U-Boot flashing is required.
The live-USB may then be used as a rescue disk, to play with Gentoo Linux, or as the starting point to install Gentoo Linux on your B3's main hard drive. Any packages you install, or other changes you make, while running the live-USB are saved on the USB key, but do not affect your existing Excito system, so you can run Gentoo for a while, then reboot back into your Excito system and continue to use it as normal, then boot back into the USB at a later date - any changes you made will still be there when you do.
Full instructions are provided on the project's GitHub page (including how to install Gentoo on your B3's internal hard drive too, in case you want to do that).
Manually Upgrading from a Previous Live-USB Release
If you are currently using a <2.0.0 release of the live-USB and would like to take advantage of the userspace binhost and binary kernel autobuilds now provided, but without switching directly to the 2.0.0 image, please see my short form instructions here.
have fun ^-^
(and as always, any issues, please let me know)
PS if you have any "must-have" kernel config changes or packages you'd like included on the weekly autobuild, please note them in this thread.
(*) technically, it is actually a third-stage bootloader; H/W bootloader -> U-Boot -> interstitial kernel -> "real" kernel ^-^