NixOS on ARM/PINE64 Pinebook: Difference between revisions
imported>Samueldr Inits stub~ish page |
Phanirithvij (talk | contribs) m fix link pinebook 1080p |
||
(12 intermediate revisions by 3 users not shown) | |||
Line 13: | Line 13: | ||
|- | |- | ||
!Bootloader | !Bootloader | ||
|Upstream U-Boot<ref>https://github.com/NixOS/nixpkgs/pull/61652 | |Upstream U-Boot<ref>https://github.com/NixOS/nixpkgs/pull/61652</ref> | ||
|- | |- | ||
!Boot order | !Boot order | ||
Line 19: | Line 19: | ||
|- | |- | ||
!Maintainer | !Maintainer | ||
| | | | ||
|} | |} | ||
</div> | </div> | ||
Line 31: | Line 31: | ||
Upstream NixOS AArch64 image boots on the PINE A64-LTS, using the proper upstream U-Boot. | Upstream NixOS AArch64 image boots on the PINE A64-LTS, using the proper upstream U-Boot. | ||
U-boot support [https://github.com/NixOS/nixpkgs/pull/61652 | U-boot support [https://github.com/NixOS/nixpkgs/pull/61652 has been added 2019-05-18]. The bootloader has not been built for now. | ||
== Installation instructions == | |||
{{ARM/installation allwinner|variant=aarch64}} | |||
== | === Partitioning === | ||
The internal storage needs to be partitioned in a way that that the bootloader will not interfere with nor be interfered by a partition. | |||
Then, continue installation using the [[NixOS_on_ARM#NixOS_installation_.26_configuration|installation and configuration steps]]. | |||
< | ==== By copying the sd image internally ==== | ||
This is an easy solution, that also allows booting and installing as one would from an SD card on a generic Allwinner platform. Simply <code>dd</code> the SD image to the internal storage. The internal storage is likely to be <code>/dev/mmcblk2</code>. | |||
==== MBR partition scheme ==== | |||
{{expansion|Installation instructions need to be written up to keep space for embedding the bootloader to the SPL.}} | {{expansion|Installation instructions need to be written up to keep space for embedding the bootloader to the SPL.}} | ||
==== GPT partition scheme ==== | |||
The [[NixOS_on_ARM/Allwinner/GPT_Installation|Allwinner/GPT Installation]] page explains how to create a GPT partition table while allowing the isntallation of u-boot at the required offset. | |||
== Serial console== | == Serial console== | ||
Details about the pinout for the headphone jack are available [https://wiki.pine64.org/ | Details about the pinout for the headphone jack are available [https://wiki.pine64.org/wiki/Pinebook#Pinebook_Schematics_and_Certifications on the PINE64 wiki]. It is [https://pine64.com/product/pinebook-pinephone-pinetab-serial-console/ also available on their store]. The serial settings are the usual Allwinner settings. | ||
On early models<sup>[Which?]</sup> serial needs to be toggled via software. On recent models, a physical switch is present on the main board. The linux-sunxi wiki's Pinebook page [http://linux-sunxi.org/Pine_Pinebook#Adding_a_serial_port has details about serial access]. | On early models<sup>[Which?]</sup> serial needs to be toggled via software. On recent models, a physical switch is present on the main board. The linux-sunxi wiki's Pinebook page [http://linux-sunxi.org/Pine_Pinebook#Adding_a_serial_port has details about serial access]. | ||
Line 53: | Line 65: | ||
{| class="table arm-compatibility" | {| class="table arm-compatibility" | ||
!colspan="2" style="background: #fafafa"| Mainline kernel | !colspan="2" style="background: #fafafa"| Mainline kernel | ||
|- | |- | ||
! HDMI | ! HDMI | ||
Line 68: | Line 76: | ||
{{expansion|Find and document use of a kernel with the added capabilities.}} | {{expansion|Find and document use of a kernel with the added capabilities.}} | ||
== USB booting with u-boot == | |||
You will need to either have mainline U-Boot installed to the eMMC or to an SD card. | |||
Stop the boot process when prompted (by pressing a key). Then, do the following: | |||
<pre> | |||
Hit any key to stop autoboot: 0 | |||
=> setenv boot_targets usb0 | |||
=> boot | |||
</pre> | |||
This sets the boot order for this boot only. U-Boot can boot (among others) either of the NixOS sd-image or EFI iso from USB. | |||
== Resources == | == Resources == | ||
* [https://www.pine64.org/pinebook/ Official product page] | * [https://www.pine64.org/pinebook/ Official product page] | ||
* [linux-sunxi.org/Pine_Pinebook linux-sunxi wiki page] | * [https://linux-sunxi.org/Pine_Pinebook linux-sunxi wiki page] |
Latest revision as of 10:07, 15 September 2024
PINEBOOK | |
---|---|
Manufacturer | PINE64 (Pine Microsystems Inc.) |
Architecture | AArch64 |
Bootloader | Upstream U-Boot[1] |
Boot order | SD, eMMC |
Maintainer |
The Pinebook (sometimes referred as pinebook-a64) is a laptop design based on the Allwinner A64 SoC. It was available in two sizes, 11.6" and 14", but is now only available as 11.6". The 11.6" has two resolutions, first models had a 1366×768 panel, while the more recent ones have a 1920×1080 panel.
It can boot from SD or from an included and replaceable eMMC module.
Status
Upstream NixOS AArch64 image boots on the PINE A64-LTS, using the proper upstream U-Boot.
U-boot support has been added 2019-05-18. The bootloader has not been built for now.
Installation instructions
To use the generic installation image for your board, you will need to copy it verbatim to an SD card.
sudo dd if=sd-image-aarch64-linux.img of=/dev/DEVICE conv=sync status=progress
This board requires the installation of u-boot at a specific location on the storage where NixOS was written to.
sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/DEVICE bs=1024 seek=8
Partitioning
The internal storage needs to be partitioned in a way that that the bootloader will not interfere with nor be interfered by a partition.
Then, continue installation using the installation and configuration steps.
By copying the sd image internally
This is an easy solution, that also allows booting and installing as one would from an SD card on a generic Allwinner platform. Simply dd
the SD image to the internal storage. The internal storage is likely to be /dev/mmcblk2
.
MBR partition scheme
GPT partition scheme
The Allwinner/GPT Installation page explains how to create a GPT partition table while allowing the isntallation of u-boot at the required offset.
Serial console
Details about the pinout for the headphone jack are available on the PINE64 wiki. It is also available on their store. The serial settings are the usual Allwinner settings.
On early models[Which?] serial needs to be toggled via software. On recent models, a physical switch is present on the main board. The linux-sunxi wiki's Pinebook page has details about serial access.
Compatibility notes
Mainline kernel | |
---|---|
HDMI |
|
Downstream kernel
USB booting with u-boot
You will need to either have mainline U-Boot installed to the eMMC or to an SD card.
Stop the boot process when prompted (by pressing a key). Then, do the following:
Hit any key to stop autoboot: 0 => setenv boot_targets usb0 => boot
This sets the boot order for this boot only. U-Boot can boot (among others) either of the NixOS sd-image or EFI iso from USB.