Difference between revisions of "Pinebook Pro Software Releases"
(Beginning to add gentoo installation instructions) |
m (→DietPi: Update link for new xz-compressed image and Bookworm) |
||
(68 intermediate revisions by 19 users not shown) | |||
Line 1: | Line 1: | ||
This page contains a list of all available releases and tools for the [[Pinebook Pro]]. | |||
== | == Linux OS Image Releases == | ||
[[ | For information on how to install these images onto your device, please see the [[Getting started]] Page, which includes information on writing images to the device eMMC or an SD card | ||
The Manjaro project offers a mainline kernel with patches and modules to support | === Manjaro ARM === | ||
[[File:Manjaro-logo.svg|right|100px]] | |||
The Manjaro project offers a mainline kernel with patches and modules to support the Pinebook Pro hardware. To learn more about Manjaro please visit [https://forum.manjaro.org/c/arm/ Manjaro Forum]. You can follow the ongoing discussion about Manjaro on the [https://forum.pine64.org/showthread.php?tid=8207 PINE64 forum]. | |||
All images boot from both SD card and the internal eMMC module. | All images boot from both SD card and the internal eMMC module. | ||
Download: | |||
* [https://manjaro.org/download/ Direct download from Manjaro]: You have to navigate to the Manjaro ARM section and select "Generic" as the device in the drop-down list (the Pinebook Pro image has been removed and it's now included in the generic one since version 22.08. Then you can choose Gnome, KDE Plasma, Mate, Minimal, Sway or Xfce. | |||
* [https://manjaro.org/ | * Old factory release: [https://files.pine64.org/os/PinebookPro/manjaro/Manjaro-ARM-kde-plasma-pbpro-bsp-22.06%20(2).img.xz Manjaro/Plasma 22.06 factory loaded build] (June 2022) from ''pine64.org'' (1.04GB, MD5 of the XZ file ''d78031a4bed3eeb4f2001f3c89b9ed5a'') | ||
* [https:// | |||
=== | === Armbian === | ||
= | |||
[[File:armbian.png|right|100px]] | [[File:armbian.png|right|100px]] | ||
Armbian | Armbian is a base operating system platform for single board computers (''SBCs'') that other projects can trust to build upon. It is a lightweight Debian or Ubuntu based Linux distribution specialized for ARM development boards. Each system is compiled, assembled and optimized by the Armbian Build Tools. It has powerful build and software development tools to make custom builds and a vibrant community. | ||
Download: | |||
* [https://www.armbian.com/pinebook-pro/ The Pinebook Pro Download Page] | |||
Notes: | |||
* If you have any difficulties please visit our [https://forum.armbian.com forum] or come chat with us on [https://docs.armbian.com/Community_IRC/ IRC / Discord!] | |||
* As of April 2023, Armbian only has Ubuntu images pre-made. However, using their tools to create a Debian image from scratch takes little expertise and results in an image that can be burned onto a USB stick or SD card. Their installer can then install it onto internal eMMC, including a working bootloader. | |||
=== | === Twister OS === | ||
[[File:Twister_OS.png|right|100px]] | [[File:Twister_OS.png|right|100px]] | ||
Line 87: | Line 42: | ||
'''Password''' | '''Password''' | ||
asdasd | {| class="wikitable" | ||
!colspan="2" style="background: #a7d7f9;"| Default credentials | |||
|- | |||
! Root user | |||
| <code>root/asdasd</code> | |||
|} | |||
== Fedora == | === Fedora === | ||
[[File:fedora1.png|right|100px]] | [[File:fedora1.png|right|100px]] | ||
Fedora Linux is a Linux distribution developed by the Fedora Project. It creates an innovative, free, and open source platform for hardware, clouds, and containers that enables software developers and community members to build tailored solutions for their users. | |||
Using this [https://nullr0ute.com/2021/05/fedora-on-the-pinebook-pro/ blog post] it is | Installation: | ||
* Using this [https://nullr0ute.com/2021/05/fedora-on-the-pinebook-pro/ blog post] it is possible to run Official Fedora on the Pinebook Pro | |||
Notes: | |||
Upstream Fedora uses | * Upstream Fedora uses the SPI flash on the Pinebook Pro to manage U-Boot. | ||
=== | === Arch Linux ARM === | ||
[[File:Archlinux-logo.png|right|100px]] | |||
==== Official Installation ==== | |||
See [[Pinebook Pro Installing Arch Linux ARM]] for instructions on how to install the official Arch Linux ARM. | |||
==== Customized Premade Root Filesystem ==== | |||
An Arch Linux ARM root filesystem customized for the Pinebook Pro using Manjaro's kernel is available. Instructions are included for installation on microSD card, eMMC module and NVME SSD. | |||
=== | |||
'''Download location''' | '''Download location''' | ||
[https://github.com/SvenKiljan/archlinuxarm-pbp/releases/latest Get the latest root filesystem from GitHub] (size: 500-600 MB). | |||
''' | '''Installation''' | ||
Make sure to thoroughly read the [https://github.com/SvenKiljan/archlinuxarm-pbp/blob/main/README.md readme], [https://github.com/SvenKiljan/archlinuxarm-pbp/blob/main/INSTALL.md installation instructions] and [https://github.com/SvenKiljan/archlinuxarm-pbp/blob/main/FAQ.md FAQ]. | |||
'''Username and password''' | '''Username and password''' | ||
The default Arch Linux ARM user credentials. | |||
=== | {| class="wikitable" | ||
!colspan="2" style="background: #a7d7f9;"| Default credentials | |||
|- | |||
! Default user | |||
| <code>alarm/alarm</code> | |||
|- | |||
! Root user | |||
| <code>root/root</code> | |||
|} | |||
=== postmarketOS === | |||
[[File:PostmarketOS logo.png|right|100px]] | |||
=== | |||
Official postmarketOS stable builds are available for the Pinebook Pro with the following interfaces: | |||
* console | |||
* GNOME | |||
* KDE Plasma Desktop | |||
* Phosh | |||
* Sway | |||
It boots from microSD card and from eMMC. | |||
'''Download location''' | '''Download location''' | ||
Get the stable image here: https://postmarketos.org/download/ (size: 103 MB to 775 MB) | |||
The installer images allows setting up an encrypted installation on SD or eMMC. | |||
'''Username and password''' | '''Username and password''' | ||
{| class="wikitable" | |||
!colspan="2" style="background: #a7d7f9;"| Default credentials | |||
|- | |||
! Default user | |||
| <code>user/147147</code> | |||
|} | |||
===Kali Linux=== | |||
[[File:Kali-logo.png|right|100px]] | |||
Official pre-built OS images of Kali Linux for the Pinebook Pro featuring all tools you'd expect from the distribution. It boots from microSD card and from eMMC. | |||
Official | |||
'''Download location''' | '''Download location''' | ||
Get the latest image here: [https:// | Get the latest image here: [https://www.offensive-security.com/kali-linux-arm-images/ Direct download latest images from Offensive Security's website] (size: 2.0 GB) | ||
'''Username and password''' | '''Username and password''' | ||
{| class="wikitable" | |||
!colspan="2" style="background: #a7d7f9;"| Default credentials | |||
|- | |||
! Default user | |||
| <code>kali/kali</code> | |||
|} | |||
== | === R-Cade === | ||
[[File: | [[File:RCadeLogo.jpg|right|100px]] | ||
Retro Center's R-Cade [USB / microSD / eMMC Boot] | |||
* The 4K Media Center Arcade | |||
* [https://www.retro-center.com/about-r-cade/ RCade] Features 100+ retro-gaming systems, a lightweight web browser, and full 4K UHD media playback | |||
* DD image to USB, microSD, or eMMC and boot. Highly recommend using [https://etcher.io/ Etcher] | |||
** [https://github.com/retro-center/rcade_releases/releases Direct download from Retro Center's GitHub] | |||
'''Username and password''' | '''Username and password''' | ||
{| class="wikitable" | |||
!colspan="2" style="background: #a7d7f9;"| Default credentials | |||
|- | |||
! Root user | |||
| <code>root/retro</code> | |||
|} | |||
== Q4OS == | === Q4OS === | ||
[[File:q4os.png|right|100px]] | [[File:q4os.png|right|100px]] | ||
Line 223: | Line 168: | ||
User account and password are created on first run. | User account and password are created on first run. | ||
== DietPi == | === DietPi === | ||
[[File:dietpi.png|right|100px]] | [[File:dietpi.png|right|100px]] | ||
DietPi is a lightweight, yet easy to setup and feature-rich Linux distribution, based on Debian. To find out more about DietPi, please visit the [https://dietpi.com/docs/ official documentation]. * Discuss the Pinebook Pro build on the [https://forum.pine64.org/showthread.php?tid=14061 PINE64 forum thread]. | |||
* Discuss the Pinebook build on the [https://forum.pine64.org/showthread.php?tid=14061 PINE64 forum thread]. | |||
== openSUSE == | Download: | ||
* [https://dietpi.com/downloads/images/DietPi_PinebookPro-ARMv8-Bookworm.img.xz Direct download from dietpi.com] | |||
{| class="wikitable" | |||
!colspan="2" style="background: #a7d7f9;"| Default credentials | |||
|- | |||
! Root user | |||
| <code>root/dietpi</code> | |||
|} | |||
=== openSUSE === | |||
[[File:opensuse-distribution.png|right|100px]] | [[File:opensuse-distribution.png|right|100px]] | ||
Line 257: | Line 205: | ||
You may build rpms and see if it fix issues from this repository: [https://github.com/bengtfredh/pinebook-pro-copr] | You may build rpms and see if it fix issues from this repository: [https://github.com/bengtfredh/pinebook-pro-copr] | ||
== FydeOS == | Default password for root is "linux" | ||
=== FydeOS === | |||
An operating system based on the Chromium Project | An operating system based on the Chromium Project | ||
https://fydeos.io/download/device/pinebook-pro | https://fydeos.io/download/device/pinebook-pro | ||
= | === Void Linux === | ||
[[File:void_bg.png|right|100px]] | |||
==== Images ==== | |||
[https://voidlinux.org/ Void Linux] packages U-Boot and a kernel for the Pinebook Pro, but does not distribute any images for the device. | |||
Cameron Nemo ([[User:CameronNemo]]) distributes unofficial Void Linux images for the Pinebook Pro: | |||
* [https://repo.nohom.org/void/images/void-pinebookpro-20220530.img.xz glibc download] | |||
* [https://repo.nohom.org/void/images/void-pinebookpro-musl-20220610.img.xz musl download] | |||
Some notes about the images: | |||
==NetBSD== | * They were released on 2022-05-30 (glibc) and 2022-06-10 (musl) | ||
* They ship U-Boot 2022.04 and Linux 5.15 (with minimal patches) | |||
* Meant to be uncompressed then flashed to either an SD card or the internal eMMC module | |||
* The root partition is ~1.7GB, and must be expanded manually | |||
* There are very few services enabled on the images by default: udev and some getty's | |||
{| class="wikitable" | |||
!colspan="2" style="background: #a7d7f9;"| Default credentials | |||
|- | |||
! Root user | |||
| <code>root/voidlinux</code> | |||
|} | |||
==== Do It Yourself ==== | |||
{{Warning|This is not an official, nor supported way of using Void Linux on the Pinebook Pro.}} | |||
You can also manually install Void from a rootfs tarball: [[Pinebook Pro Installing Void Linux ARM|see instructions here]]. | |||
== BSD == | |||
=== NetBSD === | |||
[[File:netbsd.png|right|100px]] | [[File:netbsd.png|right|100px]] | ||
Line 278: | Line 258: | ||
'''Username and password''' | '''Username and password''' | ||
{| class="wikitable" | |||
!colspan="2" style="background: #a7d7f9;"| Default credentials | |||
|- | |||
! Root user | |||
| <code>root/-</code> | |||
|} | |||
=== OpenBSD === | |||
==OpenBSD== | |||
[[File:Puffy_mascot_openbsd.png|right|100px]] | [[File:Puffy_mascot_openbsd.png|right|100px]] | ||
Line 290: | Line 274: | ||
ARM64 images, (including support for Pinebook Pro), can be found here [https://www.openbsd.org/arm64.html OpenBSD arm64] | ARM64 images, (including support for Pinebook Pro), can be found here [https://www.openbsd.org/arm64.html OpenBSD arm64] | ||
= Linux Installer Releases = | == Linux Installer Releases == | ||
=== Manjaro ARM === | |||
[[File:Manjaro-logo.svg|right|100px]] | |||
The [https://gitlab.manjaro.org/manjaro-arm/applications/manjaro-arm-installer manjaro-arm-installer] script is intended to install Manjaro ARM directly to SD/eMMC cards without the need for images (including LXQT, Mate & CuboCore editions, as well as full disk encryption). | |||
Running on a Linux x86 computer, it can install Manjaro ARM directly to an empty eMMC using an eMMC to USB adapter. The script can also be run from SD to install an image to the eMMC. | |||
== | === Armbian === | ||
[[File: | [[File:armbian.png|right|100px]] | ||
You can use the [https://github.com/armbian/build Armbian Builder] to generate your own Armbian images of various types. | |||
== Debian == | The builder supports building any version of Debian and any version of Ubuntu with various desktop options: | ||
[[File: | * Budgie | ||
* Cinnamon | |||
* Deepin | |||
* Enlightenment | |||
* Gnome | |||
* I3-wm | |||
* Kde-plasma | |||
* Mate | |||
* Xfce | |||
* Xmonad | |||
=== Debian === | |||
[[File:Debian-logo.png|right|100px]] | |||
* Uses only the upstream kernel and firmware without special patches | * Uses only the upstream kernel and firmware without special patches | ||
* Display doesn't always work properly on first boot of installer, usually fixed after a couple tries | * Display doesn't always work properly on first boot of installer, usually fixed after a couple tries | ||
* Requires adding the non-free component to your /etc/apt/sources.list file and installing the "firmware-linux" package for Wi-Fi and Bluetooth support | * Requires adding the non-free component to your /etc/apt/sources.list file and installing the "firmware-linux" package for Wi-Fi and Bluetooth support. If your Pinebook Pro was part of the June/July 2022 batch, then you will need the "firmware-brcm80211" to accommodate the changed networking hardware. You will also need "brcmfmac43455-sdio.txt" in /lib/firmware/brcm, at least until it is included within firmware-brcm80211 upstream. | ||
* Installer is loaded into RAM, can install onto the same media from which it’s booted | * Installer is loaded into RAM, can install onto the same media from which it’s booted | ||
* Supports automatic partitioning and full disk encryption through LVM | * Supports automatic partitioning and full disk encryption through LVM | ||
Line 309: | Line 312: | ||
[https://d-i.debian.org/daily-images/arm64/daily/netboot/SD-card-images/ The relevant files are built daily here] and may sometimes be unavailable if the build system is having issues. The "README.concatenateable_images" file provides instructions on how to combine the partition.img.gz file with the firmware.pinebook-pro.rk3399.img.gz file in order to create a DD-able image. | [https://d-i.debian.org/daily-images/arm64/daily/netboot/SD-card-images/ The relevant files are built daily here] and may sometimes be unavailable if the build system is having issues. The "README.concatenateable_images" file provides instructions on how to combine the partition.img.gz file with the firmware.pinebook-pro.rk3399.img.gz file in order to create a DD-able image. | ||
The official images are '''not''' recommended yet until the display begins working consistently and the installer properly installs the bootloader. | The official images are '''not''' recommended yet until the display begins working consistently and the installer properly installs the bootloader. Building a Debian-based image via the Armbian builder on the other hand seems to work with no changes. Previously the best tool was [[Pinebook Pro Debian Installer|Daniel Thompson's Debian Installer]] , but unfortunately as of April 2023 some of the upstream kernel sources this tool used seem to no longer exist. | ||
== Gentoo == | === Gentoo === | ||
[[File:GentooLogo.png|right|100px]] | [[File:GentooLogo.png|right|100px]] | ||
There is a script that prepares a Gentoo arm64 stage 3 tarball for the Pinebook Pro. Unfortunately, this script is not currently functional, and requires extensive troubleshooting to make work. New instructions are currently being created and will be available here. | There is a script that prepares a Gentoo arm64 stage 3 tarball for the Pinebook Pro. Unfortunately, this script is not currently functional, and requires extensive troubleshooting to make work. New instructions are currently being created and will be available here. | ||
'''Word to the wise''' | |||
Currently, following the instructions on the Pinebook pro gentoo github page will *not* result in a functional system. Therefore it is neccesary to follow the instructions given here. Please bear in mind that the Pinebook pro's six arm cores and 4gb of ram are extremely anemic. For example, emerging the package net-libs/webkit-gtk in order to build the minimalist web-browser "surf", a process which takes eighty minutes on an intel core i5-8250U with 8gb of ram, required eight hours of compile time, | |||
Basic installation alone can take 24 hours of compillation, dozens of reboots, and hours of troubleshooting. After that, even installing firefox would take 17 hours. | |||
Now that that's out of the way, we may begin the installation. | |||
'''Preparing the bootloader''' | |||
Installing a functional bootloader can be difficult. Luckily, the tow-boot project provides a UEFI-like experience for some arm-based devices. Furthermore, it is not neccesary install this bootloader manually, as it will continue to be useable even after the disk has been reformatted, as long as the bootloader remains unscathed. | |||
https://manjaro.org/downloads/arm/pinebook-pro/arm8-pinebook-pro-minimal/ | |||
No-matter where you intend to install gentoo, the bootloader should always be installed on the eMMC flash, although technically the SD card slot could also be used. Either way, install any of the official Manjaro arm disk images to the internal eMMC (there's no reason not to use the minimal image, as you will not be using this OS for anything). You may use a second operating system installed on an SD-card, or the official Pine64 eMMC USB adapter. Boot into this operating system to ensure that the bootloader functions, but after that you have no further need of it. | |||
Next, if you already have an OS on an SD card, you can use that for installing gentoo. If you don't, you may be pleasantly suprised to find that tow-boot is cabable of booting from a USB drive. Therefore, you may install the same Manjaro image to your USB drive or SD card, and select it from the boot menu. You should now have an unused but bootable OS on the eMMC, and another bootable, usable OS on your external storage. | |||
'''Preparing the Disks''' | |||
Log into your host device as root with the following command: | |||
<code> sudo su </code> | |||
Enter your password. | |||
Let the device on which you intend to install gentoo be refered to hereafter as /dev/<gentoo>. Use the following command to prepare this disk for installation: | |||
<code> fdisk -B /dev/<gentoo> </code> | |||
Note: don't just copy these commands! You should substitute <gentoo> for mmcblk2 for the internal eMMC flash storage. | |||
Note that the first block of the boot partition is block 62500. Delete all partitions, but *do not* re-format the disk. Create a new boot partition starting at 62500, and as it's size select "+1GB". Create a new swap partition. fdisk will try to start it at the beginning of the volume (before the boot partition) Instead, when it prompts you for the starting position, enter in the end sector of the boot partition. It should then tell you that this is within an existing partition, and recommend a slightly higher value. Press enter, and give for the size of the partition any value greater than "+4gb". You need this much ram to be able to suspend your system, and emerge large packages. Don't be stingey - you still have SD cards. I reccomend "+8gb". | |||
Finally, add a root partition starting at the end sector of the swap partition, and use the rest of the disk for it. That should be 50-60 GB depending on the size of your swap and boot partitions. | |||
Lastly, press "t" to set the type of each partition. You may set partition 1 to type 6, 2 to type 82, and 3 to type 83. | |||
to set the partition types of the three partitions. | |||
<code>lsblk</code> | |||
to remind yourself which disk is /dev/<gentoo> | |||
Write the filesystems to these three partitions with the commands: | |||
<code>mkfs.vfat /dev/<gentoo>p1 | |||
mkswap /dev/<gentoo>p2 | |||
mkfs.ext4 /dev/<gentoo>p3</code> | |||
This may be a slightly different format if you're installing to a usb stick. | |||
'''Installation''' | '''Installation''' | ||
make the directory for mounting the filesystem you just created. These should be made on the external OS. | |||
<code>mkdir /mnt/gentoo | |||
mount /dev/<gentoo>p3 /mnt/gentoo</code> | |||
cd into this directory and fire up links. Navigate to gentoo.org/downloads and select the stage 3 minimal stage 3 tarball. Download it to your current directory, or move it to that directory from wherever it has been downloaded to. Once you are in the correct directory, unpack the tarball. | |||
<code>tar xpvf stage3-arm64-<blah blah blah></code> | |||
Mount the boot partition. | |||
<code>mount /dev/<gentoo>p1 /mnt/gentoo/boot</code> | |||
Chroot into the mounted directory and Install the operating system as per the AMD64 manual [https://wiki.gentoo.org/wiki/Handbook:AMD64]. Before you emerge anything, however, be sure to set your use flags as follows: | |||
<code>nano /etc/portage/make.conf</code> | |||
<code>MAKEOPTS="-j4 -l4" | |||
ACCEPT_KEYWORDS="* **" | |||
ACCEPT_LICENSE="*" | |||
USE="X gtk bluetooth pulseaudio" | |||
</code> | |||
You can use your own options instead of these if you know what you're doing. It's not super difficult. | |||
Continue installing the operating system, but stop just before emerging the @world set. I don't know if this is necessary, but I haven't had the time to try without doing this. Clone Janikk2099's github repo. It doesn't matter where, and run the script. If it fails run it a couple more times. | |||
<code>git clone https://github.com/Jannik2099/gentoo-pinebookpro | |||
./gentoo-pinebookpro/prepare.sh</code> | |||
Don't follow any of Janikk's other instructions. They appear to be out of date (no offense bro). Let me be clear: DO NOT INSTALL U-BOOT. I don't know what will happen, but it won't be an improvement over the existing boot-loader so don't worry about it. | |||
Finish installing your system until you come to the kernel. | |||
'''Custom Kernel''' | |||
Use sys-kernel/gentoo-kernel-bin as your kernel. You will need to manually edit the kernel configuration. First, select it as your kernel. | |||
<code>eselect kernel list</code> | |||
This should list only one option. Otherwise, select the number matching <code>linux-5.<whatever is latest>-gentoo-dist</code>, and cd into the kernel source directory. | |||
<code>eselect kernel set <number> | |||
cd /usr/src/linux</code> | |||
Begin the kernel configuration | |||
<code>make menuconfig</code> | |||
At this point, you're almost on your own. I don't know a strict cause-and-effect relationship between my kernel config and the behavior of my system. For starters, just go into platform selection and deselect everything except rockchip platforms. Once you're done save your configuration and exit. Make sure boot is mounted, and your fstab is set up with your swap mounted. Make sure dracut is installed. | |||
<code>make | |||
make modules | |||
make dtbs | |||
make install | |||
make modules install | |||
make dtbs_install | |||
ls /lib/modules | |||
dracut -f --kver <name of directory in /lib/modules matching your kernel, *not* the kernel name from eselect> | |||
</code> | |||
emerge the package extlinux and run <code>u-boot-update</code>. Open the extlinux configuration file. | |||
<code>nano /boot/extlinux/extlinux.conf</code> | |||
And configure it as follows: | |||
LABEL <label of your choice, for example GENTOO ARM> | |||
KERNEL /<name of your vmlinuz kernel image. Include the slash, but be relative to boot, not root.> | |||
FDT /dtbs/<kernel-version>/rockchip/rk3399-pinebook-pro.dtb | |||
APPEND initrd=/<name of initramfs image> root=PARTUUID-<nboot partition's PARTUUID, no quotes> rw rootwait | |||
</code> | |||
You can use the blkid command to find the PARTUUID of every partition on the machine. None of this configuration is guaranteed to work, but it worked for me, and given enough fiddling you can get it to work as well. | |||
Now you should reboot the machine and see if it boots into gentoo. If it does: congratulations! If not, too bad. Try again. | |||
== | === Kali Linux === | ||
[[File: | [[File:Kali-logo.png|right|100px]] | ||
There is a | There is a script to create official Kali Linux OS images for the Pinebook Pro. The script carries out the build process in entirety and is Pinebook Pro specific. | ||
'''Installation''' | '''Installation''' | ||
* Please pull the latest [https:// | * Please pull the latest [https://gitlab.com/kalilinux/build-scripts/kali-arm/blob/master/pinebook-pro.sh Kali Linux install script] from the project's GitLab. | ||
* For more information regarding building the OS image please read the README instruction at https://gitlab.com/kalilinux/build-scripts/kali-arm/blob/master/README.md | |||
== NixOS == | === NixOS === | ||
[[File: | [[File:NixOS.webp|right|100px]] | ||
You can follow the ongoing discussion about NixOS on the [https://forum.pine64.org/showthread.php?tid=10524 PINE64 forum]. There is a good chance we will see Tier 1 support for aarch64, including the Pinebook Pro, in 2021 (see https://github.com/NixOS/rfcs/pull/87). | You can follow the ongoing discussion about NixOS on the [https://forum.pine64.org/showthread.php?tid=10524 PINE64 forum]. There is a good chance we will see Tier 1 support for aarch64, including the Pinebook Pro, in 2021 (see https://github.com/NixOS/rfcs/pull/87). | ||
Line 350: | Line 484: | ||
* This is instructions to install NixOS on the Pinebook Pro: https://nixos.wiki/wiki/NixOS_on_ARM/PINE64_Pinebook_Pro | * This is instructions to install NixOS on the Pinebook Pro: https://nixos.wiki/wiki/NixOS_on_ARM/PINE64_Pinebook_Pro | ||
* Please pull the latest [https://github.com/samueldr/wip-pinebook-pro samueldr's repository ] from the project's GitHub. | * Please pull the latest [https://github.com/samueldr/wip-pinebook-pro samueldr's repository ] from the project's GitHub. | ||
== SkiffOS == | === SkiffOS === | ||
[[File:SkiffOS-Icon-1.png|right|100px]] | [[File:SkiffOS-Icon-1.png|right|100px]] | ||
Line 363: | Line 496: | ||
* Pre-built ISOs will be available with the upcoming 2021.02 release. | * Pre-built ISOs will be available with the upcoming 2021.02 release. | ||
=== Slackware === | |||
<div style=float:right>[[File:slackware.jpg|right|100px]]</div> | |||
[https://arm.slackware.com/ Slackware] is the world's oldest actively developed Linux distribution, providing a modern user land (applications) and Linux Kernel, within a more classic Unix Operating System environment. | |||
More information can be found about Slackware in this [https://www.youtube.com/watch?v=A5PFYUttsWA&list=PL1XOSJnvang3IbwySOf6m3PK1gm13hS5s 20 minute video]. | |||
[https://docs.slackware.com/slackwarearm:inst Installation instructions]. | |||
[https://www.youtube.com/watch?v=QKs_RnFqLO8&list=PL1XOSJnvang3VLmqke2QbRitKtOD6Rm3t Installation guide video] | |||
=== Ubuntu === | |||
If you install Tow-Boot to the SPI, you may then be able to use generic arm64 install disks, such as those for Ubuntu. This is because Tow-Boot can use UEFI boot partitions. The arm64 builds of the Ubuntu installer "ISOs" can be [http://cdimage.ubuntu.com/ubuntu/releases/22.04/release/ found here]. These can then be converted to UEFI bootable USB drives using a tool such as unetbootin or the Ubuntu "Startup Disk Creator". | |||
Ubuntu 22.04 does install and boot on a Pinebook Pro, however the speakers and wifi are non-functional. A USB wifi adapter can get you online. | |||
Upgrading such an install to 22.10 fixes the wifi. The graphics are broken in an odd way on first boot, but then functional after that. The speakers are still non-functional. | |||
A fresh install of 22.10 would presumably produce a similar result. | |||
[[Category: | [[Category:Pinebook Pro]] |
Latest revision as of 14:59, 26 September 2023
This page contains a list of all available releases and tools for the Pinebook Pro.
Linux OS Image Releases
For information on how to install these images onto your device, please see the Getting started Page, which includes information on writing images to the device eMMC or an SD card
Manjaro ARM
The Manjaro project offers a mainline kernel with patches and modules to support the Pinebook Pro hardware. To learn more about Manjaro please visit Manjaro Forum. You can follow the ongoing discussion about Manjaro on the PINE64 forum. All images boot from both SD card and the internal eMMC module.
Download:
- Direct download from Manjaro: You have to navigate to the Manjaro ARM section and select "Generic" as the device in the drop-down list (the Pinebook Pro image has been removed and it's now included in the generic one since version 22.08. Then you can choose Gnome, KDE Plasma, Mate, Minimal, Sway or Xfce.
- Old factory release: Manjaro/Plasma 22.06 factory loaded build (June 2022) from pine64.org (1.04GB, MD5 of the XZ file d78031a4bed3eeb4f2001f3c89b9ed5a)
Armbian
Armbian is a base operating system platform for single board computers (SBCs) that other projects can trust to build upon. It is a lightweight Debian or Ubuntu based Linux distribution specialized for ARM development boards. Each system is compiled, assembled and optimized by the Armbian Build Tools. It has powerful build and software development tools to make custom builds and a vibrant community.
Download:
Notes:
- If you have any difficulties please visit our forum or come chat with us on IRC / Discord!
- As of April 2023, Armbian only has Ubuntu images pre-made. However, using their tools to create a Debian image from scratch takes little expertise and results in an image that can be burned onto a USB stick or SD card. Their installer can then install it onto internal eMMC, including a working bootloader.
Twister OS
Twister OS Armbian-Reforged with Xfce. It boots from microSD card and from eMMC. For more information on Twister OS, please visit this official site. You can follow the ongoing discussion about Twister OS on the PINE64 forum.
Installation
- After flashing image, edit /boot/armbianEnv.txt, replace the dtb name with
rk3399-pinebook-pro.dtb
Download location
Get the latest image here: Direct download latest images from Twister OS's website (size: 2.8GB)
Password
Default credentials | |
---|---|
Root user | root/asdasd
|
Fedora
Fedora Linux is a Linux distribution developed by the Fedora Project. It creates an innovative, free, and open source platform for hardware, clouds, and containers that enables software developers and community members to build tailored solutions for their users.
Installation:
- Using this blog post it is possible to run Official Fedora on the Pinebook Pro
Notes:
- Upstream Fedora uses the SPI flash on the Pinebook Pro to manage U-Boot.
Arch Linux ARM
Official Installation
See Pinebook Pro Installing Arch Linux ARM for instructions on how to install the official Arch Linux ARM.
Customized Premade Root Filesystem
An Arch Linux ARM root filesystem customized for the Pinebook Pro using Manjaro's kernel is available. Instructions are included for installation on microSD card, eMMC module and NVME SSD.
Download location
Get the latest root filesystem from GitHub (size: 500-600 MB).
Installation
Make sure to thoroughly read the readme, installation instructions and FAQ.
Username and password
The default Arch Linux ARM user credentials.
Default credentials | |
---|---|
Default user | alarm/alarm
|
Root user | root/root
|
postmarketOS
Official postmarketOS stable builds are available for the Pinebook Pro with the following interfaces:
- console
- GNOME
- KDE Plasma Desktop
- Phosh
- Sway
It boots from microSD card and from eMMC.
Download location
Get the stable image here: https://postmarketos.org/download/ (size: 103 MB to 775 MB)
The installer images allows setting up an encrypted installation on SD or eMMC.
Username and password
Default credentials | |
---|---|
Default user | user/147147
|
Kali Linux
Official pre-built OS images of Kali Linux for the Pinebook Pro featuring all tools you'd expect from the distribution. It boots from microSD card and from eMMC.
Download location
Get the latest image here: Direct download latest images from Offensive Security's website (size: 2.0 GB)
Username and password
Default credentials | |
---|---|
Default user | kali/kali
|
R-Cade
Retro Center's R-Cade [USB / microSD / eMMC Boot]
- The 4K Media Center Arcade
- RCade Features 100+ retro-gaming systems, a lightweight web browser, and full 4K UHD media playback
- DD image to USB, microSD, or eMMC and boot. Highly recommend using Etcher
Username and password
Default credentials | |
---|---|
Root user | root/retro
|
Q4OS
Q4OS is advertised as a 'fast and powerful operating system based on the latest technologies while offering highly productive desktop environment'. It boots from microSD card and from eMMC. To learn more please visit the PINE64 forum or official Q4OS website.
Download location
Get the latest image here: Direct download latest release build from SourceForge
Username and password
User account and password are created on first run.
DietPi
DietPi is a lightweight, yet easy to setup and feature-rich Linux distribution, based on Debian. To find out more about DietPi, please visit the official documentation. * Discuss the Pinebook Pro build on the PINE64 forum thread.
Download:
Default credentials | |
---|---|
Root user | root/dietpi
|
openSUSE
Download location
Get the latest openSUSE Tumbleweed images for Pinebook Pro here: [1]
Credits to [2] Step 1. Flash Tow-Boot[3] to SPI Step 2. Flash openSUSE image to sd card & insert it Step 3. When it loads grub, press e and add the following line:
devicetree /boot/dtb/rockchip/rk3399-pinebook-pro.dtb
Press ctrl + x to boot
Work : display, wifi Not tested : bluetooth Doesn't work : audio
You may build rpms and see if it fix issues from this repository: [4]
Default password for root is "linux"
FydeOS
An operating system based on the Chromium Project
https://fydeos.io/download/device/pinebook-pro
Void Linux
Images
Void Linux packages U-Boot and a kernel for the Pinebook Pro, but does not distribute any images for the device.
Cameron Nemo (User:CameronNemo) distributes unofficial Void Linux images for the Pinebook Pro:
Some notes about the images:
- They were released on 2022-05-30 (glibc) and 2022-06-10 (musl)
- They ship U-Boot 2022.04 and Linux 5.15 (with minimal patches)
- Meant to be uncompressed then flashed to either an SD card or the internal eMMC module
- The root partition is ~1.7GB, and must be expanded manually
- There are very few services enabled on the images by default: udev and some getty's
Default credentials | |
---|---|
Root user | root/voidlinux
|
Do It Yourself
You can also manually install Void from a rootfs tarball: see instructions here.
BSD
NetBSD
The image boots from microSD card and from eMMC. To learn more about NetBSD please visit NetBSD main page
Download location
Get the latest image here: Direct download from NetBSD
Installation
Instructions concerning enabling SSH can be found here.
Username and password
Default credentials | |
---|---|
Root user | root/-
|
OpenBSD
The image boots from microSD card and from eMMC. To learn more about OpenBSD, please visit OpenBSD main page
Download location
ARM64 images, (including support for Pinebook Pro), can be found here OpenBSD arm64
Linux Installer Releases
Manjaro ARM
The manjaro-arm-installer script is intended to install Manjaro ARM directly to SD/eMMC cards without the need for images (including LXQT, Mate & CuboCore editions, as well as full disk encryption).
Running on a Linux x86 computer, it can install Manjaro ARM directly to an empty eMMC using an eMMC to USB adapter. The script can also be run from SD to install an image to the eMMC.
Armbian
You can use the Armbian Builder to generate your own Armbian images of various types.
The builder supports building any version of Debian and any version of Ubuntu with various desktop options:
- Budgie
- Cinnamon
- Deepin
- Enlightenment
- Gnome
- I3-wm
- Kde-plasma
- Mate
- Xfce
- Xmonad
Debian
- Uses only the upstream kernel and firmware without special patches
- Display doesn't always work properly on first boot of installer, usually fixed after a couple tries
- Requires adding the non-free component to your /etc/apt/sources.list file and installing the "firmware-linux" package for Wi-Fi and Bluetooth support. If your Pinebook Pro was part of the June/July 2022 batch, then you will need the "firmware-brcm80211" to accommodate the changed networking hardware. You will also need "brcmfmac43455-sdio.txt" in /lib/firmware/brcm, at least until it is included within firmware-brcm80211 upstream.
- Installer is loaded into RAM, can install onto the same media from which it’s booted
- Supports automatic partitioning and full disk encryption through LVM
- Installer currently doesn't install a functional bootloader, leaving the installed system in an unbootable state until it's manually added (if installed to eMMC, the system cannot be booted even to an SD card unless the eMMC is physically switched off or there is U-Boot in the SPI)
The relevant files are built daily here and may sometimes be unavailable if the build system is having issues. The "README.concatenateable_images" file provides instructions on how to combine the partition.img.gz file with the firmware.pinebook-pro.rk3399.img.gz file in order to create a DD-able image.
The official images are not recommended yet until the display begins working consistently and the installer properly installs the bootloader. Building a Debian-based image via the Armbian builder on the other hand seems to work with no changes. Previously the best tool was Daniel Thompson's Debian Installer , but unfortunately as of April 2023 some of the upstream kernel sources this tool used seem to no longer exist.
Gentoo
There is a script that prepares a Gentoo arm64 stage 3 tarball for the Pinebook Pro. Unfortunately, this script is not currently functional, and requires extensive troubleshooting to make work. New instructions are currently being created and will be available here.
Word to the wise
Currently, following the instructions on the Pinebook pro gentoo github page will *not* result in a functional system. Therefore it is neccesary to follow the instructions given here. Please bear in mind that the Pinebook pro's six arm cores and 4gb of ram are extremely anemic. For example, emerging the package net-libs/webkit-gtk in order to build the minimalist web-browser "surf", a process which takes eighty minutes on an intel core i5-8250U with 8gb of ram, required eight hours of compile time, Basic installation alone can take 24 hours of compillation, dozens of reboots, and hours of troubleshooting. After that, even installing firefox would take 17 hours. Now that that's out of the way, we may begin the installation.
Preparing the bootloader
Installing a functional bootloader can be difficult. Luckily, the tow-boot project provides a UEFI-like experience for some arm-based devices. Furthermore, it is not neccesary install this bootloader manually, as it will continue to be useable even after the disk has been reformatted, as long as the bootloader remains unscathed.
https://manjaro.org/downloads/arm/pinebook-pro/arm8-pinebook-pro-minimal/
No-matter where you intend to install gentoo, the bootloader should always be installed on the eMMC flash, although technically the SD card slot could also be used. Either way, install any of the official Manjaro arm disk images to the internal eMMC (there's no reason not to use the minimal image, as you will not be using this OS for anything). You may use a second operating system installed on an SD-card, or the official Pine64 eMMC USB adapter. Boot into this operating system to ensure that the bootloader functions, but after that you have no further need of it.
Next, if you already have an OS on an SD card, you can use that for installing gentoo. If you don't, you may be pleasantly suprised to find that tow-boot is cabable of booting from a USB drive. Therefore, you may install the same Manjaro image to your USB drive or SD card, and select it from the boot menu. You should now have an unused but bootable OS on the eMMC, and another bootable, usable OS on your external storage.
Preparing the Disks
Log into your host device as root with the following command:
sudo su
Enter your password.
Let the device on which you intend to install gentoo be refered to hereafter as /dev/<gentoo>. Use the following command to prepare this disk for installation:
fdisk -B /dev/<gentoo>
Note: don't just copy these commands! You should substitute <gentoo> for mmcblk2 for the internal eMMC flash storage.
Note that the first block of the boot partition is block 62500. Delete all partitions, but *do not* re-format the disk. Create a new boot partition starting at 62500, and as it's size select "+1GB". Create a new swap partition. fdisk will try to start it at the beginning of the volume (before the boot partition) Instead, when it prompts you for the starting position, enter in the end sector of the boot partition. It should then tell you that this is within an existing partition, and recommend a slightly higher value. Press enter, and give for the size of the partition any value greater than "+4gb". You need this much ram to be able to suspend your system, and emerge large packages. Don't be stingey - you still have SD cards. I reccomend "+8gb". Finally, add a root partition starting at the end sector of the swap partition, and use the rest of the disk for it. That should be 50-60 GB depending on the size of your swap and boot partitions.
Lastly, press "t" to set the type of each partition. You may set partition 1 to type 6, 2 to type 82, and 3 to type 83.
to set the partition types of the three partitions.
lsblk
to remind yourself which disk is /dev/<gentoo> Write the filesystems to these three partitions with the commands:
mkfs.vfat /dev/<gentoo>p1
mkswap /dev/<gentoo>p2
mkfs.ext4 /dev/<gentoo>p3
This may be a slightly different format if you're installing to a usb stick.
Installation
make the directory for mounting the filesystem you just created. These should be made on the external OS.
mkdir /mnt/gentoo
mount /dev/<gentoo>p3 /mnt/gentoo
cd into this directory and fire up links. Navigate to gentoo.org/downloads and select the stage 3 minimal stage 3 tarball. Download it to your current directory, or move it to that directory from wherever it has been downloaded to. Once you are in the correct directory, unpack the tarball.
tar xpvf stage3-arm64-<blah blah blah>
Mount the boot partition.
mount /dev/<gentoo>p1 /mnt/gentoo/boot
Chroot into the mounted directory and Install the operating system as per the AMD64 manual [5]. Before you emerge anything, however, be sure to set your use flags as follows:
nano /etc/portage/make.conf
MAKEOPTS="-j4 -l4"
ACCEPT_KEYWORDS="* **"
ACCEPT_LICENSE="*"
USE="X gtk bluetooth pulseaudio"
You can use your own options instead of these if you know what you're doing. It's not super difficult.
Continue installing the operating system, but stop just before emerging the @world set. I don't know if this is necessary, but I haven't had the time to try without doing this. Clone Janikk2099's github repo. It doesn't matter where, and run the script. If it fails run it a couple more times.
git clone https://github.com/Jannik2099/gentoo-pinebookpro
./gentoo-pinebookpro/prepare.sh
Don't follow any of Janikk's other instructions. They appear to be out of date (no offense bro). Let me be clear: DO NOT INSTALL U-BOOT. I don't know what will happen, but it won't be an improvement over the existing boot-loader so don't worry about it.
Finish installing your system until you come to the kernel.
Custom Kernel
Use sys-kernel/gentoo-kernel-bin as your kernel. You will need to manually edit the kernel configuration. First, select it as your kernel.
eselect kernel list
This should list only one option. Otherwise, select the number matching linux-5.<whatever is latest>-gentoo-dist
, and cd into the kernel source directory.
eselect kernel set <number>
cd /usr/src/linux
Begin the kernel configuration
make menuconfig
At this point, you're almost on your own. I don't know a strict cause-and-effect relationship between my kernel config and the behavior of my system. For starters, just go into platform selection and deselect everything except rockchip platforms. Once you're done save your configuration and exit. Make sure boot is mounted, and your fstab is set up with your swap mounted. Make sure dracut is installed.
make
make modules
make dtbs
make install
make modules install
make dtbs_install
ls /lib/modules
dracut -f --kver <name of directory in /lib/modules matching your kernel, *not* the kernel name from eselect>
emerge the package extlinux and run u-boot-update
. Open the extlinux configuration file.
nano /boot/extlinux/extlinux.conf
And configure it as follows:
LABEL <label of your choice, for example GENTOO ARM>
KERNEL /<name of your vmlinuz kernel image. Include the slash, but be relative to boot, not root.>
FDT /dtbs/<kernel-version>/rockchip/rk3399-pinebook-pro.dtb
APPEND initrd=/<name of initramfs image> root=PARTUUID-<nboot partition's PARTUUID, no quotes> rw rootwait
You can use the blkid command to find the PARTUUID of every partition on the machine. None of this configuration is guaranteed to work, but it worked for me, and given enough fiddling you can get it to work as well.
Now you should reboot the machine and see if it boots into gentoo. If it does: congratulations! If not, too bad. Try again.
Kali Linux
There is a script to create official Kali Linux OS images for the Pinebook Pro. The script carries out the build process in entirety and is Pinebook Pro specific.
Installation
- Please pull the latest Kali Linux install script from the project's GitLab.
- For more information regarding building the OS image please read the README instruction at https://gitlab.com/kalilinux/build-scripts/kali-arm/blob/master/README.md
NixOS
You can follow the ongoing discussion about NixOS on the PINE64 forum. There is a good chance we will see Tier 1 support for aarch64, including the Pinebook Pro, in 2021 (see https://github.com/NixOS/rfcs/pull/87).
Installation
- This is instructions to install NixOS on the Pinebook Pro: https://nixos.wiki/wiki/NixOS_on_ARM/PINE64_Pinebook_Pro
- Please pull the latest samueldr's repository from the project's GitHub.
SkiffOS
Installation
- Instructions to build/install on the Pinebook Pro: https://github.com/skiffos/SkiffOS/tree/master/configs/pine64/book
- Please pull the latest version from the project's GitHub.
- Compiling the boot image takes approximately 30 minutes.
- Easily configure the kernel, compiler, etc with Buildroot.
- Pre-built ISOs will be available with the upcoming 2021.02 release.
Slackware
Slackware is the world's oldest actively developed Linux distribution, providing a modern user land (applications) and Linux Kernel, within a more classic Unix Operating System environment.
More information can be found about Slackware in this 20 minute video.
Ubuntu
If you install Tow-Boot to the SPI, you may then be able to use generic arm64 install disks, such as those for Ubuntu. This is because Tow-Boot can use UEFI boot partitions. The arm64 builds of the Ubuntu installer "ISOs" can be found here. These can then be converted to UEFI bootable USB drives using a tool such as unetbootin or the Ubuntu "Startup Disk Creator".
Ubuntu 22.04 does install and boot on a Pinebook Pro, however the speakers and wifi are non-functional. A USB wifi adapter can get you online.
Upgrading such an install to 22.10 fixes the wifi. The graphics are broken in an odd way on first boot, but then functional after that. The speakers are still non-functional.
A fresh install of 22.10 would presumably produce a similar result.