nyuuzyou/wikis huggingface dataset:
PINE64 PinePhone (pine64-pinephone)/Upstreaming

The PinePhone mostly works with the vanilla kernel. However, postmarketOS is using megi's kernel because some parts are not completely upstreamed yet.
The following table lists all branches in megi's kernel and how they relate to the pinephone.
 Branches in megi's kernel
Branch 	Related to PP	Comment
8723cs-6.9 	N 	Could eventually be replaced by rtw88 (currently in wireless-next)
a711-6.9 	N 	A711 tablet
a711-cams-6.9 	N 	A711 tablet
a711-chgled-6.9 	N 	A711 tablet
a711-vibrator-6.9	N 	A711 tablet
a83t-suspend-6.9 	N 	A711 tablet
anx-6.9 	Y 	
Analogix ANX7688 Type-C controller (Pavel Machek works on upstreaming)
ap6275p-6.9 	N 	
WiFi for other PINE64 devices
arasan-6.9 	N (?) 	
audio-6.9 	Y (?) 	
aw-opp-6.9 	N 	
aw-suspend-6.9 	N (?) 	Probably only required for wakeup on RTC when PP is powered down
axp-6.9 	Y 	
bes2600-6.9 	N 	Pinetab 2 WiFi
bt-6.9 	Y 	Powersaving for bluetooth on sleep
defcon-6.9 	N 	Default configs
drm-6.9 	Y 	
err-6.9 	Y 	
fixes-6.9 	Y (?) 	Seems to contain minor things
fusb302-6.9 	N (?) 	There is one patch which corrects registers. Maybe we need that?
goodix-6.9 	Y 	Powersaving for touchscreen on sleep
hdmi-audio-6.9 	Y 	
husb311-6.9 	N 	Probably for some other device.
imx258-6.9 	N 	PinePhone Pro main camera.
modem-6.9 	Y (?) 	Powermanager for PP modem. Not sure, if pmOS uses this
opi3-eth-6.9 	N 	
orange-pi-6.9 	N 	Main integration branch that merges all other branches
ov5640-6.9 	Y (?) 	Not strictly needed, but probably increases stability
pb-6.9 	N 	Pinebook
pbp-6.9 	N 	Pinebook Pro
pinetab-6.9 	N 	Pinetab
pp-6.9 	Y 	Lots of small patches.
ppkb-6.9 	Y 	Support for pinephone keyboard
ppp-6.9 	N 	Pinephone Pro
ppp-panel-6.9 	N 	Pinephone Pro
private-6.9 	N 	Megi's personal stuff
pt2-6.9 	N 	Pinetab 2
rk3399-typec-6.9 	N 	Rockchip stuff, not used on OG PP
rk3588-6.9 	N 	Rockchip stuff, not used on OG PP
rk817-6.9 	N 	Rockchip stuff, not used on OG PP
rk818-6.9 	N 	Rockchip stuff, not used on OG PP
rp64-6.9 	N 	Rockchip stuff, not used on OG PP
rt5640-6.9 	(?) 	What is this?
rtw88-6.9 	Y 	Extends rtw88 for OG PP WiFi (rtl8723cs), this is already in wireless-next
speed-6.9 	N 	Technically yes, but just (unupstreamable?) boot time optimizations
stk3310-6.9 	N 	Not clear, if this is even used in the PP, but seems as if not strictly needed
sun6i-csi-6.9 	N (?) 	Not clear, if this is even used in the PP, but seems as if not strictly needed
tcpm-6.9 	N (?) 	Could be useful, but not strictly needed
typec-extcon-6.9 	Y 	I think we need this for external display
PINE64 PineTab 2 (pine64-pinetab2)

== Contributors ==
* Danct12
== Users owning this device ==
== How to enter flash mode ==
The device boot priority is SPI -> EMMC -> SD. Pine64 ships a debug board with the tablet which has a switch to disable EMMC and SPI, forcing the device to boot from SD.
This adapter needs to be plugged to the bottom port (the charging port).
== Installation ==
=== Prerequisites ===
If you have the V2.0 PineTab 2 (and likely also the V0.1 version), you need to update the included U-Boot installation to at least version 2023.07.02-2 from the DanctNIX repos. After that, the device should boot from SD cards just fine.
=== Creating and flashing the image ===
Use pmbootstrap to build your own installation image.
$ pmbootstrap init
$ pmbootstrap install --fde
Now you can flash the image to an SD card using:
$ pmbootstrap install --sdcard=/dev/CARD
== Hardware support ==
=== Wi-Fi ===
You can scan and try to connect to networks, but they seemingly all fail with an authentication error in dmesg regardless of whether they're secured or not.
One workaround is to either disable networkmanager or build with a user interface that does not install it (e.g. console or sway). You can either add `iw` in extra packages at build time or install it later using USB tethering. Then you can use the built-in `setup-interfaces` script to configure wlan0. DHCP does not run automatically in this configuration so you will need to either set a static IP during the setup or run `udhcpc -i wlan0` as root.
== See also ==
* Initial draft
* DanctNIX - The maker of the Arch Linux ARM fork for this device.
PINE64 RockPro64 (pine64-rockpro64)

