Skip to content

Commit 3ec75cb

Browse files
committed
Update for release 1.4.2
1 parent a3c02a8 commit 3ec75cb

File tree

6 files changed

+479
-444
lines changed

6 files changed

+479
-444
lines changed

README.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,24 @@ Bootable 64-bit Gentoo image for the Raspberry Pi 3 Model B and B+, with Linux 4
88
This project is a bootable, microSD card **64-bit Gentoo image for the [Raspberry Pi 3 model B](https://www.raspberrypi.org/products/raspberry-pi-3-model-b/) and [B+](https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/)** single board computers (SBC).
99
> A variant image for the [Pi-Top v1](https://pi-top.com/products/pi-top) (an RPi3-based DIY laptop) is also provided.
1010
11-
The image's userland contains a complete (OpenRC-based) Gentoo system (including a full Portage tree) - so you can run `emerge` operations immediately - and has been pre-populated with a reasonable package set (Xfce v4.12, LibreOffice v6.1.5.2, Firefox Quantum v65.0.1, Chromium v72.0.3626.121, Thunderbird v60.5.1, VLC v3.0.6, Kodi v18.0, GIMP v2.10.8 etc.) so that you can get productive *without* having to compile anything first (unless you want to, of course ^-^). As of version 1.2.0 of the image, all userland software has been built under Gentoo's 17.0 profile.
11+
The image's userland contains a complete (OpenRC-based) Gentoo system (including a full Portage tree) - so you can run `emerge` operations immediately - and has been pre-populated with a reasonable package set (Xfce v4.12, LibreOffice v6.2.4.2, Firefox Quantum v67.0, Chromium v74.0.3729.169, Thunderbird v60.7.0, VLC v3.0.7, Kodi v18.0, GIMP v2.10.10 etc.) so that you can get productive *without* having to compile anything first (unless you want to, of course; this being Gentoo, GCC v9.1.0, Clang v8.0.0 and IcedTea v3.12.0 are of course bundled also ^-^). As of version 1.2.0 of the image, all userland software has been built under Gentoo's 17.0 profile.
1212

1313
The kernel and userland are both 64-bit (`arm64`/`aarch64`), and support for the Pi's [VC4](https://wiki.gentoo.org/wiki/Raspberry_Pi_VC4) GPU has been included (using [`vc4-fkms-v3d`](https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=159853) / Mesa), so rendering performance is reasonable (e.g., `glxgears` between 400 and 1200fps, depending on load; real-time video playback). The Pi's onboard Ethernet, WiFi (dual-band on the RPi3 B+) and Bluetooth adaptors are supported, as is the official 7" [touchscreen](#touchscreen) (if you have one). Sound works too, both via HDMI (given an appropriate display), and the onboard headphone jack. As of version 1.1.0 of the image, a [weekly-autobuild binhost](#binhost), custom [Gentoo profile](#profile), and [binary kernel package](#binary_kp) have been provided, making it relatively painless to keep your system up-to-date (and, because of this, [`genup`](https://github.com/sakaki-/genup) has been configured to run [automatically once per week](#weekly_update), by default). And, as of version 1.4.0 of the image, access to the RPi3's hardware video codecs (and camera module, if you have one) [is supported](#v4l2) too, via the V4L2 framework.
1414

1515
Here's a screenshot of the image running on an RPi3B+:
1616

17-
<img src="https://raw.githubusercontent.com/sakaki-/resources/master/raspberrypi/pi3/demo-screenshot-small-6.jpg" alt="gentoo-on-rpi3-64bit in use (screenshot)" width="960px"/>
17+
<img src="https://raw.githubusercontent.com/sakaki-/resources/master/raspberrypi/pi3/demo-screenshot-small-7.jpg" alt="gentoo-on-rpi3-64bit in use (screenshot)" width="960px"/>
1818

1919
The image may be downloaded from the link below (or via `wget`, per the instructions which follow).
2020

2121
<a id="downloadlinks"></a>Variant | Version | Image | Digital Signature
2222
:--- | ---: | ---: | ---:
23-
Raspberry Pi 3 Model B or B+ 64-bit | v1.4.1 | [genpi64.img.xz](https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.1/genpi64.img.xz) | [genpi64.img.xz.asc](https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.1/genpi64.img.xz.asc)
24-
Pi-Top (an RPi3-based DIY Laptop) 64-bit | v1.4.1 | [genpi64pt.img.xz](https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.1/genpi64pt.img.xz) | [genpi64pt.img.xz.asc](https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.1/genpi64pt.img.xz.asc)
23+
Raspberry Pi 3 Model B or B+ 64-bit | v1.4.2 | [genpi64.img.xz](https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.2/genpi64.img.xz) | [genpi64.img.xz.asc](https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.2/genpi64.img.xz.asc)
24+
Pi-Top (an RPi3-based DIY Laptop) 64-bit | v1.4.2 | [genpi64pt.img.xz](https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.2/genpi64pt.img.xz) | [genpi64pt.img.xz.asc](https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.2/genpi64pt.img.xz.asc)
2525

26-
**NB:** most users will want the first ([genpi64.img.xz](https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.1/genpi64.img.xz)) image - the Pi-Top variant ([genpi64pt.img.xz](https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.1/genpi64pt.img.xz)) should *only* be used for those who want to run their RPi3 in a [Pi-Top](https://pi-top.com/products/pi-top) chassis (as it contains platform-specific drivers to communicate with the Pi-Top's onboard battery, hub, speakers etc.)
26+
**NB:** most users will want the first ([genpi64.img.xz](https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.2/genpi64.img.xz)) image - the Pi-Top variant ([genpi64pt.img.xz](https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.2/genpi64pt.img.xz)) should *only* be used for those who want to run their RPi3 in a [Pi-Top](https://pi-top.com/products/pi-top) chassis (as it contains platform-specific drivers to communicate with the Pi-Top's onboard battery, hub, speakers etc.)
2727

28-
> The previous release versions are still available (together with a detailed changelog) [here](https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases). If you have a significant amount of work invested in an older release of this image, I have also provided manual upgrade instructions (from 1.0.0 thru 1.4.0 &rarr; 1.4.1) [here](https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases#upgrade_to_1_4_1).
28+
> The previous release versions are still available (together with a detailed changelog) [here](https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases). If you have a significant amount of work invested in an older release of this image, I have also provided manual upgrade instructions (from 1.0.0 thru 1.4.1 &rarr; 1.4.2) [here](https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases#upgrade_to_1_4_2).
2929
3030
Please read the instructions below before proceeding. Also please note that all images (and binary packages) are provided 'as is' and without warranty. You should also be comfortable with the (at the moment, unavoidable) non-free licenses required by the firmware and boot software supplied on the image before proceeding: these may be reviewed [here](https://github.com/sakaki-/gentoo-on-rpi3-64bit/tree/master/licenses).
3131

@@ -61,7 +61,7 @@ Please read the instructions below before proceeding. Also please note that all
6161
## Prerequisites
6262

6363
To try this out, you will need:
64-
* A [microSD](https://en.wikipedia.org/wiki/Secure_Digital) card of _at least_ 16GB capacity (the image is 1,430MiB compressed, 11.06GiB == 11.88GB uncompressed, so it should fit on any card marked as >= 16GB). If you intend to build many additional large packages (or kernels) on your RPi3, a card of >16GB is recommended (the root partition will [automatically be expanded](#morespace) to fill the available space on your microSD card, on first boot). Depending on the slots available on your PC, you may also need an adaptor to allow the microSD card to be plugged in (to write the image to it initially). [Class A1 or A2 cards](https://www.mymemory.co.uk/blog/a1-vs-a2-sandisk-microsd-card-whats-the-difference/) are particularly recommended, but not required.
64+
* A [microSD](https://en.wikipedia.org/wiki/Secure_Digital) card of _at least_ 16GB capacity (the image is 1,511MiB compressed, 11.06GiB == 11.88GB uncompressed, so it should fit on any card marked as >= 16GB). If you intend to build many additional large packages (or kernels) on your RPi3, a card of >16GB is recommended (the root partition will [automatically be expanded](#morespace) to fill the available space on your microSD card, on first boot). Depending on the slots available on your PC, you may also need an adaptor to allow the microSD card to be plugged in (to write the image to it initially). [Class A1 or A2 cards](https://www.mymemory.co.uk/blog/a1-vs-a2-sandisk-microsd-card-whats-the-difference/) are particularly recommended, but not required.
6565
> I have found most SanDisk cards work fine; if you are having trouble, a good sanity check is to try writing the [standard Raspbian 32-bit image](https://www.raspberrypi.org/downloads/raspbian/) to your card, to verify that your Pi3 will boot with it, before proceeding.
6666
6767
* A Raspberry Pi 3 Model B or B+ (obviously!). (Or, a Pi-Top, if you are using that variant of the image.)
@@ -83,13 +83,13 @@ Choose either the regular (for a standard RPi3 board) or Pi-Top variant, then fo
8383

8484
On your Linux box, issue (you may need to be `root`, or use `sudo`, for the following, hence the '#' prompt):
8585
```console
86-
# wget -c https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.1/genpi64.img.xz
87-
# wget -c https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.1/genpi64.img.xz.asc
86+
# wget -c https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.2/genpi64.img.xz
87+
# wget -c https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.2/genpi64.img.xz.asc
8888
```
8989

9090
<img src="https://raw.githubusercontent.com/sakaki-/resources/master/raspberrypi/pi3/Raspberry_Pi_3_B_and_B_plus.jpg" alt="Raspberry Pi 3 B and B+" height="200px" align="right"/>
9191

92-
to fetch the compressed disk image file (~1,430MiB) and its signature.
92+
to fetch the compressed disk image file (~1,511) and its signature.
9393

9494
Next, if you like, verify the image using gpg (this step is optional):
9595
```console
@@ -121,13 +121,13 @@ Now continue reading at ["Booting!"](#booting) below.
121121
122122
On your Linux box, issue (you may need to be `root`, or use `sudo`, for the following, hence the '#' prompt):
123123
```console
124-
# wget -c https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.1/genpi64pt.img.xz
125-
# wget -c https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.1/genpi64pt.img.xz.asc
124+
# wget -c https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.2/genpi64pt.img.xz
125+
# wget -c https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.2/genpi64pt.img.xz.asc
126126
```
127127

128128
<img src="https://raw.githubusercontent.com/sakaki-/resources/master/raspberrypi/pi3/pitop/gentoo-pitop-small.jpg" alt="Pi-Top Running Gentoo" height="200px" align="right"/>
129129

130-
to fetch the compressed disk image file (~1,431MiB) and its signature.
130+
to fetch the compressed disk image file (~1,504MiB) and its signature.
131131

132132
Next, if you like, verify the image using gpg (this step is optional):
133133
```console
@@ -184,7 +184,7 @@ If you would like to run **benchmarks** on your RPi3 system, please see [these n
184184
The `@world` set of packages (from `/var/lib/portage/world`) pre-installed on the image may be viewed [here](https://github.com/sakaki-/gentoo-on-rpi3-64bit/blob/master/reference/world-packages) (note that the version numbers shown in this list are Gentoo ebuilds, but they generally map 1-to-1 onto upstream package versions).
185185
> The *full* package list for the image (which includes @system and dependencies) may also be viewed, [here](https://github.com/sakaki-/gentoo-on-rpi3-64bit/blob/master/reference/world-all-packages).
186186
187-
The system on the image has been built via a minimal install system and stage 3 from Gentoo (`arm64`, available [here](http://distfiles.gentoo.org/releases/arm/autobuilds/current-stage3-arm64/)), but _all_ binaries (libraries and executables) have been rebuilt (with profile 17.0) to target the Raspberry Pi 3 B/B+'s BCM2837 SoC specifically (the `/etc/portage/make.conf` file used on the image may be viewed [here](https://github.com/sakaki-/gentoo-on-rpi3-64bit/blob/master/reference/make.conf), augmented by the [custom profile's](#profile) [`make.defaults`](https://github.com/sakaki-/rpi3-overlay/tree/master/profiles/targets/rpi3/make.defaults)). The CHOST on the image is `aarch64-unknown-linux-gnu` (per [these notes](https://wiki.gentoo.org/wiki/User:NeddySeagoon/Pi3#Getting_Started)). All packages have been brought up to date against the Gentoo tree as of 19 February 2019.
187+
The system on the image has been built via a minimal install system and stage 3 from Gentoo (`arm64`, available [here](http://distfiles.gentoo.org/releases/arm/autobuilds/current-stage3-arm64/)), but _all_ binaries (libraries and executables) have been rebuilt (with profile 17.0) to target the Raspberry Pi 3 B/B+'s BCM2837 SoC specifically (the `/etc/portage/make.conf` file used on the image may be viewed [here](https://github.com/sakaki-/gentoo-on-rpi3-64bit/blob/master/reference/make.conf), augmented by the [custom profile's](#profile) [`make.defaults`](https://github.com/sakaki-/rpi3-overlay/tree/master/profiles/targets/rpi3/make.defaults)). The CHOST on the image is `aarch64-unknown-linux-gnu` (per [these notes](https://wiki.gentoo.org/wiki/User:NeddySeagoon/Pi3#Getting_Started)). All packages have been brought up to date against the Gentoo tree as of 12 June 2019 (EOD, UTC).
188188

189189
> Note: the CFLAGS used for the image build is `-march=armv8-a+crc -mtune=cortex-a53 -O2 -pipe`. You can of course re-build selective components with more aggressive flags yourself, should you choose. As the SIMD FPU features are standard in ARMv8, there is no need for `-mfpu=neon mfloat-abi=hard` etc., as you would have had on e.g. the 32-bit ARMv7a architecture. Note that AArch64 NEON also has a full IEEE 754-compliant mode (including handling denormalized numbers etc.), there is also no need for `-ffast-math` flag to fully exploit the FPU either (again, unlike earlier ARM systems). Please refer to the official [Programmer’s Guide for ARMv8-A](http://infocenter.arm.com/help/topic/com.arm.doc.den0024a/DEN0024A_v8_architecture_PG.pdf) for more details.
190190
@@ -786,7 +786,7 @@ The image is subscribed to the following ebuild repositories:
786786
* **[rpi3](https://github.com/sakaki-/rpi3-overlay)**: this provides ebuilds specific to the Raspberry Pi 3, or builds that have fallen off the main Gentoo tree but which are the last known reliable variants for `arm64`. It also provides the [custom profile](#profile) [`rpi3:default/linux/arm64/17.0/desktop/rpi3`](https://github.com/sakaki-/rpi3-overlay/tree/master/profiles/targets/rpi3). The image currently uses the following ebuilds from the `rpi3` overlay:
787787

788788
* **dev-embedded/rpi3-64bit-meta**
789-
This is the main `gentoo-on-rpi3-64bit` metapackage - its version matches that of the image release (currently, 1.4.1). The features it pulls in (via other ebuilds) can be customized via the following USE flags (edit via `/etc/portage/package.use/rpi3-64bit-meta`):<a name="meta_use_flags"></a>
789+
This is the main `gentoo-on-rpi3-64bit` metapackage - its version matches that of the image release (currently, 1.4.2). The features it pulls in (via other ebuilds) can be customized via the following USE flags (edit via `/etc/portage/package.use/rpi3-64bit-meta`):<a name="meta_use_flags"></a>
790790

791791
| USE flag | Default? | Effect |
792792
| -------- | --------:| ------:|

0 commit comments

Comments
 (0)