Release v1.5.2
This is an update release to v1.5.1. If you are already on v1.5.1, you can upgrade by following the instructions below (or wait for the automated weekly update to do (most of) this for you; note however, that a few manual steps are still required for full v1.5.2 functionality, so you may wish to just follow the manual route anyway.
Changes in this release (see main project page for further details):
-
Added a service,
rpi4-eeprom-updater
, to automate the upgrading of the RPi4's bootloader and VL805 (USB) EEPROM firmware, patterned on the official rpi-eeprom deb. This service has no effect on the RPi3. For further details, please see this post. -
Added (preliminary!) MMAL 64-bit userland support, via the inclusion of 6by9's pointer-wrangling PR#586 into
media-libs/raspberrypi-userland
(he tagged it "RFC", but as the functionality provided is useful and reasonably orthogonal, I've merged it anyway ^-^). As a result, tools such asraspivid
andraspistill
are now bundled with the image! (So now if, for example, you have the optional camera module attached, you should be able to issue e.g.raspivid -v -o test.h264 -t 10000 -g 1
). (For those interested, OpenMAX-IL is not yet supported in 64-bit.)- Also turned on the
mmal
USE flag formedia-video/ffmpeg
, as the necessary support libraries and headers are now present (thanks to the above PR). So, for example, you could play back the abovetest.h264
file usingffplay -vcodec h264_mmal -i test.h264
(as well as via e.g.ffplay -vcodec h264_v4l2m2m -i test.h264
of course, since the V4L2-M2M h/w codec endpoints remain supported too).
- Also turned on the
-
In line with Gentoo upstream, migrated a number of core system paths, as follows (for more details, please see this post):
/usr/portage
->/var/db/repos/gentoo
($PORTDIR
)/usr/portage/distfiles
->/var/cache/distfiles
($DISTDIR
)/usr/portage/packages
->/var/cache/binpkgs
($PKGDIR
)/usr/local/portage/<overlay>
->/var/db/repos/<overlay>
and added a fixup to effect the migration for updating users as well.
-
Added the
rpi-onetime-startup
service. This runs the scriptstartup.sh
from the top-level directory of the FAT filesystem in partition 1, if present, on the first boot (after partition resizing), having first disabled itself from future invocation. It is particularly intended to allow e.g. initial networking to be configured for users of headless systems, and to that end the bundled(/boot/)startup.sh
script contains a number of (commented) examples of configuring the wired and wireless interfaces (usingnmcli
). To use, edit thestartup.sh
script (on e.g. a Windows or Linux desktop box) on the microSD card to which you have just written the image, prior to first using the card to boot your headless RPi3/4 (users booting the image on a system with attached mouse, keyboard and monitor do not need to do use this facility of course, since networking can be configured via the GUI, once booted). -
Added support for the Pimoroni Fan SHIM (a neat, solderless active-cooling daughtercard for the RPi4) to
pyconfig_gen
(which allows you to set the temperature setpoint for spin-up; the driver has a built-in 10°C hysteresis); also added support forhdmi_enable_4kp60
(allows 60Hz modes on (one) 4K HDMI output). Accessed via Applications→Settings→RPi Config Tool on the image. -
In line with the deprecation (by its author) of
wiringpi
, removed this from the image, and in its place addeddev-libs/pigpio
'spigpiod
daemon to the default runlevel. Its counterpart command-line toolpigs
may be used to access the Pi's GPIO (a set ofpython
library bindings for the underlying C library is provided also).wiringpi
remains in the binhost, for now (so you can stillemerge
it if you wish). -
Following a suggestion by arizonadrscott (and the pattern used by Raspbian), set up groups and
udev
rules for GPIO, I2C and SPI, and madedemouser
a member of these groups. Also added somevideo
group and serial-port aliasingudev
rules, again following Raspbian. Seesys-apps/rpi-gpio
,sys-apps/rpi-i2c
andsys-apps/rpi-spi
; alsosys-apps/rpi-serial
andsys-apps/rpi-video
for details. Added migrationpkg_postinst()
rules to join allwheel
group members to thegpio
,i2c
andgpio
groups, and dropped the (largely Pi-Top-specific)rpi3-i2cdev
andrpi3-spidev
services. -
Adopted more aggressive
MAKEOPTS
andMAKE_DEFAULT_OPTS
values in/etc/portage/make.conf
, as the restricted parallelism (conservatively) enforced in the last release turned out to be confusing for many new users. -
Added a fixup to turn off Xfce4-driven DPMS monitor power down, as this was causing (sometimes unrecoverable) monitor blanking during e.g. long
genup
runs. Thanks to Heeboo for the suggestion. -
As of v1.5.0 of the image, the custom
x11-misc/arandr
on the image installs an/etc/xdg/autostart
entry, which invokes the config file~/.screenlayout/default.sh
(if one has previously been saved (from thearandr
GUI) by the user). This is useful to create e.g. persistent dual-monitor layouts, but there was no (user-facing) way to stop it running if the commands therein were somehow inappropriate. However, in this release, anydefault.sh
script is not run if the Ctrl key is held down during graphical login. -
Added
usbhid.mousepoll=0
to/boot/cmdline.txt
to improve mouse lag (reported for some setups); thanks to k3lt for the suggestion. -
Upgraded the shipped kernels, to
bcm{rpi3,2711}-kernel-bis-bin-4.19.86.20191126
, and boot firmware, tosys-boot/rpi3-64bit-firmware-1.20190925
. Inter alia, the kernels now haveCONFIG_STRICT_DEVMEM
unset. -
Various minor ebuild tidy-ups (including making OpenRC deps conditional on
-systemd
USE (as requested by Avamander) etc.).Note: the affected services do not yet have
systemd
unit files and so forth; this change is just to allow those who wish to e.g. cut over the 'lite' image tosystemd
boot, more easily so to do. -
All packages brought up-to-date against the Gentoo tree, as of 16 November 2019. So e.g.,
chromium
bumped to 78.0.3904.50-r2,firefox
to 70.0.1,libreoffice
to 6.3.3.2 etc.
Upgrading from an Earlier Release of the Image
Users downloading this v1.5.2 image directly can of course omit the instructions below; as all settings have been correctly set up for you already.
Users on releases earlier than v1.5.1 should follow the manual upgrade instructions to 1.5.1 below; the final step
genup
therein will actually bring you (most of the way) to v1.5.2 now. Once done, continue at the "Finalizing the upgrade" section, below.
To upgrade manually (from v1.5.1), simply issue (working as root):
pi64 ~ # emaint sync --repo sakaki-tools
pi64 ~ # emerge -v --oneshot --update app-portage/genup
pi64 ~ # genup
Let this run to completion. Once done, reboot to start using the updated kernel, and once back up again run:
pi64 ~ # dispatch-conf
to review any modified configuration files. If in doubt, press u when prompted, to use the new copy of the file (you can learn more about using the dispatch-conf
tool here).
Once that's done, verify you are on >=v1.5.2, by issuing:
pi64 ~ # eix rpi-64bit-meta
Finalizing the upgrade
There are two small, final steps required to complete the upgrade to v1.5.2 (which genup
cannot do for you).
The first step is to enable, and start, the pigpiod
daemon. This allows easy access to the RPi's GPIO, most straightforwardly via the pigs
command-line program. It replaces wiringpi
(which has been deprecated by its author, and removed from the image).
To do so, issue:
pi64 ~ # rc-update add pigpiod default
pi64 ~ # rc-service pigpiod start
The second step is to ensure that, following Gentoo upstream, certain system paths are correctly migrated (please see this post for further details). To do so, issue
pi64 ~ # /etc/cron.weekly/fixup
and wait for it to complete.
If you have disabled the
weekly-genup
USE flag ondev-embedded/rpi-64bit-meta
(and this won't apply to most readers, for avoidance of doubt), you can download the migration script directly from here.
After migration, the following paths will have changed:
/usr/portage
->/var/db/repos/gentoo
($PORTDIR
)/usr/portage/distfiles
->/var/cache/distfiles
($DISTDIR
)/usr/portage/packages
->/var/cache/binpkgs
($PKGDIR
)/usr/local/portage/<overlay>
->/var/db/repos/<overlay>
However, symlinks are also created from the old directories to the new locations (so, e.g., /usr/portage
becomes a symlink to /var/db/repos/gentoo
) to ease migration. Your /etc/portage/make.conf
script will also be automatically updated with the new definitions of $DISTDIR
, $PORTDIR
and $PKGDIR
, as part of the fixup run.
And that's it: congratulations, you should now be running v1.5.2!