== Maintainer(s) ==
* exkc
=== Contributors ===
* MartijnBraam
=== Users owning this device ===
== Installation ==
The recommended installation methods are building your own image with pmbootstrap and writing it to an SD card. Or flashing a pre-built image to the SD card, as described in the installation article.
== Serial console ==
There is a very good write-up on how to use the serial console on the Pine64 forums. Watch out that you don't connect your serial adapter to port 4 as it will fry it.
== See also ==
* Initial merge request
Package naming convention

=== General convention ===
* All package names should be lowercase.
* Wherever possible, device code name is preferred over the model number.
* Please use dashes (-) only, no underscores (_).
* If something is unclear or you would like to extend the naming convention, please open a ticket in the tracker.
=== device-* packages ===
device-{vendor}-{device code name/model number}
=== linux-* kernels ===
linux-{vendor}-{device code name/model number}
Category:Technical Reference
Pages needing deletion

List pages here which should be deleted along with a description of why. Admins will review this page periodically and remove them.
Page 	Reason
https://wiki.postmarketos.org/wiki/Place-url-here 	Insert reason here
https://wiki.postmarketos.org/index.php?title=Bootloader/HMD_Global&redirect=no 	replaced by Unlocking Bootloaders/HMD Global, orphaned
https://wiki.postmarketos.org/index.php?title=Category:Bootloaders/Unlock_Bootloaders/HMD_Global&redirect=no	replaced by Unlocking Bootloaders/HMD Global, orphaned
https://wiki.postmarketos.org/index.php?title=Category:Bootloaders/Unlocking/HMD_Global&redirect=no 	replaced by Unlocking Bootloaders/HMD Global, orphaned
Palm Pre (palm-castle)

The Palm Pre (codenamed 'Castle' ) is the first device in a line of devices released running Palm's then-new webOS software, which was based on Linux.
The WebOS-Internals wiki is still online (albeit with an expired SSL certificate, as of 8 Jan 2022) with a trove of information if you can dig through it, though overall the documentation surrounding hacking on webOS devices seems quite disorganised nowadays across old forum posts and wikis that have managed to survive since 2009.
Broken links are also abound, both as far as old HP/Palm resources go and in terms of community resources. Keep the Wayback Machine handy :)
== Contributors ==
* thejsa
== Users owning this device ==
== Porting notes ==
webOS is built on a downstream Linux 2.6.24 kernel tree, based on TI's OMAP3 flavor. Fortunately however the Pre uses the same SoC as the Nokia N900, which is well supported by postmarketOS and has been mainlined, so this is likely to be a good starting point.
webOS devices are generally considered to be quite hackable, as the flash and bootloader are all accessible over USB using Novacom (see 'How to enter flash mode' below); you can fairly trivially build and boot a custom kernel. It seems that there's no code-signing to get in the way in the boot chain!
== How to enter flash mode ==
Not exactly 'flash mode', per se, but you can send commands (and Linux images!) to the bootloader using Novacom. It's packaged in the Arch Linux AUR, though I haven't tried this distribution of it yet.
In particular, Palm's Bootie bootloader supports booting a kernel sent over USB from memory, see https://www.webos-internals.org/wiki/Memboot.
== Installation ==
== See also ==
* WebOS-Internals.org for resources relating to legacy webOS devices (note: when accessed on 8 Jan 2022, the SSL certificate has expired, but the site was otherwise still online)
* WebOS-Ports.org for information about current community efforts to keep webOS alive, and related resources.
Pangolin Mobile

= About =
Pangolin Mobile is a mobile shell of DahliaOS using the Flutter toolkit.
= Status =
Pangolin Mobile development has been halted until further notice.
= Installation =
It is not available as package.
Official source says:
First things first, boot up your Pinephone with Phosh, for some reason Plamo doesn't like it. Arch, Postmarket or anything else will do. Then you'll want to download the tarball of Pangolin Mobile onto the device and extract it wherever you'd like. Then in the terminal application find the folder (should be called "bundle" and type cd bundle followed by ./pangolin_mobile and it will start up.
= Resources =
# Git repo
# Liliputing Blog Post
# Edivaldo Blog Post
# Camden Bruce YouTube video
Category:Guide
Pantech SKY VEGA S5 (pantech-ef44)

