Skip to content

Releases: sakaki-/gentoo-on-b2

Release 1.5.0

05 Sep 10:00
Compare
Choose a tag to compare

This is a significantly different release to the previous 1.4.0, not so much because of the applications it contains (although these have been updated), but because it is built on a newer Gentoo profile (17.0) than before (13.0). Profiles are changed rarely in Gentoo, for they determine how your entire system is built, often in backwards-incompatible ways: for example, in 17.0, the gcc compiler defaults to creating position independent executables (aka, 'pie'), which it did not do before. Accordingly (and as officially recommended), all packages have been rebuilt under the new profile for this image (and the corresponding binhost has also been changed (to avoid confusion), from https://isshoni.org/b2 to https://isshoni.org/b2pie).

Changes in this release (see main project page for further details):

  • As noted above, the subscribed Gentoo binhost (automatically updated weekly) has been migrated to profile 17.0 (at https://isshoni.org/b2pie) (the binhost allows your B2 to perform fast updates via binary packages where possible, only falling back to local source-based compilation where necessary; using this facility is of course optional).
  • The binhost now also provides an rsync mirror for the main gentoo repo, used to keep the B2's ebuild tree in lockstep with the build server, thereby preventing time-consuming local builds being initiated when large packages, such as sys-devel/gcc, update. The Portage tree is validated using Gentoo's recently-introduced gemato digital signature check.
  • A custom Gentoo profile, gentoo-b2:default/linux/powerpc/ppc32/17.0/b2, is used, which supplies many of the default build settings, USE flags etc., required for Gentoo on the B2, keeping them also in lockstep with the binhost. You can view this profile (provided via the gentoo-b2 overlay) here.
  • A weekly cron job (/etc/cron.weekly/genup) has been installed, to automate the process of keeping your B2 up-to-date (this can be deleted if you prefer).
  • The kernel has been upgraded to 4.9.72 LTS (patched with gentoo-b2-kernel-patches). This is the latest stable-branch long term support version of the kernel for the ppc architecture on Gentoo at the time of writing.
  • All packages have been brought up to date against the Gentoo tree, as of 3 September 2018.

Manually Upgrading to 1.5.0

If you are currently using the 1.4.0 release of the live-USB and would like to upgrade, without switching directly to the 1.5.0 image, please follow the steps below (NB - those using this 1.5.0 release image directly should ignore what follows, as all of the below has already been done for you):

First, make sure you have at least 2GiB of free space on your B2's root filesystem (use df -h to check), and that you are using at least version 6.4.0 of gcc (use gcc-config --list-profiles to check; look for the version marked with the asterisk).

If all that looks good, switch to using the new rsync mirror:

b2 ~ # nano -w /etc/portage/repos.conf/gentoo.conf

and modify the file contents so they read:

[DEFAULT]
main-repo = gentoo

[gentoo]
location = /usr/portage
sync-type = rsync
auto-sync = yes
sync-uri = rsync://isshoni.org/gentoo-portage-b2

Save, and exit nano.

Now update your repositories, and switch to the to the newly available gentoo-b2:default/linux/powerpc/ppc32/17.0/b2 profile:

b2 ~ # emaint sync --auto
b2 ~ # eselect profile set gentoo-b2:default/linux/powerpc/ppc32/17.0/b2

Caution: the above emaint sync will update your main Gentoo tree using rsync, but it will not be signature-checked at this point, unless you are using a version of Portage that was emerged with the rsync-verify USE flag set (once all packages are updated per the following instructions, signature checking will be enabled by default). If this bothers you, you should upgrade Portage to an appropriate version first, before performing the steps above.

Now clean up any redundant files in /etc/portage/..., referring to /usr/local/portage/gentoo-b2/profiles/targets/b2/... (also viewable here) to see what the profile already provides by way of make.conf, package.use settings etc. You can also review the /etc/portage/... files from the 1.5.0 live USB image, to get an idea of what can be removed safely (being now supplied by the profile).

For convenience, the current /etc/portage/make.conf from the image may be reviewed here. Notice how this is significantly slimmed down, most of the settings now being taken from the profile make.defaults (which may be reviewed here).

You also need to switch your binary package host ('binhost'), as a new one has been started for the 17.0 profile, to avoid confusion / cross-contamination. To do so, issue:

b2 ~ # nano -w /etc/portage/make.conf

and modify the line that currently reads:

PORTAGE_BINHOST="https://isshoni.org/b2"

so it now reads instead:

PORTAGE_BINHOST="https://isshoni.org/b2pie"

Leave the rest of the file as-is. Save, and exit nano.

Now you can update the core build system. Do not follow the advice in the official news article to rebuild gcc, binutils and glibc individually (if you do, you'll end up building them locally, rather than pulling the new binaries from the binhost, which will take a long time). Instead, issue:

b2 ~ # emerge --ask --verbose sys-devel/gcc sys-devel/binutils sys-libs/glibc

Check (when the above command prompts you for confirmation) that you will indeed be installing binary packages - this is a good indication you have set things up correctly.

Once this completes, rebuild your entire system for profile 17.0. Almost all of the required 400 or so packages should be available on the new binhost you just switched to, so even on the B2 this should only take half a day or so (unless you have added many additional packages to the image yourself). Issue:

b2 ~ # nice emerge --ask --verbose --emptytree --with-bdeps=y @world

Once it has completed, issue:

b2 ~ # nice emerge --depclean
b2 ~ # nice emerge @preserved-rebuild

then:

b2 ~ # dispatch-conf

to resolve any proposed configuration file changes (for the most part, if you had a reasonably up-to-date 13.0 profile system to start with, typing z to 'zap' (discard) most of these proposed changes should be safe; a lot of packages have been re-installed here, but you want to keep your prior configuration, not roll it back to 'shipped defaults').

Once done, reboot your system. Then log in again as root, and issue:

b2 ~ # genup

Once this has completed, congratulations, you have migrated your userland to the (profile 17.0) 1.5.0 release! From this point, the automated weekly genup run should keep your system correctly up-to-date.

NB: as there is currently no binary kernel package for the B2, if you manually upgrade following the above instructions, your kernel will not be upgraded. You'll need to manually copy the appropriate boot files and module set from the 1.5.0 image if you wish to do that.

Release 1.4.0

25 Mar 17:04
Compare
Choose a tag to compare

Changes in this release:

  • Bumped kernel version to 4.9.16 LTS (uses updated version of gentoo-b2-kernel-patches);
  • Image subscribed by default to my binhost at https://isshoni.org/b2; I have set up a B2 to do a weekly genup run, pushing the resulting binary packages to this host, so this should help speed up future upgrades (NB - I don't guarantee to keep this service running, and you use any of the binary packages provided at your own risk; if you don't want to use this, comment out the FEATURES="${FEATURES} getbinpkg" line in /etc/portage/make.conf);
  • Migrated from custom genup-lite and showem-lite scripts to the more mainstream sakaki-tools overlay variants (genup and showem);
  • All packages brought up to date against the Gentoo tree, as of 25 Mar 2017.

Release 1.3.0

29 Jul 17:54
Compare
Choose a tag to compare

Changes in this release:

Release 1.2.0

28 Jul 18:27
Compare
Choose a tag to compare

Changes in this release:

  • Now supports rev1 B2 boards also. These have a earlier version of the SoC, which requires a different device tree file (bubba.dts/dtb as opposed to 8313E21.dts/dtb); the default U-boot environment for rev 1 boards is different too, as it looks for the file /install/install.itb (rather than rev 2 B2's /install/8313E21.itb) on the USB key's first partition. Thanks to Pál Csányi for pointing this problem out to me (and apologies for rev 1 owners who have tried earlier version of this live-USB, only to find it would not boot)!
  • Uses kernel 4.0.4-r1 from gentoo-b2-sources (the standard gentoo-sources, with gentoo-b2-kernel-patches applied); this includes some necessary edits for the rev1 board.
  • Includes a modified buildkernel-b2, which now does the right thing, even on rev 1 boards.
  • All packages brought up to date against the Gentoo tree, as of 26 Jul 2015;
  • Unnecessary terminals disabled, per Gordon's suggestion here (saves system memory);
  • Deleted /etc/dhcpcd.duid file from image for better security (will be regenerated on first use);
  • Set up /etc/mtab as link to /proc/self/mounts, as required here;
  • Added CONFIG_RTL8192CU=m (and dependencies) to kernel (support for commonly used WiFi dongle).
  • Added a new release of blinktest; this simply has a copy of /install/8313E21.itb as /install/install.itb; for the trivial task that this system has to perform, the same dtb (included in the .itb file) can be used for both rev 1 and rev 2 B2s; however, the name has to be correct for the image to boot on rev 1 boards.

Release 1.1.0

08 Jul 19:59
Compare
Choose a tag to compare

Changes in this release:

  • Now uses kernel 4.0.4 from gentoo-b2-sources (the standard gentoo-sources, with gentoo-b2-kernel-patches applied);
  • All packages brought up to date against the Gentoo tree, as of 22 May 2015;
  • Overlay management has been migrated to the new Portage plug-in sync system (from layman);
  • Configuration files in /etc/portage/... have been migrated to a directory/sub-files structure (now the default in the Gentoo installation media);
  • The workaround to enable net-misc/dhcpcd to compile with v4 kernel headers has been implemented (please see here);
  • The rear button can now be used to power-off the B2 (due to this fix in gentoo-b2-kernel-patches);
  • The contents of /etc/fw_env.config have now been set correctly; this was preventing (e.g.) fw_printenv working correctly on the B2;
  • Scripts have been supplied to simplify HDD installation, for those who wish to do so (this remains entirely optional). They are /root/install_on_sda.sh and /root/install_on_sda_gpt.sh.
  • The ssh host keys have been removed from the image, for security (they are now auto-generated on first boot);
  • The same image may now be used to boot both standard and diskless B2s (shifted to UUID-based naming).

Initial public release (1.0.0)

26 Jan 18:39
Compare
Choose a tag to compare

Initial public release.