90 lines
2.0 KiB
Plaintext
90 lines
2.0 KiB
Plaintext
= Pinephone =
|
|
|
|
The pinephone is a cheap generic linux phone.
|
|
|
|
== u-boot ==
|
|
|
|
See [[u-boot]]
|
|
|
|
== Gentoo ==
|
|
|
|
=== Filesystem layout ===
|
|
|
|
Iteration one, using the following layout
|
|
|
|
* gpt disklabel
|
|
* 2048 + 128M BIOS boot (ext4)
|
|
* +4G Linux Swap
|
|
* +-1 Linux filesystem (ext4)
|
|
|
|
Choose to use the stage3-arm64-systemd
|
|
|
|
=== Chrooting ===
|
|
|
|
In order to chroot into the system, you may need to use qemu to emulate the
|
|
system architecture. This can be done using `qemu-user-static` and
|
|
`binfmt-qemu-static`. These allow you to chroot into an enviroment of a
|
|
different architecture.
|
|
|
|
To chroot into the enviroment, in the root of the to be chrooted filesystem,
|
|
run
|
|
|
|
{{{
|
|
#replace * with the architecture
|
|
cp $(which qemu-*-static) usr/bin/
|
|
chroot . qemu-*-static /bin/bash
|
|
}}}
|
|
|
|
=== Cross compiler ===
|
|
|
|
First, we will be compiling on a host gentoo system. To do this, first install
|
|
crossdev and the needed toolchain (See [[cross_toolchain]]).
|
|
If your host system is not gentoo, be sure to install a cross compiler for
|
|
aarch64.
|
|
|
|
*The pinephone triple is aarch64-unknown-linux-gnu*
|
|
|
|
{{{
|
|
emerge -av git ninja crossdev
|
|
crossdev --target arm-none-eabi
|
|
}}}
|
|
|
|
=== GPU Support ===
|
|
|
|
The pinephone pro uses a Mali T860 quadcore CPU, and therefore is run using the
|
|
lima drivers. In the phones make.conf, be sure to add
|
|
|
|
{{{
|
|
#/etc/portage/make.conf (chroot in phone)
|
|
VIDEO_CARDS="lima"
|
|
}}}
|
|
|
|
In your global use, be sure to add
|
|
|
|
{{{
|
|
#/etc/portage/make.conf (chroot in phone)
|
|
USE="gles gles2-only"
|
|
}}}
|
|
|
|
This ensures that we will only compile programs using OpenGL ES, or OpenGL for
|
|
embedded systems.
|
|
|
|
== Postmarket ==
|
|
|
|
See [[postmarketos]]
|
|
|
|
== Troubleshooting ==
|
|
|
|
=== Phone not booting due to fully drained battery ===
|
|
|
|
Battery voltage will be ~2.4V when dead in my experience. To get the phone to
|
|
boot
|
|
|
|
1) Remove SDcard
|
|
2) Remove battery, serial, and usb cables
|
|
3) Reinstert the battery
|
|
4) Hold down the RESET button
|
|
5) While holding the button down, connect the USB port to a computer
|
|
6) let go of the button
|
|
7) in `lsusb` you should see `2207:330c Rockship electrions`
|