== Contributors ==
* Hexagonwin
== Users owning this device ==
== How to enter system modes ==
*For fastboot mode, hold both volume keys and power key until Pantech menu shows. Then, choose fastboot in the Pantech Menu.
*For Recovery mode, hold volume up and power until bootloader's splash image is gone.
== Installation ==
The downstream based port is not booting, and thus is not upstreamed. With the (close to) mainline kernel the device is booting, so it might get upstreamed later on. In the meantime, please manually compile the mainline kernel fork available on the bottom of the page. The pmOS installation can either be on the microSD card or the internal eMMC.
== Problems ==
*Vendor kernel (Linux 3.4.0) only compiles and boots with certain old toolchains, arm-eabi-4.4.3, arm-eabi-4.6, arm-eabi-4.7.
*Not many users are available for the target, and less developers are availlable.
*Hardware failures are common, including the touchscreen, speaker, battery, camera.
== Mainline ==
*With a dts, the phone can boot Linux 5.19-rc7 from peremen's tree.
The phone boots normally, and USB telnet is working fine in debug-shell. eMMC is being detected and the kernel boots with both lk2nd and stock fastboot. As the kernel image is bigger than the boot partition (10MB), it can only boot the kernel by loading it from fastboot.
== Pictures ==
File:Pantech-ef44_lk2nd-1.jpg|thumb|left|lk2nd running on pantech-ef44
File:Ef44-mainline-booted.jpg|thumb|left|postmarketOS-edge with Linux 5.19-rc7 booted, showing login prompt
== See also ==
* Downstream kernel source (3.4.0 kernel identical to vendor kernel zip)
* Close to mainline kernel (5.19-rc7) (based on peremen's Casio G'zOne mainline kernel)
Pantech VEGA R3 (pantech-ef50)

== Contributors ==
* HexagonWin
== Maintainer(s) ==
* HexagonWin
== Users owning this device ==
== How to enter flash mode ==
Press Volume + - and power button together when the device is off. Then, navigate to fastboot or recovery in the pantech menu using the volume keys
== Installation ==
Sideload with zip in recovery works well, fastboot just disconnects sometimes
== See also ==
* https://gitlab.com/baickainetwork/pmaports/-/tree/sky_ef50/device/testing/linux-pantech-ef50
Petitboot

Petitboot is an operating system bootloader based on Linux kexec. It can load any operating system image that supports the Linux kexec re-boot mechanism like Linux and FreeBSD. Petitboot can load images from any device that can be mounted by Linux, and can also load images from the network using the HTTP, HTTPS, NFS, SFTP, and TFTP protocols.
Current platform support includes PowerPC/POWER with OPAL, the Sony Playstation 3, and ARM64 with ACPI. Petitboot can be built and run on other platforms, but it will not include all available features.
Pine64-quartz64

Quartz64 is development board with the RK3566 SoC produced by Pine64 for the Linux mobile community. There's Model A and B.
== Installation ==
The Quartz64 board does not come with any nonvolatile storage. You can either install the image onto an uSD card or there's a special connector that allows eMMC breakout board to be attached. It has also an adapter for USB port which enumerates it as a USB mass storage device.
 
You should now see the postmarketOS splash and the Quartz64 will boot.
== Bootloader ==
The device runs on the mainline `u-boot`. However it can't be stated it's FOSS as it has the binary blobs to initialize the LPDDR4 memory and for the Secure world the ATF binaries.
Apart from that the rest is FOSS
Pine64-quartz64-a

Quartz64 A is development board with the RK3566 SoC produced by Pine64 for the Linux mobile community.
== Installation ==
The Quartz64 A board does not come with any nonvolatile storage. You can either install the image onto an uSD card or there's a special connector that allows eMMC breakout board to be attached. It has also an adapter for USB port which enumerates it as a USB mass storage device.
 
You should now see the postmarketOS splash and the Quartz64 A will boot.
== Bootloader ==
The device runs on the mainline `u-boot`. However it can't be stated it's FOSS as it has the binary blobs to initialize the LPDDR4 memory and for the Secure world the ATF binaries.
Apart from that the rest is FOSS
Pine64-quartz64-b

Quartz64 B is development board with the RK3566 SoC with Raspberry Pi form factor produced by Pine64 for the Linux mobile community.
== Installation ==
The Quartz64 B board does not come with any nonvolatile storage. You can either install the image onto an uSD card or there's a special connector that allows eMMC breakout board to be attached. It has also an adapter for USB port which enumerates it as a USB mass storage device.
 
You should now see the postmarketOS splash and the Quartz64 B will boot.
PinePhone U-Boot Upgrade

Until postmarketOS v22.12 (and around 2022-12 in pmOS edge), we used to upgrade u-boot automatically on the original PinePhone (the PPP uses Tow-Boot) and PineTab. While it worked most of the time, in a few instances it was reported that the upgrade didn't work and resulted in osk-sdl not working on boot for encrypted installations ().
Therefore we do not upgrade it automatically anymore. When installing postmarketOS, you already get the latest version we have packaged at that time. Initially it was very important to be on a specific version of u-boot with the embedded crust/arm-trusted-firmware. But this was in 2021-05, so through v21.12 and v22.06 where we had the automatic upgrade in place all users should have received the upgrade. In case of doubt, just install a fresh postmarketOS version which has the most recent version.
The long-term plan is to replace u-boot with Tow-Boot on the PinePhone and PineTab as well, and then we should eventually be able to upgrade Tow-Boot safely with fwupd.
== Upgrading u-boot manually ==
If you want to upgrade u-boot manually despite being aware of the risk mentioned above:
$ sudo update-u-boot
== Recovering from failed u-boot upgrade ==
See the Fix U-Boot section of the PinePhone wiki article.
== See also ==
* : u-boot-pinephone: disable automatic upgrade
Pinephone-callaudiod

PulseAudio v17 and PipeWire v1.2.0 changed the way they generate audio profiles for the PINE64 PinePhone . This change breaks the automatic switching of profiles when a call connects or disconnects by the callaudiod service, because callaudiod cannot handle the new profiles.
Before PulseAudio v17 / PipeWire v1.2.0:
$ pactl list cards
...
	Profiles:
		HiFi: Play HiFi quality music (sinks: 1, sources: 1, priority: 8000, available: yes)
		Voice Call: Make a phone call (sinks: 1, sources: 1, priority: 4000, available: yes)
		off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
		pro-audio: Pro Audio (sinks: 1, sources: 1, priority: 1, available: yes)
After PulseAudio v17 / PipeWire v1.2.0:
$ pactl list cards
...
	Profiles:
		HiFi (Headphones, Headset): Play HiFi quality music (Headphones, Headset) (sinks: 1, sources: 1, priority: 9000, available: no)
		HiFi (Headset, Speaker): Play HiFi quality music (Headset, Speaker) (sinks: 1, sources: 1, priority: 8800, available: no)
		HiFi (Earpiece, Headset): Play HiFi quality music (Earpiece, Headset) (sinks: 1, sources: 1, priority: 8700, available: no)
		HiFi (Headphones, Mic): Play HiFi quality music (Headphones, Mic) (sinks: 1, sources: 1, priority: 8600, available: no)
		HiFi (Mic, Speaker): Play HiFi quality music (Mic, Speaker) (sinks: 1, sources: 1, priority: 8400, available: yes)
		HiFi (Earpiece, Mic): Play HiFi quality music (Earpiece, Mic) (sinks: 1, sources: 1, priority: 8300, available: yes)
		Voice Call (Earpiece, Headset): Make a phone call (Earpiece, Headset) (sinks: 1, sources: 1, priority: 5000, available: no)
		Voice Call (Headphones, Headset): Make a phone call (Headphones, Headset) (sinks: 1, sources: 1, priority: 5000, available: no)
		off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
		Voice Call (Headset, Speaker): Make a phone call (Headset, Speaker) (sinks: 1, sources: 1, priority: 4800, available: no)
		Voice Call (Earpiece, Mic): Make a phone call (Earpiece, Mic) (sinks: 1, sources: 1, priority: 4700, available: yes)
		Voice Call (Headphones, Mic): Make a phone call (Headphones, Mic) (sinks: 1, sources: 1, priority: 4700, available: no)
		Voice Call (Mic, Speaker): Make a phone call (Mic, Speaker) (sinks: 1, sources: 1, priority: 4500, available: yes)
		pro-audio: Pro Audio (sinks: 1, sources: 1, priority: 1, available: yes)
The PinePhone's device package now pulls in a different service that can handle these new profiles, pinephone-callaudiod . This service replaces the callaudiod service from Alpine, but it implements the same D-Bus API as the Alpine callaudiod, so programs like GNOME Calls that use that D-Bus API via libcallaudio.so or directly will work with the new daemon automatically.
== See also ==
- 
- 
Category:Guide
Planet Computers Cosmo Communicator (planet-cosmocom)

== Contributors ==
* Cosmic
* shymega - have gotten postmarketOS to boot on Cosmo, only with software rendering, and custom initramfs hackery.
== Users owning this device ==
== Mainline Kernel ==
A mainline kernel for mt6771 and Planet Cosmo Communicator with minimal support is available here: https://github.com/affenull2345/linux/commits/mt6771
== See also ==
* Helio P70 at WikiChip
Planet Computers Gemini PDA (planet-geminipda)

== What works ==
* USB networking
* Framebuffer graphics (Xorg/Wayland)
== Installation ==
The easiest way for now is to use the Flash Tool from official flashing guide, replacing linux.img in the firmware package with planet-geminipda.img and linux_boot.img with boot.img-planet-geminipda. In the Android 7.1 downloads it appears the linux_boot.img is distro_boot.img. If you want it to reflect just generic linux_boot.img you also need to update the Scatter file.
== Alternative installation ==
The device package also includes an initramfs hook, which will try to mount the userdata and linux partitions, looking for a /postmarketOS.img file (pmbootstrap exports as planet-geminipda.img so you'd need to rename). This can be used for non-intrusive installation inside of the Android user space and only requires a small linux partition and boot image.
That Image file needs to be expanded to the wanted size in advance, for example:
% truncate -s 2G postmarketOS.img
== Community Info ==
=== postmarketOS users that own the device ===
=== Maintainers ===
* NotKit
=== Contributors ===
* NotKit
== See also ==
* initial MR (with a good description of the current state, 2019-01)
* Old Device branch
*
*
Pmaports.git

pmaports.git (GitLab) holds the package build recipes of postmarketOS, in the format. It is automatically checked out by pmbootstrap during pmbootstrap init (unless overridden with --aports). The default location of the local checkout is ~/.local/var/pmbootstrap/cache_git/pmaports:
$ pmbootstrap config aports
/home/user/.local/var/pmbootstrap/cache_git/pmaports
Remember the pmbootstrap status command, it will print this path as well as the checked out branch and some other useful status information.
=== Naming ===
pmaports stands for postmarketOS aports, and aports in turn are the Alpine ports. The name pmaports was chosen when pmaports.git was split from pmbootstrap.git in 2018 (), to make obvious that this is not a fork of Alpine's aports.git repository. Before that, it was a subdirectory called aports in the pmbootstrap.git repository. Therefore pmbootstrap sometimes refers to pmaports as "aports" (e.g. pmbootstrap config aports and pmbootstrap --aports are both about pmaports, not Alpine's aports).
=== Differences to Alpine's aports ===
* pmaports support an arbitrary amount of subdirectories. All packages created will end up in the same index file (postmarketos/APKINDEX.tar.gz), whereas in Alpine's aports, the contents of each directory (main, community, ...) will end up in a separate index (and deeper directory levels are not supported). This was chosen so users only need to download one additional APKINDEX.tar.gz for all of the postmarketOS packages, while still having a flexible directory structure in the git repository.
* pmaports has metadata about compatibility with pmbootstrap in pmaports.cfg
* pmaports has metadata about release channels in channels.cfg (master branch only)
=== Package auto-upgrade ===
Some packages in pmaports are upgraded automatically via a scheduled CI pipeline. See the auto-update: job in .gitlab-ci.yml and </code>.ci/autoupdate.sh</code> for the implementation. Right now the only package we auto-upgrade is linux-next but we expect to scale this up to support new packages in the future.
The pipeline is scheduled to run at 6:30am and 8:30PM UTC+1 (Berlin time).
==== Variables ====
There are several variables specific to this job:
* $AUTOUPDATE_PACKAGES
This variable contains a space separated list of packages to upgrade (all stuff into a single argument??). This is not ideal and may be better implemented by adding a special flag file to packages that should be auto-updated.
* $PMAPORTS_SSH_KEY
This variable contains the SSH private key used for signing commits authored by the bot. GitLab doesn't currently support adding signing keys to bot accounts so these show up as "unverified" in the UI, but can be checked manually. The public key fingerprint is ttyCwYtgtZizgC70AH9rDrt/69rA2GlIU5Bo+Abh8bs.
* $PMAPORTS_TOKEN_BOT
This variable contains the username of the bot account associated with the access token.
* $PMAPORTS_PUSH_TOKEN
This variable contains the GitLab access token used by the auto-update CI. It's a "project access token" on pmaports and only has "write repository" access.