<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://leste.maemo.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Auanta</id>
	<title>Maemo Leste Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://leste.maemo.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Auanta"/>
	<link rel="alternate" type="text/html" href="https://leste.maemo.org/Special:Contributions/Auanta"/>
	<updated>2026-05-23T04:22:46Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1366</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1366"/>
		<updated>2022-08-16T04:10:40Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Make apps show up on desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== More Information ===&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to on. You can check by tapping the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt; ensure the &amp;quot;Use virtual keyboard&amp;quot; option is checked. You may also want to change the keyboard layout by changing the dictionary settings.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* &#039;&#039;&#039;VoLTE should work out-of-the-box.&#039;&#039;&#039; If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step&#039;&#039;&#039;&#039;&#039; to select the correct device.&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer. Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one. You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== Preparing the .img file for eMMC boot ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you [https://tow-boot.org/devices/pine64-pinephoneA64.html flashed tow-boot to the PinePhone] the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Install Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== Install from the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
To view a list of currently installed apps, do:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt list --installed | less&lt;br /&gt;
&lt;br /&gt;
This should help you figure out for which apps to configure .desktop icons. A benefit with all this is that you can decide which apps you want to show or hide.&lt;br /&gt;
&lt;br /&gt;
=== Unhide the keyboard ===&lt;br /&gt;
&lt;br /&gt;
The virtual keyboard can be summoned by hitting the volume-up key while the cursor is in a text field (such as the URL bar in a web browser like Firefox). This will be fixed in a future release (image tested: 20220731).&lt;br /&gt;
&lt;br /&gt;
=== Note about Calculator ===&lt;br /&gt;
&lt;br /&gt;
The default GUI calculator works (08/15/2022) but you won&#039;t see the numbers appear on screen until after you touch the next key. It should be used in landscape mode for best results, as there are additional display issues in portrait mode.&lt;br /&gt;
&lt;br /&gt;
=== Time zone / World Clock ===&lt;br /&gt;
&lt;br /&gt;
Currently (06/15/2022) the interface to the default GUI clock has a few bugs but the workaround is to: &lt;br /&gt;
&lt;br /&gt;
* Go to Settings &amp;gt; Date and Time &amp;gt; and adjust time zone and date and time there. This also has some bugs, but only in portrait mode.&lt;br /&gt;
&lt;br /&gt;
* Or just use the console:&lt;br /&gt;
&lt;br /&gt;
 $ sudo date -s HH:MM&lt;br /&gt;
 $ sudo date -s YYYYMMDD&lt;br /&gt;
 $ sudo ln -s /usr/share/zoneinfo/YOURREGION/YOURCITY /etc/localtime&lt;br /&gt;
&lt;br /&gt;
=== Customize the Keyboard ===&lt;br /&gt;
&lt;br /&gt;
TODO: write this&lt;br /&gt;
&lt;br /&gt;
=== More Tips &amp;amp; Tricks ===&lt;br /&gt;
&lt;br /&gt;
Visit [https://leste.maemo.org/Tricks &#039;&#039;&#039;this page&#039;&#039;&#039;] for more general advice on customizing Maemo on your PinePhone.&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1365</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1365"/>
		<updated>2022-08-16T04:09:35Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* More Tips &amp;amp; Tricks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== More Information ===&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to on. You can check by tapping the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt; ensure the &amp;quot;Use virtual keyboard&amp;quot; option is checked. You may also want to change the keyboard layout by changing the dictionary settings.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* &#039;&#039;&#039;VoLTE should work out-of-the-box.&#039;&#039;&#039; If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step&#039;&#039;&#039;&#039;&#039; to select the correct device.&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer. Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one. You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== Preparing the .img file for eMMC boot ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you [https://tow-boot.org/devices/pine64-pinephoneA64.html flashed tow-boot to the PinePhone] the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Install Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== Install from the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
To view a list of currently installed apps, do:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt list --installed | less&lt;br /&gt;
&lt;br /&gt;
This should help you figure out for which apps to configure .desktop icons.&lt;br /&gt;
&lt;br /&gt;
=== Unhide the keyboard ===&lt;br /&gt;
&lt;br /&gt;
The virtual keyboard can be summoned by hitting the volume-up key while the cursor is in a text field (such as the URL bar in a web browser like Firefox). This will be fixed in a future release (image tested: 20220731).&lt;br /&gt;
&lt;br /&gt;
=== Note about Calculator ===&lt;br /&gt;
&lt;br /&gt;
The default GUI calculator works (08/15/2022) but you won&#039;t see the numbers appear on screen until after you touch the next key. It should be used in landscape mode for best results, as there are additional display issues in portrait mode.&lt;br /&gt;
&lt;br /&gt;
=== Time zone / World Clock ===&lt;br /&gt;
&lt;br /&gt;
Currently (06/15/2022) the interface to the default GUI clock has a few bugs but the workaround is to: &lt;br /&gt;
&lt;br /&gt;
* Go to Settings &amp;gt; Date and Time &amp;gt; and adjust time zone and date and time there. This also has some bugs, but only in portrait mode.&lt;br /&gt;
&lt;br /&gt;
* Or just use the console:&lt;br /&gt;
&lt;br /&gt;
 $ sudo date -s HH:MM&lt;br /&gt;
 $ sudo date -s YYYYMMDD&lt;br /&gt;
 $ sudo ln -s /usr/share/zoneinfo/YOURREGION/YOURCITY /etc/localtime&lt;br /&gt;
&lt;br /&gt;
=== Customize the Keyboard ===&lt;br /&gt;
&lt;br /&gt;
TODO: write this&lt;br /&gt;
&lt;br /&gt;
=== More Tips &amp;amp; Tricks ===&lt;br /&gt;
&lt;br /&gt;
Visit [https://leste.maemo.org/Tricks &#039;&#039;&#039;this page&#039;&#039;&#039;] for more general advice on customizing Maemo on your PinePhone.&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1364</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1364"/>
		<updated>2022-08-16T04:08:53Z</updated>

		<summary type="html">&lt;p&gt;Auanta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== More Information ===&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to on. You can check by tapping the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt; ensure the &amp;quot;Use virtual keyboard&amp;quot; option is checked. You may also want to change the keyboard layout by changing the dictionary settings.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* &#039;&#039;&#039;VoLTE should work out-of-the-box.&#039;&#039;&#039; If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step&#039;&#039;&#039;&#039;&#039; to select the correct device.&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer. Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one. You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== Preparing the .img file for eMMC boot ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you [https://tow-boot.org/devices/pine64-pinephoneA64.html flashed tow-boot to the PinePhone] the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Install Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== Install from the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
To view a list of currently installed apps, do:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt list --installed | less&lt;br /&gt;
&lt;br /&gt;
This should help you figure out for which apps to configure .desktop icons.&lt;br /&gt;
&lt;br /&gt;
=== Unhide the keyboard ===&lt;br /&gt;
&lt;br /&gt;
The virtual keyboard can be summoned by hitting the volume-up key while the cursor is in a text field (such as the URL bar in a web browser like Firefox). This will be fixed in a future release (image tested: 20220731).&lt;br /&gt;
&lt;br /&gt;
=== Note about Calculator ===&lt;br /&gt;
&lt;br /&gt;
The default GUI calculator works (08/15/2022) but you won&#039;t see the numbers appear on screen until after you touch the next key. It should be used in landscape mode for best results, as there are additional display issues in portrait mode.&lt;br /&gt;
&lt;br /&gt;
=== Time zone / World Clock ===&lt;br /&gt;
&lt;br /&gt;
Currently (06/15/2022) the interface to the default GUI clock has a few bugs but the workaround is to: &lt;br /&gt;
&lt;br /&gt;
* Go to Settings &amp;gt; Date and Time &amp;gt; and adjust time zone and date and time there. This also has some bugs, but only in portrait mode.&lt;br /&gt;
&lt;br /&gt;
* Or just use the console:&lt;br /&gt;
&lt;br /&gt;
 $ sudo date -s HH:MM&lt;br /&gt;
 $ sudo date -s YYYYMMDD&lt;br /&gt;
 $ sudo ln -s /usr/share/zoneinfo/YOURREGION/YOURCITY /etc/localtime&lt;br /&gt;
&lt;br /&gt;
=== Customize the Keyboard ===&lt;br /&gt;
&lt;br /&gt;
TODO: write this&lt;br /&gt;
&lt;br /&gt;
=== More Tips &amp;amp; Tricks ===&lt;br /&gt;
&lt;br /&gt;
Visit [https://leste.maemo.org/Tricks this page] for more general advice on customizing Maemo on your PinePhone.&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Tricks&amp;diff=1363</id>
		<title>Tricks</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Tricks&amp;diff=1363"/>
		<updated>2022-08-16T04:06:44Z</updated>

		<summary type="html">&lt;p&gt;Auanta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
= Randomize MAC Address =&lt;br /&gt;
Some users may wish to change the MAC address of an interface, for e.g. to prevent wifi networks associating their MAC address with their network usage pattern.&lt;br /&gt;
&lt;br /&gt;
The macchanger package addresses this by either automatically or manually changing the MAC address of enabled interfaces.  &lt;br /&gt;
&lt;br /&gt;
 apt install -y macchanger&lt;br /&gt;
&lt;br /&gt;
During installation, the package configuration allows user to select automatic change of MAC address when interface is brought up.  This may interfere with USB networking.  As an alternative, user can manually change the wlan0 MAC.&lt;br /&gt;
&lt;br /&gt;
 macchanger wlan0 -e -a&lt;br /&gt;
 ifconfig wlan0 up&lt;br /&gt;
&lt;br /&gt;
= Keyboard / Mouse sharing with PC =&lt;br /&gt;
To use a Leste device while working at desktop it can be convenient to share mouse and keyboard of the host pc with the leste device.  The &#039;barrier&#039; client/server program, forked from &#039;synergy&#039;, allows this.&lt;br /&gt;
&lt;br /&gt;
 https://github.com/debauchee/barrier Barrier software-KVM switch&lt;br /&gt;
&lt;br /&gt;
A hildonized Maemo-leste binary of the client is not available at time of this writing. Developers and testers may wish to disable undesired modules included with the barrier source, before compiling.&lt;br /&gt;
&lt;br /&gt;
= Touchscreen support in Firefox (firefox-esr) =&lt;br /&gt;
&lt;br /&gt;
Add the necessary environment variable:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;MOZ_USE_XINPUT2 DEFAULT=1&amp;quot; &amp;gt;&amp;gt; /etc/security/pam_env.conf&lt;br /&gt;
&lt;br /&gt;
Then in firefox, open &#039;&#039;&#039;about:config&#039;&#039;&#039; and set &#039;&#039;&#039;dom.w3c_touch_events.enabled&#039;&#039;&#039; to &#039;&#039;&#039;1&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You can also set a mobile useragent by creating a string key called &#039;&#039;&#039;general.useragent.override&#039;&#039;&#039;.&lt;br /&gt;
Then set something like this:&lt;br /&gt;
&lt;br /&gt;
 Mozilla/5.0 (Android 9; Mobile; rv:68.0) Gecko/68.0 Firefox/68.0&lt;br /&gt;
&lt;br /&gt;
= Customize console colors =&lt;br /&gt;
&lt;br /&gt;
TODO: explain how to make console white on black text&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1362</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1362"/>
		<updated>2022-08-16T03:09:53Z</updated>

		<summary type="html">&lt;p&gt;Auanta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== More Information ===&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to on. You can check by tapping the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt; ensure the &amp;quot;Use virtual keyboard&amp;quot; option is checked. You may also want to change the keyboard layout by changing the dictionary settings.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* &#039;&#039;&#039;VoLTE should work out-of-the-box.&#039;&#039;&#039; If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step&#039;&#039;&#039;&#039;&#039; to select the correct device.&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer. Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one. You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== Preparing the .img file for eMMC boot ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you [https://tow-boot.org/devices/pine64-pinephoneA64.html flashed tow-boot to the PinePhone] the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Install Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== Install from the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
To view a list of currently installed apps, do:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt list --installed | less&lt;br /&gt;
&lt;br /&gt;
This should help you figure out for which apps to configure .desktop icons.&lt;br /&gt;
&lt;br /&gt;
=== Unhide the keyboard ===&lt;br /&gt;
&lt;br /&gt;
The virtual keyboard can be summoned by hitting the volume-up key while the cursor is in a text field (such as the URL bar in a web browser like Firefox). This will be fixed in a future release (image tested: 20220731).&lt;br /&gt;
&lt;br /&gt;
=== Note about Calculator ===&lt;br /&gt;
&lt;br /&gt;
The default GUI calculator works (08/15/2022) but you won&#039;t see the numbers appear on screen until after you touch the next key. It should be used in landscape mode for best results, as there are additional display issues in portrait mode.&lt;br /&gt;
&lt;br /&gt;
=== Time zone / World Clock ===&lt;br /&gt;
&lt;br /&gt;
Currently (06/15/2022) the interface to the default GUI clock has a few bugs but the workaround is to: &lt;br /&gt;
&lt;br /&gt;
* Go to Settings &amp;gt; Date and Time &amp;gt; and adjust time zone and date and time there. This also has some bugs, but only in portrait mode.&lt;br /&gt;
&lt;br /&gt;
* Or just use the console:&lt;br /&gt;
&lt;br /&gt;
 $ sudo date -s HH:MM&lt;br /&gt;
 $ sudo date -s YYYYMMDD&lt;br /&gt;
 $ sudo ln -s /usr/share/zoneinfo/YOURREGION/YOURCITY /etc/localtime&lt;br /&gt;
&lt;br /&gt;
=== Customize the Keyboard ===&lt;br /&gt;
&lt;br /&gt;
TODO: write this&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1361</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1361"/>
		<updated>2022-08-16T03:04:18Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Make apps show up on desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== More Information ===&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to on. You can check by tapping the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt; ensure the &amp;quot;Use virtual keyboard&amp;quot; option is checked. You may also want to change the keyboard layout by changing the dictionary settings.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* &#039;&#039;&#039;VoLTE should work out-of-the-box.&#039;&#039;&#039; If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step&#039;&#039;&#039;&#039;&#039; to select the correct device.&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer. Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one. You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== Preparing the .img file for eMMC boot ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you [https://tow-boot.org/devices/pine64-pinephoneA64.html flashed tow-boot to the PinePhone] the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Install Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== Install from the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
To view a list of currently installed apps, do:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt list --installed | less&lt;br /&gt;
&lt;br /&gt;
This should help you figure out for which apps to configure .desktop icons.&lt;br /&gt;
&lt;br /&gt;
=== Unhide the keyboard ===&lt;br /&gt;
&lt;br /&gt;
The virtual keyboard can be summoned by hitting the volume-up key while the cursor is in a text field (such as the URL bar in a web browser like Firefox). This will be fixed in a future release (image tested: 20220731).&lt;br /&gt;
&lt;br /&gt;
=== Note about Calculator ===&lt;br /&gt;
&lt;br /&gt;
The default GUI calculator works (08/15/2022) but you won&#039;t see the numbers appear on screen until after you touch the next key. It should be used in landscape mode for best results, as there are additional display issues in portrait mode.&lt;br /&gt;
&lt;br /&gt;
=== Time zone / World Clock ===&lt;br /&gt;
&lt;br /&gt;
Currently (06/15/2022) the interface to the default GUI clock has a few bugs but the workaround is to: &lt;br /&gt;
&lt;br /&gt;
* Go to Settings &amp;gt; Date and Time &amp;gt; and adjust time zone and date and time there. This also has some bugs, but only in portrait mode.&lt;br /&gt;
&lt;br /&gt;
* Or just use the console:&lt;br /&gt;
&lt;br /&gt;
 $ sudo date -s HH:MM&lt;br /&gt;
 $ sudo date -s YYYYMMDD&lt;br /&gt;
 $ sudo ln -s /usr/share/zoneinfo/YOURREGION/YOURCITY /etc/localtime&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1360</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1360"/>
		<updated>2022-08-16T03:03:26Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Make apps show up on desktop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== More Information ===&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to on. You can check by tapping the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt; ensure the &amp;quot;Use virtual keyboard&amp;quot; option is checked. You may also want to change the keyboard layout by changing the dictionary settings.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* &#039;&#039;&#039;VoLTE should work out-of-the-box.&#039;&#039;&#039; If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step&#039;&#039;&#039;&#039;&#039; to select the correct device.&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer. Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one. You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== Preparing the .img file for eMMC boot ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you [https://tow-boot.org/devices/pine64-pinephoneA64.html flashed tow-boot to the PinePhone] the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Install Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== Install from the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
To view a list of app currently installed apps, do:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt list --installed | less&lt;br /&gt;
&lt;br /&gt;
=== Unhide the keyboard ===&lt;br /&gt;
&lt;br /&gt;
The virtual keyboard can be summoned by hitting the volume-up key while the cursor is in a text field (such as the URL bar in a web browser like Firefox). This will be fixed in a future release (image tested: 20220731).&lt;br /&gt;
&lt;br /&gt;
=== Note about Calculator ===&lt;br /&gt;
&lt;br /&gt;
The default GUI calculator works (08/15/2022) but you won&#039;t see the numbers appear on screen until after you touch the next key. It should be used in landscape mode for best results, as there are additional display issues in portrait mode.&lt;br /&gt;
&lt;br /&gt;
=== Time zone / World Clock ===&lt;br /&gt;
&lt;br /&gt;
Currently (06/15/2022) the interface to the default GUI clock has a few bugs but the workaround is to: &lt;br /&gt;
&lt;br /&gt;
* Go to Settings &amp;gt; Date and Time &amp;gt; and adjust time zone and date and time there. This also has some bugs, but only in portrait mode.&lt;br /&gt;
&lt;br /&gt;
* Or just use the console:&lt;br /&gt;
&lt;br /&gt;
 $ sudo date -s HH:MM&lt;br /&gt;
 $ sudo date -s YYYYMMDD&lt;br /&gt;
 $ sudo ln -s /usr/share/zoneinfo/YOURREGION/YOURCITY /etc/localtime&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1359</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1359"/>
		<updated>2022-08-16T02:57:20Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Note about Calculator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== More Information ===&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to on. You can check by tapping the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt; ensure the &amp;quot;Use virtual keyboard&amp;quot; option is checked. You may also want to change the keyboard layout by changing the dictionary settings.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* &#039;&#039;&#039;VoLTE should work out-of-the-box.&#039;&#039;&#039; If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step&#039;&#039;&#039;&#039;&#039; to select the correct device.&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer. Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one. You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== Preparing the .img file for eMMC boot ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you [https://tow-boot.org/devices/pine64-pinephoneA64.html flashed tow-boot to the PinePhone] the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Install Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== Install from the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
=== Unhide the keyboard ===&lt;br /&gt;
&lt;br /&gt;
The virtual keyboard can be summoned by hitting the volume-up key while the cursor is in a text field (such as the URL bar in a web browser like Firefox). This will be fixed in a future release (image tested: 20220731).&lt;br /&gt;
&lt;br /&gt;
=== Note about Calculator ===&lt;br /&gt;
&lt;br /&gt;
The default GUI calculator works (08/15/2022) but you won&#039;t see the numbers appear on screen until after you touch the next key. It should be used in landscape mode for best results, as there are additional display issues in portrait mode.&lt;br /&gt;
&lt;br /&gt;
=== Time zone / World Clock ===&lt;br /&gt;
&lt;br /&gt;
Currently (06/15/2022) the interface to the default GUI clock has a few bugs but the workaround is to: &lt;br /&gt;
&lt;br /&gt;
* Go to Settings &amp;gt; Date and Time &amp;gt; and adjust time zone and date and time there. This also has some bugs, but only in portrait mode.&lt;br /&gt;
&lt;br /&gt;
* Or just use the console:&lt;br /&gt;
&lt;br /&gt;
 $ sudo date -s HH:MM&lt;br /&gt;
 $ sudo date -s YYYYMMDD&lt;br /&gt;
 $ sudo ln -s /usr/share/zoneinfo/YOURREGION/YOURCITY /etc/localtime&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1358</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1358"/>
		<updated>2022-08-16T01:42:23Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Note about Calculator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== More Information ===&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to on. You can check by tapping the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt; ensure the &amp;quot;Use virtual keyboard&amp;quot; option is checked. You may also want to change the keyboard layout by changing the dictionary settings.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* &#039;&#039;&#039;VoLTE should work out-of-the-box.&#039;&#039;&#039; If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step&#039;&#039;&#039;&#039;&#039; to select the correct device.&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer. Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one. You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== Preparing the .img file for eMMC boot ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you [https://tow-boot.org/devices/pine64-pinephoneA64.html flashed tow-boot to the PinePhone] the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Install Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== Install from the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
=== Unhide the keyboard ===&lt;br /&gt;
&lt;br /&gt;
The virtual keyboard can be summoned by hitting the volume-up key while the cursor is in a text field (such as the URL bar in a web browser like Firefox). This will be fixed in a future release (image tested: 20220731).&lt;br /&gt;
&lt;br /&gt;
=== Note about Calculator ===&lt;br /&gt;
&lt;br /&gt;
The default GUI calculator works (08/15/2022) but you won&#039;t see the numbers appear on screen until after you touch the next key. It should be used in landscape mode for best results.&lt;br /&gt;
&lt;br /&gt;
=== Time zone / World Clock ===&lt;br /&gt;
&lt;br /&gt;
Currently (06/15/2022) the interface to the default GUI clock has a few bugs but the workaround is to: &lt;br /&gt;
&lt;br /&gt;
* Go to Settings &amp;gt; Date and Time &amp;gt; and adjust time zone and date and time there. This also has some bugs, but only in portrait mode.&lt;br /&gt;
&lt;br /&gt;
* Or just use the console:&lt;br /&gt;
&lt;br /&gt;
 $ sudo date -s HH:MM&lt;br /&gt;
 $ sudo date -s YYYYMMDD&lt;br /&gt;
 $ sudo ln -s /usr/share/zoneinfo/YOURREGION/YOURCITY /etc/localtime&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1357</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1357"/>
		<updated>2022-08-16T01:02:53Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* More Information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== More Information ===&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to on. You can check by tapping the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt; ensure the &amp;quot;Use virtual keyboard&amp;quot; option is checked. You may also want to change the keyboard layout by changing the dictionary settings.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* &#039;&#039;&#039;VoLTE should work out-of-the-box.&#039;&#039;&#039; If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step&#039;&#039;&#039;&#039;&#039; to select the correct device.&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer. Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one. You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== Preparing the .img file for eMMC boot ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you [https://tow-boot.org/devices/pine64-pinephoneA64.html flashed tow-boot to the PinePhone] the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Install Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== Install from the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
=== Unhide the keyboard ===&lt;br /&gt;
&lt;br /&gt;
The virtual keyboard can be summoned by hitting the volume-up key while the cursor is in a text field (such as the URL bar in a web browser like Firefox). This will be fixed in a future release (image tested: 20220731).&lt;br /&gt;
&lt;br /&gt;
=== Note about Calculator ===&lt;br /&gt;
&lt;br /&gt;
The default GUI calculator works (08/15/2022) but you won&#039;t see the numbers appear on screen until after you touch the next key.&lt;br /&gt;
&lt;br /&gt;
=== Time zone / World Clock ===&lt;br /&gt;
&lt;br /&gt;
Currently (06/15/2022) the interface to the default GUI clock has a few bugs but the workaround is to: &lt;br /&gt;
&lt;br /&gt;
* Go to Settings &amp;gt; Date and Time &amp;gt; and adjust time zone and date and time there. This also has some bugs, but only in portrait mode.&lt;br /&gt;
&lt;br /&gt;
* Or just use the console:&lt;br /&gt;
&lt;br /&gt;
 $ sudo date -s HH:MM&lt;br /&gt;
 $ sudo date -s YYYYMMDD&lt;br /&gt;
 $ sudo ln -s /usr/share/zoneinfo/YOURREGION/YOURCITY /etc/localtime&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1356</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1356"/>
		<updated>2022-08-16T01:01:21Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* More Information */ update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== More Information ===&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to on. You can check by tapping the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt; ensure the &amp;quot;Use virtual keyboard&amp;quot; option is checked. You may also want to change the keyboard layout by changing the dictionary settings.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step&#039;&#039;&#039;&#039;&#039; to select the correct device.&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer. Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one. You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== Preparing the .img file for eMMC boot ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you [https://tow-boot.org/devices/pine64-pinephoneA64.html flashed tow-boot to the PinePhone] the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Install Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== Install from the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
=== Unhide the keyboard ===&lt;br /&gt;
&lt;br /&gt;
The virtual keyboard can be summoned by hitting the volume-up key while the cursor is in a text field (such as the URL bar in a web browser like Firefox). This will be fixed in a future release (image tested: 20220731).&lt;br /&gt;
&lt;br /&gt;
=== Note about Calculator ===&lt;br /&gt;
&lt;br /&gt;
The default GUI calculator works (08/15/2022) but you won&#039;t see the numbers appear on screen until after you touch the next key.&lt;br /&gt;
&lt;br /&gt;
=== Time zone / World Clock ===&lt;br /&gt;
&lt;br /&gt;
Currently (06/15/2022) the interface to the default GUI clock has a few bugs but the workaround is to: &lt;br /&gt;
&lt;br /&gt;
* Go to Settings &amp;gt; Date and Time &amp;gt; and adjust time zone and date and time there. This also has some bugs, but only in portrait mode.&lt;br /&gt;
&lt;br /&gt;
* Or just use the console:&lt;br /&gt;
&lt;br /&gt;
 $ sudo date -s HH:MM&lt;br /&gt;
 $ sudo date -s YYYYMMDD&lt;br /&gt;
 $ sudo ln -s /usr/share/zoneinfo/YOURREGION/YOURCITY /etc/localtime&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1355</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1355"/>
		<updated>2022-08-16T00:27:52Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Time zone / World Clock */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step&#039;&#039;&#039;&#039;&#039; to select the correct device.&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer. Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one. You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== Preparing the .img file for eMMC boot ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you [https://tow-boot.org/devices/pine64-pinephoneA64.html flashed tow-boot to the PinePhone] the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Install Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== Install from the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
=== Unhide the keyboard ===&lt;br /&gt;
&lt;br /&gt;
The virtual keyboard can be summoned by hitting the volume-up key while the cursor is in a text field (such as the URL bar in a web browser like Firefox). This will be fixed in a future release (image tested: 20220731).&lt;br /&gt;
&lt;br /&gt;
=== Note about Calculator ===&lt;br /&gt;
&lt;br /&gt;
The default GUI calculator works (08/15/2022) but you won&#039;t see the numbers appear on screen until after you touch the next key.&lt;br /&gt;
&lt;br /&gt;
=== Time zone / World Clock ===&lt;br /&gt;
&lt;br /&gt;
Currently (06/15/2022) the interface to the default GUI clock has a few bugs but the workaround is to: &lt;br /&gt;
&lt;br /&gt;
* Go to Settings &amp;gt; Date and Time &amp;gt; and adjust time zone and date and time there. This also has some bugs, but only in portrait mode.&lt;br /&gt;
&lt;br /&gt;
* Or just use the console:&lt;br /&gt;
&lt;br /&gt;
 $ sudo date -s HH:MM&lt;br /&gt;
 $ sudo date -s YYYYMMDD&lt;br /&gt;
 $ sudo ln -s /usr/share/zoneinfo/YOURREGION/YOURCITY /etc/localtime&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1354</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1354"/>
		<updated>2022-08-16T00:27:06Z</updated>

		<summary type="html">&lt;p&gt;Auanta: more advice&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step&#039;&#039;&#039;&#039;&#039; to select the correct device.&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer. Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one. You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== Preparing the .img file for eMMC boot ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you [https://tow-boot.org/devices/pine64-pinephoneA64.html flashed tow-boot to the PinePhone] the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Install Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== Install from the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
=== Unhide the keyboard ===&lt;br /&gt;
&lt;br /&gt;
The virtual keyboard can be summoned by hitting the volume-up key while the cursor is in a text field (such as the URL bar in a web browser like Firefox). This will be fixed in a future release (image tested: 20220731).&lt;br /&gt;
&lt;br /&gt;
=== Note about Calculator ===&lt;br /&gt;
&lt;br /&gt;
The default GUI calculator works (08/15/2022) but you won&#039;t see the numbers appear on screen until after you touch the next key.&lt;br /&gt;
&lt;br /&gt;
=== Time zone / World Clock ===&lt;br /&gt;
&lt;br /&gt;
Currently (06/15/2022) the interface to the default GUI clock has a few bugs but the workaround is to: &lt;br /&gt;
&lt;br /&gt;
* Go to Settings &amp;gt; Date and Time &amp;gt; and adjust time zone and date and time there. This also has some bugs, but only in portrait mode.&lt;br /&gt;
&lt;br /&gt;
* Or just use the console:&lt;br /&gt;
&lt;br /&gt;
$ sudo date -s HH:MM&lt;br /&gt;
$ sudo date -s YYYYMMDD&lt;br /&gt;
$ sudo ln -s /usr/share/zoneinfo/YOURREGION/YOURCITY /etc/localtime&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Main_Page&amp;diff=1353</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Main_Page&amp;diff=1353"/>
		<updated>2022-08-15T23:36:13Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Description */ link to IRC channel about Matrix bridge&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
&lt;br /&gt;
Welcome to the Maemo Leste wiki; Maemo Leste continues the legacy of Maemo Fremantle. We aim to provide a free Maemo experience on mobile phones and tablets like the Nokia N900, Motorola Droid 4, PinePhone, Allwinner Tablets and more.&lt;br /&gt;
&lt;br /&gt;
You can find us on &#039;&#039;&#039;irc.libera.chat&#039;&#039;&#039;, channel &#039;&#039;&#039;#maemo-leste&#039;&#039;&#039;, you can [[IRC_channel|use Matrix]] to connect if you wish.&lt;br /&gt;
&lt;br /&gt;
For an overview of the current status, you might want to check out: [[Status]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is based on Devuan Beowulf (Debian Buster) and all the &amp;quot;supported&amp;quot; devices ship with recent Linux (mainline-based) kernels.&lt;br /&gt;
&lt;br /&gt;
The project is currently not usable as a daily driver for your device. Maemo Leste is currently in development phase and we are actively searching for developers.&lt;br /&gt;
&lt;br /&gt;
For some devices, we have development images available, such as the [[Nokia_N900]], the [[Motorola Droid 4]] and the [[PinePhone]]. So far we have set up Devuan/Debian repositories for our packages, with builds for armhf, arm64 and amd64. We have FOSS replacements for some closed Maemo packages, further building on the Maemo community efforts to replace all closed bits by open software.&lt;br /&gt;
&lt;br /&gt;
If you have not used Maemo before, you might want to check out some of the tips on the [[HowTo]] page.&lt;br /&gt;
&lt;br /&gt;
== Useful resources, lists and pages ==&lt;br /&gt;
&lt;br /&gt;
* To get started with a new install, see [[Getting_Started|Getting Started]].&lt;br /&gt;
* Read our [[Leste_FAQ|Frequently Asked Questions]]&lt;br /&gt;
* List of [[:Category:Device]] with support to varying degrees&lt;br /&gt;
* Latest downloadable images: https://phoenix.maemo.org/view/Images/&lt;br /&gt;
* List of &amp;quot;extras&amp;quot; software packages that have a wiki page: https://leste.maemo.org/Category:Extras&lt;br /&gt;
* Read how to get started with [[Development]]&lt;br /&gt;
* You have an application you want to see in Leste? Please let us know [[Wishlist|here]].&lt;br /&gt;
* For a list of presentations/talks featuring Maemo Leste, see [[Talks]]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
The central point of meeting and talking is &#039;&#039;&#039;IRC&#039;&#039;&#039; (&#039;&#039;&#039;irc.libera.chat&#039;&#039;&#039; in &#039;&#039;&#039;#maemo-leste&#039;&#039;&#039;) and this thread: https://talk.maemo.org/showthread.php?t=100192.&lt;br /&gt;
&lt;br /&gt;
* Our Blog: [https://maemo-leste.github.io https://maemo-leste.github.io]&lt;br /&gt;
&lt;br /&gt;
* Our Bugtracker: [https://github.com/maemo-leste/bugtracker/issues https://github.com/maemo-leste/bugtracker/issues]&lt;br /&gt;
&lt;br /&gt;
* Our Github: [https://github.com/maemo-leste/ https://github.com/maemo-leste/]&lt;br /&gt;
&lt;br /&gt;
* Our Github subdomain: [https://maemo-leste.github.io/ https://maemo-leste.github.io/]&lt;br /&gt;
&lt;br /&gt;
* Our Extras Github: [https://github.com/maemo-leste-extras/ https://github.com/maemo-leste-extras/]&lt;br /&gt;
&lt;br /&gt;
* Our Images: [http://maedevu.maemo.org/images/ http://maedevu.maemo.org/images/] and https://phoenix.maemo.org/view/Images/&lt;br /&gt;
&lt;br /&gt;
* Our Jenkins build server: [https://phoenix.maemo.org/ https://phoenix.maemo.org/]&lt;br /&gt;
&lt;br /&gt;
* Our IRC chat history: [http://maedevu.maemo.org/irc.txt http://maedevu.maemo.org/irc.txt] and https://libera.irclog.whitequark.org/maemo-leste/ (previously: https://freenode.irclog.whitequark.org/maemo-leste/)&lt;br /&gt;
&lt;br /&gt;
* Our YouTube channel: [https://www.youtube.com/channel/UCgAWiHvWSuJAg5hjk7JYn1w https://www.youtube.com/channel/UCgAWiHvWSuJAg5hjk7JYn1w] (via [https://www.invidio.us/channel/UCgAWiHvWSuJAg5hjk7JYn1w Invidious] )&lt;br /&gt;
&lt;br /&gt;
* Our Package index and info: [https://maedevu.maemo.org/pkgweb/ https://maedevu.maemo.org/pkgweb/] which runs [https://github.com/maemo-leste/mpi https://github.com/maemo-leste/mpi]&lt;br /&gt;
&lt;br /&gt;
* Mailing List: [https://lists.dyne.org/lurker/list/maemo-leste.en.html https://lists.dyne.org/lurker/list/maemo-leste.en.html]&lt;br /&gt;
&lt;br /&gt;
* Our Forum [https://talk.maemo.org/forumdisplay.php?f=66 https://talk.maemo.org/forumdisplay.php?f=66]&lt;br /&gt;
&lt;br /&gt;
* RSS feed: [https://maemo-leste.github.io/feeds/all.atom.xml https://maemo-leste.github.io/feeds/all.atom.xml]&lt;br /&gt;
&lt;br /&gt;
* Our Twitter: [https://twitter.com/maemoleste @maemoleste]&lt;br /&gt;
&lt;br /&gt;
* Distrowatch: [https://distrowatch.com/dwres.php?resource=submit Maemo Leste] (give us an upvote)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1352</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1352"/>
		<updated>2022-08-15T23:08:22Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Install Using Tow-Boot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step&#039;&#039;&#039;&#039;&#039; to select the correct device.&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer. Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one. You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== Preparing the .img file for eMMC boot ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you [https://tow-boot.org/devices/pine64-pinephoneA64.html flashed tow-boot to the PinePhone] the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Install Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== Install from the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
=== Make keyboard show on Firefox/Iceweasel ===&lt;br /&gt;
&lt;br /&gt;
The keyboard can be summoned by hitting the volume-up key while the cursor is in a text field (such as the URL bar). This will be fixed in a future release (image tested: 20220731).&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1351</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1351"/>
		<updated>2022-08-15T22:56:29Z</updated>

		<summary type="html">&lt;p&gt;Auanta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step&#039;&#039;&#039;&#039;&#039; to select the correct device.&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer. Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one. You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== Preparing the .img file for eMMC boot ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Install Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== Install from the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
=== Make keyboard show on Firefox/Iceweasel ===&lt;br /&gt;
&lt;br /&gt;
The keyboard can be summoned by hitting the volume-up key while the cursor is in a text field (such as the URL bar). This will be fixed in a future release (image tested: 20220731).&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1350</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1350"/>
		<updated>2022-08-15T22:52:23Z</updated>

		<summary type="html">&lt;p&gt;Auanta: formatting, reorganizing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step&#039;&#039;&#039;&#039;&#039; to select the correct device.&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer. Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one. You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== Preparing the .img file for eMMC boot ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Install Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== Install from the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
=== Make keyboard show on Firefox/Iceweasel ===&lt;br /&gt;
&lt;br /&gt;
The keyboard can be summoned by hitting the volume-up key while the cursor is in a text field (such as the URL bar).&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1349</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1349"/>
		<updated>2022-08-15T22:45:39Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* From the booted microSD */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== Preparing the .img file for eMMC boot ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Install Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== Install from the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
=== Make keyboard show on Firefox/Iceweasel ===&lt;br /&gt;
&lt;br /&gt;
The keyboard can be summoned by hitting the volume-up key while the cursor is in a text field (such as the URL bar).&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1348</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1348"/>
		<updated>2022-08-15T22:45:16Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Using JumpDrive */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== Preparing the .img file for eMMC boot ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Install Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== From the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
=== Make keyboard show on Firefox/Iceweasel ===&lt;br /&gt;
&lt;br /&gt;
The keyboard can be summoned by hitting the volume-up key while the cursor is in a text field (such as the URL bar).&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1347</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1347"/>
		<updated>2022-08-15T22:44:59Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Using Tow-Boot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== Preparing the .img file for eMMC boot ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== From the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
=== Make keyboard show on Firefox/Iceweasel ===&lt;br /&gt;
&lt;br /&gt;
The keyboard can be summoned by hitting the volume-up key while the cursor is in a text field (such as the URL bar).&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1346</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1346"/>
		<updated>2022-08-15T22:44:18Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* From microSD card */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== Preparing the .img file for eMMC boot ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== From the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
=== Make keyboard show on Firefox/Iceweasel ===&lt;br /&gt;
&lt;br /&gt;
The keyboard can be summoned by hitting the volume-up key while the cursor is in a text field (such as the URL bar).&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1345</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1345"/>
		<updated>2022-08-15T22:41:14Z</updated>

		<summary type="html">&lt;p&gt;Auanta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== From microSD card ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== From the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
=== Make keyboard show on Firefox/Iceweasel ===&lt;br /&gt;
&lt;br /&gt;
The keyboard can be summoned by hitting the volume-up key while the cursor is in a text field (such as the URL bar).&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1344</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1344"/>
		<updated>2022-08-15T22:36:49Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* eMMC Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]&#039;&#039;&#039;.&lt;br /&gt;
==== From microSD card ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== From the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1343</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1343"/>
		<updated>2022-08-15T22:36:07Z</updated>

		<summary type="html">&lt;p&gt;Auanta: reorganizing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Some notes have been adapted from the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
==== From microSD card ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== From the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1342</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1342"/>
		<updated>2022-08-15T22:33:27Z</updated>

		<summary type="html">&lt;p&gt;Auanta: Formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
==== From microSD card ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Modify the image to use eMMC paths. &#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Using Tow-Boot ====&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
==== Using JumpDrive ====&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
==== From the booted microSD ====&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1341</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1341"/>
		<updated>2022-08-15T22:30:12Z</updated>

		<summary type="html">&lt;p&gt;Auanta: formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1340</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1340"/>
		<updated>2022-08-15T22:25:49Z</updated>

		<summary type="html">&lt;p&gt;Auanta: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
=== Make apps show up on desktop ===&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1339</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1339"/>
		<updated>2022-08-15T22:25:04Z</updated>

		<summary type="html">&lt;p&gt;Auanta: tip: desktop icons for apps&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
== Make apps show up on desktop ==&lt;br /&gt;
&lt;br /&gt;
Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons pre-configured and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop, see ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1338</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1338"/>
		<updated>2022-08-15T22:23:16Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Installing apps */ moving to new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
* Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
* There is also the app store.&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1337</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1337"/>
		<updated>2022-08-15T22:22:01Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Launching apps (such as Firefox/Iceweasel) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
There is also the app store.&lt;br /&gt;
&lt;br /&gt;
Note: Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
=== Launching apps ===&lt;br /&gt;
&lt;br /&gt;
This works for any app. Say for instance, you want to run Iceweasel/Firefox:&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1336</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1336"/>
		<updated>2022-08-15T22:20:31Z</updated>

		<summary type="html">&lt;p&gt;Auanta: adding some tips&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
=== Installing apps ===&lt;br /&gt;
&lt;br /&gt;
Apps can be installed just as on any Devuan system with:&lt;br /&gt;
 $ sudo apt install &#039;&#039;package-name&#039;&#039;&lt;br /&gt;
There is also the app store.&lt;br /&gt;
&lt;br /&gt;
Note: Apps installed via apt, or otherwise not installed from the app store, don&#039;t come with desktop icons and so won&#039;t show up on the desktop. If you want desktop icons for your apps, you have to edit .desktop files for the apps you want to show up on the desktop ([https://wiki.archlinux.org/title/Desktop_entries examples])&lt;br /&gt;
&lt;br /&gt;
=== Launching apps (such as Firefox/Iceweasel) ===&lt;br /&gt;
&lt;br /&gt;
* Launch apps from the desktop&lt;br /&gt;
* Launch apps from your console:&lt;br /&gt;
 $ iceweasel &amp;amp;&lt;br /&gt;
* Install a universal app launcher that you can run from desktop:&lt;br /&gt;
 $ sudo apt install desktop-cmd-exec&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Main_Page&amp;diff=1335</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Main_Page&amp;diff=1335"/>
		<updated>2022-08-15T21:49:34Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Description */ formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
&lt;br /&gt;
Welcome to the Maemo Leste wiki; Maemo Leste continues the legacy of Maemo Fremantle. We aim to provide a free Maemo experience on mobile phones and tablets like the Nokia N900, Motorola Droid 4, PinePhone, Allwinner Tablets and more.&lt;br /&gt;
&lt;br /&gt;
You can find us on &#039;&#039;&#039;irc.libera.chat&#039;&#039;&#039;, channel &#039;&#039;&#039;#maemo-leste&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For an overview of the current status, you might want to check out: [[Status]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is based on Devuan Beowulf (Debian Buster) and all the &amp;quot;supported&amp;quot; devices ship with recent Linux (mainline-based) kernels.&lt;br /&gt;
&lt;br /&gt;
The project is currently not usable as a daily driver for your device. Maemo Leste is currently in development phase and we are actively searching for developers.&lt;br /&gt;
&lt;br /&gt;
For some devices, we have development images available, such as the [[Nokia_N900]], the [[Motorola Droid 4]] and the [[PinePhone]]. So far we have set up Devuan/Debian repositories for our packages, with builds for armhf, arm64 and amd64. We have FOSS replacements for some closed Maemo packages, further building on the Maemo community efforts to replace all closed bits by open software.&lt;br /&gt;
&lt;br /&gt;
If you have not used Maemo before, you might want to check out some of the tips on the [[HowTo]] page.&lt;br /&gt;
&lt;br /&gt;
== Useful resources, lists and pages ==&lt;br /&gt;
&lt;br /&gt;
* To get started with a new install, see [[Getting_Started|Getting Started]].&lt;br /&gt;
* Read our [[Leste_FAQ|Frequently Asked Questions]]&lt;br /&gt;
* List of [[:Category:Device]] with support to varying degrees&lt;br /&gt;
* Latest downloadable images: https://phoenix.maemo.org/view/Images/&lt;br /&gt;
* List of &amp;quot;extras&amp;quot; software packages that have a wiki page: https://leste.maemo.org/Category:Extras&lt;br /&gt;
* Read how to get started with [[Development]]&lt;br /&gt;
* You have an application you want to see in Leste? Please let us know [[Wishlist|here]].&lt;br /&gt;
* For a list of presentations/talks featuring Maemo Leste, see [[Talks]]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
The central point of meeting and talking is &#039;&#039;&#039;IRC&#039;&#039;&#039; (&#039;&#039;&#039;irc.libera.chat&#039;&#039;&#039; in &#039;&#039;&#039;#maemo-leste&#039;&#039;&#039;) and this thread: https://talk.maemo.org/showthread.php?t=100192.&lt;br /&gt;
&lt;br /&gt;
* Our Blog: [https://maemo-leste.github.io https://maemo-leste.github.io]&lt;br /&gt;
&lt;br /&gt;
* Our Bugtracker: [https://github.com/maemo-leste/bugtracker/issues https://github.com/maemo-leste/bugtracker/issues]&lt;br /&gt;
&lt;br /&gt;
* Our Github: [https://github.com/maemo-leste/ https://github.com/maemo-leste/]&lt;br /&gt;
&lt;br /&gt;
* Our Github subdomain: [https://maemo-leste.github.io/ https://maemo-leste.github.io/]&lt;br /&gt;
&lt;br /&gt;
* Our Extras Github: [https://github.com/maemo-leste-extras/ https://github.com/maemo-leste-extras/]&lt;br /&gt;
&lt;br /&gt;
* Our Images: [http://maedevu.maemo.org/images/ http://maedevu.maemo.org/images/] and https://phoenix.maemo.org/view/Images/&lt;br /&gt;
&lt;br /&gt;
* Our Jenkins build server: [https://phoenix.maemo.org/ https://phoenix.maemo.org/]&lt;br /&gt;
&lt;br /&gt;
* Our IRC chat history: [http://maedevu.maemo.org/irc.txt http://maedevu.maemo.org/irc.txt] and https://libera.irclog.whitequark.org/maemo-leste/ (previously: https://freenode.irclog.whitequark.org/maemo-leste/)&lt;br /&gt;
&lt;br /&gt;
* Our YouTube channel: [https://www.youtube.com/channel/UCgAWiHvWSuJAg5hjk7JYn1w https://www.youtube.com/channel/UCgAWiHvWSuJAg5hjk7JYn1w] (via [https://www.invidio.us/channel/UCgAWiHvWSuJAg5hjk7JYn1w Invidious] )&lt;br /&gt;
&lt;br /&gt;
* Our Package index and info: [https://maedevu.maemo.org/pkgweb/ https://maedevu.maemo.org/pkgweb/] which runs [https://github.com/maemo-leste/mpi https://github.com/maemo-leste/mpi]&lt;br /&gt;
&lt;br /&gt;
* Mailing List: [https://lists.dyne.org/lurker/list/maemo-leste.en.html https://lists.dyne.org/lurker/list/maemo-leste.en.html]&lt;br /&gt;
&lt;br /&gt;
* Our Forum [https://talk.maemo.org/forumdisplay.php?f=66 https://talk.maemo.org/forumdisplay.php?f=66]&lt;br /&gt;
&lt;br /&gt;
* RSS feed: [https://maemo-leste.github.io/feeds/all.atom.xml https://maemo-leste.github.io/feeds/all.atom.xml]&lt;br /&gt;
&lt;br /&gt;
* Our Twitter: [https://twitter.com/maemoleste @maemoleste]&lt;br /&gt;
&lt;br /&gt;
* Distrowatch: [https://distrowatch.com/dwres.php?resource=submit Maemo Leste] (give us an upvote)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Main_Page&amp;diff=1334</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Main_Page&amp;diff=1334"/>
		<updated>2022-08-15T21:43:34Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Links */ formatting (make it eye catching)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description =&lt;br /&gt;
&lt;br /&gt;
Welcome to the Maemo Leste wiki; Maemo Leste continues the legacy of Maemo Fremantle. We aim to provide a free Maemo experience on mobile phones and tablets like the Nokia N900, Motorola Droid 4, PinePhone, Allwinner Tablets and more.&lt;br /&gt;
&lt;br /&gt;
You can find us on &#039;&#039;&#039;irc.libera.chat&#039;&#039;&#039;, channel &#039;&#039;&#039;#maemo-leste&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For an overview of the current status, you might want to check out: [[Status]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is based on Devuan Beowulf (Debian Buster) and all the &amp;quot;supported&amp;quot; devices ship with recent Linux (mainline-based) kernels.&lt;br /&gt;
&lt;br /&gt;
The project is currently not usable as a daily driver for your device. Maemo Leste is currently in development phase and we are actively searching for developers.&lt;br /&gt;
&lt;br /&gt;
For some devices, we have development images available, such as the [[Nokia_N900]], the [[Motorola Droid 4]] and the [[PinePhone]]. So far we have set up Devuan/Debian repositories for our packages, with builds for armhf, arm64 and amd64. We have FOSS replacements for some closed Maemo packages, further building on the Maemo community efforts to replace all closed bits by open software.&lt;br /&gt;
&lt;br /&gt;
If you have not used Maemo before, you might want to check out some of the tips on the [[HowTo]] page.&lt;br /&gt;
&lt;br /&gt;
== Useful resources, lists and pages ==&lt;br /&gt;
&lt;br /&gt;
* To get started with a new install, see [[Getting_Started|Getting Started]].&lt;br /&gt;
* Read our [[Leste_FAQ|Frequently Asked Questions]]&lt;br /&gt;
* List of [[:Category:Device]] with support to varying degrees&lt;br /&gt;
* Latest downloadable images: https://phoenix.maemo.org/view/Images/&lt;br /&gt;
* List of &amp;quot;extras&amp;quot; software packages that have a wiki page: https://leste.maemo.org/Category:Extras&lt;br /&gt;
* Read how to get started with [[Development]]&lt;br /&gt;
* You have an application you want to see in Leste? Please let us know [[Wishlist|here]].&lt;br /&gt;
* For a list of presentations/talks featuring Maemo Leste, see [[Talks]]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
The central point of meeting and talking is &#039;&#039;&#039;IRC&#039;&#039;&#039; (&#039;&#039;&#039;irc.libera.chat&#039;&#039;&#039; in &#039;&#039;&#039;#maemo-leste&#039;&#039;&#039;) and this thread: https://talk.maemo.org/showthread.php?t=100192.&lt;br /&gt;
&lt;br /&gt;
* Our Blog: [https://maemo-leste.github.io https://maemo-leste.github.io]&lt;br /&gt;
&lt;br /&gt;
* Our Bugtracker: [https://github.com/maemo-leste/bugtracker/issues https://github.com/maemo-leste/bugtracker/issues]&lt;br /&gt;
&lt;br /&gt;
* Our Github: [https://github.com/maemo-leste/ https://github.com/maemo-leste/]&lt;br /&gt;
&lt;br /&gt;
* Our Github subdomain: [https://maemo-leste.github.io/ https://maemo-leste.github.io/]&lt;br /&gt;
&lt;br /&gt;
* Our Extras Github: [https://github.com/maemo-leste-extras/ https://github.com/maemo-leste-extras/]&lt;br /&gt;
&lt;br /&gt;
* Our Images: [http://maedevu.maemo.org/images/ http://maedevu.maemo.org/images/] and https://phoenix.maemo.org/view/Images/&lt;br /&gt;
&lt;br /&gt;
* Our Jenkins build server: [https://phoenix.maemo.org/ https://phoenix.maemo.org/]&lt;br /&gt;
&lt;br /&gt;
* Our IRC chat history: [http://maedevu.maemo.org/irc.txt http://maedevu.maemo.org/irc.txt] and https://libera.irclog.whitequark.org/maemo-leste/ (previously: https://freenode.irclog.whitequark.org/maemo-leste/)&lt;br /&gt;
&lt;br /&gt;
* Our YouTube channel: [https://www.youtube.com/channel/UCgAWiHvWSuJAg5hjk7JYn1w https://www.youtube.com/channel/UCgAWiHvWSuJAg5hjk7JYn1w] (via [https://www.invidio.us/channel/UCgAWiHvWSuJAg5hjk7JYn1w Invidious] )&lt;br /&gt;
&lt;br /&gt;
* Our Package index and info: [https://maedevu.maemo.org/pkgweb/ https://maedevu.maemo.org/pkgweb/] which runs [https://github.com/maemo-leste/mpi https://github.com/maemo-leste/mpi]&lt;br /&gt;
&lt;br /&gt;
* Mailing List: [https://lists.dyne.org/lurker/list/maemo-leste.en.html https://lists.dyne.org/lurker/list/maemo-leste.en.html]&lt;br /&gt;
&lt;br /&gt;
* Our Forum [https://talk.maemo.org/forumdisplay.php?f=66 https://talk.maemo.org/forumdisplay.php?f=66]&lt;br /&gt;
&lt;br /&gt;
* RSS feed: [https://maemo-leste.github.io/feeds/all.atom.xml https://maemo-leste.github.io/feeds/all.atom.xml]&lt;br /&gt;
&lt;br /&gt;
* Our Twitter: [https://twitter.com/maemoleste @maemoleste]&lt;br /&gt;
&lt;br /&gt;
* Distrowatch: [https://distrowatch.com/dwres.php?resource=submit Maemo Leste] (give us an upvote)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Main_Page&amp;diff=1333</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Main_Page&amp;diff=1333"/>
		<updated>2022-08-15T21:35:36Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description =&lt;br /&gt;
&lt;br /&gt;
Welcome to the Maemo Leste wiki; Maemo Leste continues the legacy of Maemo Fremantle. We aim to provide a free Maemo experience on mobile phones and tablets like the Nokia N900, Motorola Droid 4, PinePhone, Allwinner Tablets and more.&lt;br /&gt;
&lt;br /&gt;
You can find us on &#039;&#039;&#039;irc.libera.chat&#039;&#039;&#039;, channel &#039;&#039;&#039;#maemo-leste&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For an overview of the current status, you might want to check out: [[Status]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is based on Devuan Beowulf (Debian Buster) and all the &amp;quot;supported&amp;quot; devices ship with recent Linux (mainline-based) kernels.&lt;br /&gt;
&lt;br /&gt;
The project is currently not usable as a daily driver for your device. Maemo Leste is currently in development phase and we are actively searching for developers.&lt;br /&gt;
&lt;br /&gt;
For some devices, we have development images available, such as the [[Nokia_N900]], the [[Motorola Droid 4]] and the [[PinePhone]]. So far we have set up Devuan/Debian repositories for our packages, with builds for armhf, arm64 and amd64. We have FOSS replacements for some closed Maemo packages, further building on the Maemo community efforts to replace all closed bits by open software.&lt;br /&gt;
&lt;br /&gt;
If you have not used Maemo before, you might want to check out some of the tips on the [[HowTo]] page.&lt;br /&gt;
&lt;br /&gt;
== Useful resources, lists and pages ==&lt;br /&gt;
&lt;br /&gt;
* To get started with a new install, see [[Getting_Started|Getting Started]].&lt;br /&gt;
* Read our [[Leste_FAQ|Frequently Asked Questions]]&lt;br /&gt;
* List of [[:Category:Device]] with support to varying degrees&lt;br /&gt;
* Latest downloadable images: https://phoenix.maemo.org/view/Images/&lt;br /&gt;
* List of &amp;quot;extras&amp;quot; software packages that have a wiki page: https://leste.maemo.org/Category:Extras&lt;br /&gt;
* Read how to get started with [[Development]]&lt;br /&gt;
* You have an application you want to see in Leste? Please let us know [[Wishlist|here]].&lt;br /&gt;
* For a list of presentations/talks featuring Maemo Leste, see [[Talks]]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
The &#039;&#039;&#039;central point of meeting and talking&#039;&#039;&#039; is IRC (irc.libera.chat in #maemo-leste) and this thread: https://talk.maemo.org/showthread.php?t=100192.&lt;br /&gt;
&lt;br /&gt;
* Our Blog: [https://maemo-leste.github.io https://maemo-leste.github.io]&lt;br /&gt;
&lt;br /&gt;
* Our Bugtracker: [https://github.com/maemo-leste/bugtracker/issues https://github.com/maemo-leste/bugtracker/issues]&lt;br /&gt;
&lt;br /&gt;
* Our Github: [https://github.com/maemo-leste/ https://github.com/maemo-leste/]&lt;br /&gt;
&lt;br /&gt;
* Our Github subdomain: [https://maemo-leste.github.io/]&lt;br /&gt;
&lt;br /&gt;
* Our Extras Github: [https://github.com/maemo-leste-extras/ https://github.com/maemo-leste-extras/]&lt;br /&gt;
&lt;br /&gt;
* Our Images: [http://maedevu.maemo.org/images/ http://maedevu.maemo.org/images/] and https://phoenix.maemo.org/view/Images/&lt;br /&gt;
&lt;br /&gt;
* Our Jenkins build server: [https://phoenix.maemo.org/ https://phoenix.maemo.org/]&lt;br /&gt;
&lt;br /&gt;
* Our IRC chat history: [http://maedevu.maemo.org/irc.txt http://maedevu.maemo.org/irc.txt] and https://libera.irclog.whitequark.org/maemo-leste/ (previously: https://freenode.irclog.whitequark.org/maemo-leste/)&lt;br /&gt;
&lt;br /&gt;
* Our YouTube channel: [https://www.youtube.com/channel/UCgAWiHvWSuJAg5hjk7JYn1w https://www.youtube.com/channel/UCgAWiHvWSuJAg5hjk7JYn1w] (via [https://www.invidio.us/channel/UCgAWiHvWSuJAg5hjk7JYn1w Invidious] )&lt;br /&gt;
&lt;br /&gt;
* Our Package index and info: [https://maedevu.maemo.org/pkgweb/ https://maedevu.maemo.org/pkgweb/] which runs [https://github.com/maemo-leste/mpi https://github.com/maemo-leste/mpi]&lt;br /&gt;
&lt;br /&gt;
* Mailing List: [https://lists.dyne.org/lurker/list/maemo-leste.en.html https://lists.dyne.org/lurker/list/maemo-leste.en.html]&lt;br /&gt;
&lt;br /&gt;
* Our Forum [https://talk.maemo.org/forumdisplay.php?f=66]&lt;br /&gt;
&lt;br /&gt;
* RSS feed: [https://maemo-leste.github.io/feeds/all.atom.xml https://maemo-leste.github.io/feeds/all.atom.xml]&lt;br /&gt;
&lt;br /&gt;
* Our Twitter: [https://twitter.com/maemoleste @maemoleste]&lt;br /&gt;
&lt;br /&gt;
* [https://distrowatch.com/dwres.php?resource=submit Maemo Leste on Distrowatch (voting)]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Main_Page&amp;diff=1332</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Main_Page&amp;diff=1332"/>
		<updated>2022-08-15T21:35:13Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Links */ reorganized, formatting, add a couple links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description =&lt;br /&gt;
&lt;br /&gt;
Welcome to the Maemo Leste wiki; Maemo Leste continues the legacy of Maemo Fremantle. We aim to provide a free Maemo experience on mobile phones and tablets like the Nokia N900, Motorola Droid 4, PinePhone, Allwinner Tablets and more.&lt;br /&gt;
&lt;br /&gt;
You can find us on &#039;&#039;&#039;irc.libera.chat&#039;&#039;&#039;, channel &#039;&#039;&#039;#maemo-leste&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For an overview of the current status, you might want to check out: [[Status]]&lt;br /&gt;
&lt;br /&gt;
Maemo Leste is based on Devuan Beowulf (Debian Buster) and all the &amp;quot;supported&amp;quot; devices ship with recent Linux (mainline-based) kernels.&lt;br /&gt;
&lt;br /&gt;
The project is currently not usable as a daily driver for your device. Maemo Leste is currently in development phase and we are actively searching for developers.&lt;br /&gt;
&lt;br /&gt;
For some devices, we have development images available, such as the [[Nokia_N900]], the [[Motorola Droid 4]] and the [[PinePhone]]. So far we have set up Devuan/Debian repositories for our packages, with builds for armhf, arm64 and amd64. We have FOSS replacements for some closed Maemo packages, further building on the Maemo community efforts to replace all closed bits by open software.&lt;br /&gt;
&lt;br /&gt;
If you have not used Maemo before, you might want to check out some of the tips on the [[HowTo]] page.&lt;br /&gt;
&lt;br /&gt;
== Useful resources, lists and pages ==&lt;br /&gt;
&lt;br /&gt;
* To get started with a new install, see [[Getting_Started|Getting Started]].&lt;br /&gt;
* Read our [[Leste_FAQ|Frequently Asked Questions]]&lt;br /&gt;
* List of [[:Category:Device]] with support to varying degrees&lt;br /&gt;
* Latest downloadable images: https://phoenix.maemo.org/view/Images/&lt;br /&gt;
* List of &amp;quot;extras&amp;quot; software packages that have a wiki page: https://leste.maemo.org/Category:Extras&lt;br /&gt;
* Read how to get started with [[Development]]&lt;br /&gt;
* You have an application you want to see in Leste? Please let us know [[Wishlist|here]].&lt;br /&gt;
* For a list of presentations/talks featuring Maemo Leste, see [[Talks]]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
** [https://leste.maemo.org/Leste_FAQ Maemo Leste FAQ]&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
The &#039;&#039;&#039;central point of meeting and talking&#039;&#039;&#039; is IRC (irc.libera.chat in #maemo-leste) and this thread: https://talk.maemo.org/showthread.php?t=100192.&lt;br /&gt;
&lt;br /&gt;
* Our Blog: [https://maemo-leste.github.io https://maemo-leste.github.io]&lt;br /&gt;
&lt;br /&gt;
* Our Bugtracker: [https://github.com/maemo-leste/bugtracker/issues https://github.com/maemo-leste/bugtracker/issues]&lt;br /&gt;
&lt;br /&gt;
* Our Github: [https://github.com/maemo-leste/ https://github.com/maemo-leste/]&lt;br /&gt;
&lt;br /&gt;
* Our Github subdomain: [https://maemo-leste.github.io/]&lt;br /&gt;
&lt;br /&gt;
* Our Extras Github: [https://github.com/maemo-leste-extras/ https://github.com/maemo-leste-extras/]&lt;br /&gt;
&lt;br /&gt;
* Our Images: [http://maedevu.maemo.org/images/ http://maedevu.maemo.org/images/] and https://phoenix.maemo.org/view/Images/&lt;br /&gt;
&lt;br /&gt;
* Our Jenkins build server: [https://phoenix.maemo.org/ https://phoenix.maemo.org/]&lt;br /&gt;
&lt;br /&gt;
* Our IRC chat history: [http://maedevu.maemo.org/irc.txt http://maedevu.maemo.org/irc.txt] and https://libera.irclog.whitequark.org/maemo-leste/ (previously: https://freenode.irclog.whitequark.org/maemo-leste/)&lt;br /&gt;
&lt;br /&gt;
* Our YouTube channel: [https://www.youtube.com/channel/UCgAWiHvWSuJAg5hjk7JYn1w https://www.youtube.com/channel/UCgAWiHvWSuJAg5hjk7JYn1w] (via [https://www.invidio.us/channel/UCgAWiHvWSuJAg5hjk7JYn1w Invidious] )&lt;br /&gt;
&lt;br /&gt;
* Our Package index and info: [https://maedevu.maemo.org/pkgweb/ https://maedevu.maemo.org/pkgweb/] which runs [https://github.com/maemo-leste/mpi https://github.com/maemo-leste/mpi]&lt;br /&gt;
&lt;br /&gt;
* Mailing List: [https://lists.dyne.org/lurker/list/maemo-leste.en.html https://lists.dyne.org/lurker/list/maemo-leste.en.html]&lt;br /&gt;
&lt;br /&gt;
* Our Forum [https://talk.maemo.org/forumdisplay.php?f=66]&lt;br /&gt;
&lt;br /&gt;
* RSS feed: [https://maemo-leste.github.io/feeds/all.atom.xml https://maemo-leste.github.io/feeds/all.atom.xml]&lt;br /&gt;
&lt;br /&gt;
* Our Twitter: [https://twitter.com/maemoleste @maemoleste]&lt;br /&gt;
&lt;br /&gt;
* [https://distrowatch.com/dwres.php?resource=submit Maemo Leste on Distrowatch (voting)]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1331</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1331"/>
		<updated>2022-08-15T20:57:38Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Status */ moved section closer to status/functionality&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1330</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1330"/>
		<updated>2022-08-15T20:56:04Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* More Information */ moving this section to the status section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1329</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1329"/>
		<updated>2022-08-15T20:53:47Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues or learn how to help out with the project.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1328</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1328"/>
		<updated>2022-08-15T20:52:25Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Notes */ Maemo how to contact&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images to test.] &#039;&#039;&#039; Please [[Main_Page#Links|get in touch with us]] to report any issues.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1327</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1327"/>
		<updated>2022-08-15T20:47:07Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Status */ moved functionality summary to this section from Notes for coherence&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images.] &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Currently, most things work, for example you can:&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1326</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1326"/>
		<updated>2022-08-15T20:44:06Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Notes */ moving functionality back to the other section about functionality&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Go here for &#039;&#039;&#039;[https://maedevu.maemo.org/images/pinephone/ latest images.] &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1325</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1325"/>
		<updated>2022-08-15T20:40:37Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Install image to eMMC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; [https://maedevu.maemo.org/images/pinephone/ Testing images repo.] &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; What you can do with the 20220206 image:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently &#039;&#039;&#039;not working&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1324</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1324"/>
		<updated>2022-08-15T20:39:50Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Modify the image to use eMMC paths */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; [https://maedevu.maemo.org/images/pinephone/ Testing images repo.] &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; What you can do with the 20220206 image:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning&#039;&#039;&#039;, this &#039;&#039;&#039;no longer works&#039;&#039;&#039; in latest images since boot.txt was removed. Please update this section.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently not working, needs testing&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1323</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1323"/>
		<updated>2022-08-15T20:38:19Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* eMMC Installation */ moved warning&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; [https://maedevu.maemo.org/images/pinephone/ Testing images repo.] &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; What you can do with the 20220206 image:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning, this no longer works in latest images since boot.txt was removed. Please update this section.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently not working, needs testing&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1322</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1322"/>
		<updated>2022-08-15T20:36:26Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Installation */ trimmed unnecessary cruft at top&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; [https://maedevu.maemo.org/images/pinephone/ Testing images repo.] &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; What you can do with the 20220206 image:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare the output. If they do not match, stop and ask someone in the project for help. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning, this no longer works in latest images since boot.txt was removed. Please improve this section.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently not working, needs testing&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1321</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1321"/>
		<updated>2022-08-15T20:29:57Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Prepare the SD card */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; [https://maedevu.maemo.org/images/pinephone/ Testing images repo.] &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; What you can do with the 20220206 image:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
(Work in Progress)&lt;br /&gt;
&lt;br /&gt;
Currently: &lt;br /&gt;
* working out how to install .tar.gz&lt;br /&gt;
&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
Download the image and the corresponding &amp;lt;code&amp;gt;.sha&amp;lt;/code&amp;gt; file, then verify the image&#039;s integrity:&lt;br /&gt;
&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.sha&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.tar.gz.sha&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.tar.gz&lt;br /&gt;
&lt;br /&gt;
Verify that the number that each command spits out is exactly the same number. If it is not, do not use the image. Try redownloading or ask for help.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
# press &#039;p&#039; to view current table&lt;br /&gt;
# press &#039;o&#039; to erase and make a new table&lt;br /&gt;
# press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare results. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning, this no longer works in latest images since boot.txt was removed. Please improve this section.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently not working, needs testing&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1320</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1320"/>
		<updated>2022-08-15T20:29:19Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Write the image to an SD-Card. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; [https://maedevu.maemo.org/images/pinephone/ Testing images repo.] &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; What you can do with the 20220206 image:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
(Work in Progress)&lt;br /&gt;
&lt;br /&gt;
Currently: &lt;br /&gt;
* working out how to install .tar.gz&lt;br /&gt;
&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
Download the image and the corresponding &amp;lt;code&amp;gt;.sha&amp;lt;/code&amp;gt; file, then verify the image&#039;s integrity:&lt;br /&gt;
&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.sha&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.tar.gz.sha&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.tar.gz&lt;br /&gt;
&lt;br /&gt;
Verify that the number that each command spits out is exactly the same number. If it is not, do not use the image. Try redownloading or ask for help.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
press &#039;p&#039; to view current table&lt;br /&gt;
press &#039;o&#039; to erase and make a new table&lt;br /&gt;
press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image and the associated checksum file from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare results. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
Write the image to microSD. &#039;&#039;&#039;&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning, this no longer works in latest images since boot.txt was removed. Please improve this section.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently not working, needs testing&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1319</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1319"/>
		<updated>2022-08-15T20:24:46Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Write the image to an SD-Card. */ add checksum instructions, formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; [https://maedevu.maemo.org/images/pinephone/ Testing images repo.] &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; What you can do with the 20220206 image:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
(Work in Progress)&lt;br /&gt;
&lt;br /&gt;
Currently: &lt;br /&gt;
* working out how to install .tar.gz&lt;br /&gt;
&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
Download the image and the corresponding &amp;lt;code&amp;gt;.sha&amp;lt;/code&amp;gt; file, then verify the image&#039;s integrity:&lt;br /&gt;
&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.sha&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.tar.gz.sha&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.tar.gz&lt;br /&gt;
&lt;br /&gt;
Verify that the number that each command spits out is exactly the same number. If it is not, do not use the image. Try redownloading or ask for help.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
press &#039;p&#039; to view current table&lt;br /&gt;
press &#039;o&#039; to erase and make a new table&lt;br /&gt;
press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;DO NOT&#039;&#039; copy-paste these instructions.&lt;br /&gt;
&lt;br /&gt;
Download the latest image from [https://maedevu.maemo.org/images/pinephone/ here] and the associated checksum file. &lt;br /&gt;
&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;IMAGE FILE&#039;&#039;&lt;br /&gt;
 $ wget https://maedevu.maemo.org/images/pinephone/&#039;&#039;DATE&#039;&#039;/&#039;&#039;CHECKSUM FILE&#039;&#039;&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.xz.sha56&lt;br /&gt;
Compare results. If the checksums match, extract the image:&lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;You can use Gnome Disks, gparted, [https://etcher.io/ Etcher], etc...your choice. Again, as with all of these tools, be careful to select the microSD card not your computer hard drive.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning, this no longer works in latest images since boot.txt was removed. Please improve this section.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently not working, needs testing&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1318</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1318"/>
		<updated>2022-08-15T20:15:29Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* SD Card Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; [https://maedevu.maemo.org/images/pinephone/ Testing images repo.] &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; What you can do with the 20220206 image:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
(Work in Progress)&lt;br /&gt;
&lt;br /&gt;
Currently: &lt;br /&gt;
* working out how to install .tar.gz&lt;br /&gt;
&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
Download the image and the corresponding &amp;lt;code&amp;gt;.sha&amp;lt;/code&amp;gt; file, then verify the image&#039;s integrity:&lt;br /&gt;
&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.sha&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.tar.gz.sha&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.tar.gz&lt;br /&gt;
&lt;br /&gt;
Verify that the number that each command spits out is exactly the same number. If it is not, do not use the image. Try redownloading or ask for help.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
 $ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
press &#039;p&#039; to view current table&lt;br /&gt;
press &#039;o&#039; to erase and make a new table&lt;br /&gt;
press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
Download the latest image from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;If using a Windows machine, you can use [https://etcher.io/ Etcher] NOTE: Etcher does not warn you before starting the flashing operation, so please be extra careful that you choose the correct device to flash to.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning, this no longer works in latest images since boot.txt was removed. Please improve this section.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently not working, needs testing&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1317</id>
		<title>PinePhone</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=PinePhone&amp;diff=1317"/>
		<updated>2022-08-15T20:14:54Z</updated>

		<summary type="html">&lt;p&gt;Auanta: /* Write the image to an SD-Card. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=&lt;br /&gt;
|manufacturer=Pine64&lt;br /&gt;
|codename=&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=Allwinner A64&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is for all PinePhones starting with the first Pinephone (Braveheart) phone, but not for the PinePhone Pro. &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; [https://maedevu.maemo.org/images/pinephone/ Testing images repo.] &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; What you can do with the 20220206 image:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Run any applications in Debian and Devuan on your phone&lt;br /&gt;
* Connect to wifi&lt;br /&gt;
* Use the terminal&lt;br /&gt;
* Connect to 2G/3G/4G data connections&lt;br /&gt;
* Make and receive phone calls and SMS&lt;br /&gt;
* PinePhone keyboard is supported&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.15 || Mainline + some patches: https://github.com/maemo-leste/pine64-kernel&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || Via headphone jack (disable headphone switch)&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes || Involves installing out of tree driver&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A || ps: USB Ethernet adapter tested and works&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || YES || No UI integration yet&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || TX only (hardware limitation). &lt;br /&gt;
|-&lt;br /&gt;
| USB C || Yes || Peripheral/slave, exposes network gadget by default. Host Untested&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard || Yes || When a PP keyboard is connected, it works out-of-the-box&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes || Modesetting driver&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || mesa-lima&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Pulseaudio and UCM units&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G/4G data || YES || Works with ofono;&lt;br /&gt;
|-&lt;br /&gt;
| SMS || YES || Works with ofono, will using telepathy-ring. Sphone and Conversations are currently available&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || YES || Works with ofono; Calls work with sphone as UI&lt;br /&gt;
|-&lt;br /&gt;
| VoLTE || YES || Quectel EG25 has VoLTE support, no userland required, but setting VoLTE profile might be needed&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || Yes || &lt;br /&gt;
|-&lt;br /&gt;
| RGB LED || WIP || Works, but mce can&#039;t deal with LEDs without controllers yet.&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| GPS || WIP || Works with WIP Leste GPS stack&lt;br /&gt;
|-&lt;br /&gt;
| Cameras || WIP || Driver present for rear (OV5640) and front (GC2145) cameras. User space support in progress with libcamera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
(Work in Progress)&lt;br /&gt;
&lt;br /&gt;
Currently: &lt;br /&gt;
* working out how to install .tar.gz&lt;br /&gt;
&lt;br /&gt;
Unlike most phones, it&#039;s pretty simple.&lt;br /&gt;
&lt;br /&gt;
Download the image and the corresponding &amp;lt;code&amp;gt;.sha&amp;lt;/code&amp;gt; file, then verify the image&#039;s integrity:&lt;br /&gt;
&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.img.sha&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 $ cat maemo-leste-*-arm64-pinephone-*.tar.gz.sha&lt;br /&gt;
 $ sha256sum maemo-leste-*-arm64-pinephone-*.tar.gz&lt;br /&gt;
&lt;br /&gt;
Verify that the number that each command spits out is exactly the same number. If it is not, do not use the image. Try redownloading or ask for help.&lt;br /&gt;
&lt;br /&gt;
=== SD Card Installation ===&lt;br /&gt;
==== Prepare the SD card ====&lt;br /&gt;
&lt;br /&gt;
# Create a new msdos partition table using fdisk&lt;br /&gt;
&lt;br /&gt;
$ sudo fdisk /dev/&#039;&#039;SDCARD&#039;&#039; &lt;br /&gt;
press &#039;p&#039; to view current table&lt;br /&gt;
press &#039;o&#039; to erase and make a new table&lt;br /&gt;
press &#039;w&#039; to write changes and quit&lt;br /&gt;
&lt;br /&gt;
==== Write the image to an SD-Card. ====&lt;br /&gt;
&lt;br /&gt;
# Download the latest image from [https://maedevu.maemo.org/images/pinephone/ here]. &lt;br /&gt;
 $ unxz maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&#039;&#039;Be very careful with this step (read warnings below).&#039;&#039;&lt;br /&gt;
 $ dd if=maemo-leste-*-arm64-pinephone-*.img /path/to/sd-card bs=4M status=progress conv=fsync&lt;br /&gt;
Block size set to 4M will work most of the time. If not, try 1M, although this will take considerably longer.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;If using a Windows machine, you can use [https://etcher.io/ Etcher] NOTE: Etcher does not warn you before starting the flashing operation, so please be extra careful that you choose the correct device to flash to.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Make absolutely sure you replace the input file &amp;lt;code&amp;gt;if=&amp;lt;/code&amp;gt; argument with the path to your file, and the &amp;lt;code&amp;gt;/dev/sdX&amp;lt;/code&amp;gt; in the output file &amp;lt;code&amp;gt;of=&amp;lt;/code&amp;gt; argument with the correct device name. This is very important, as you will lose all the data on the device you selected, make sure it is the correct one.&amp;lt;/small&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;Do not use partition numbers, or it won&#039;t boot. For example: sdd, not sdds1 or sddp1; mmcblk0, not mmcblk0p1. In most cases with SD cards, your computer might read the SD card as mmcblk0 or something similar.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== eMMC Installation ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Warning, this no longer works in latest images since boot.txt was removed. Please improve this section.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Extract the image ====&lt;br /&gt;
&lt;br /&gt;
Download the .img.xz version of the image and extract it:&lt;br /&gt;
&lt;br /&gt;
 $ unxz -k maemo-leste-*-arm64-pinephone-*.img.xz&lt;br /&gt;
&lt;br /&gt;
==== Modify the image to use eMMC paths ====&lt;br /&gt;
&lt;br /&gt;
The image, by default, points to &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; for SD cards, which must be modified to point to &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt; for the eMMC.  To start, determine the starting points of the image partitions:&lt;br /&gt;
&lt;br /&gt;
 $ fdisk -u -l maemo-leste-*-arm64-pinephone-*.img&lt;br /&gt;
&lt;br /&gt;
In the output of this command, look for the &#039;&#039;&#039;Start&#039;&#039;&#039; column and multiply these values individually with the value given by the &#039;&#039;&#039;Units&#039;&#039;&#039; section -- this gives the offsets of the partitions from the beginning of the file.&lt;br /&gt;
&lt;br /&gt;
Mount the first partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 1 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;boot.txt&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Regenerate &amp;lt;code&amp;gt;boot.scr&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr&lt;br /&gt;
&lt;br /&gt;
Leave the first partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
Mount the second partition and enter it:&lt;br /&gt;
&lt;br /&gt;
 $ sudo mount -o loop,offset=&amp;lt;Partition 2 offset&amp;gt; maemo-leste-*-arm64-pinephone-*.img /mnt&lt;br /&gt;
 $ cd /mnt&lt;br /&gt;
&lt;br /&gt;
Use the editor of your choice to edit &amp;lt;code&amp;gt;etc/fstab&amp;lt;/code&amp;gt;, replacing &amp;lt;code&amp;gt;/dev/mmcblk0&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;/dev/mmcblk2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Leave the second partition and unmount it:&lt;br /&gt;
&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo umount /mnt&lt;br /&gt;
&lt;br /&gt;
The image is now ready to be installed to the eMMC.&lt;br /&gt;
&lt;br /&gt;
==== Install image to eMMC ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Currently not working, needs testing&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the [https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Installation_to_the_eMMC Pine64 Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Using Tow-Boot ===&lt;br /&gt;
&lt;br /&gt;
If you flashed tow-boot to the PinePhone (instructions [https://tow-boot.org/devices/pine64-pinephoneA64.html here]), the eMMC can be flashed by holding vol+ on startup to boot into USB Mass Storage mode.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the eMMC is identical to that of any other storage medium - e.g. a microSD card. You can use the &amp;lt;i&amp;gt;dd&amp;lt;/i&amp;gt; command or a utility such as Etcher or Gnome Disks, etc.&lt;br /&gt;
&lt;br /&gt;
=== Using JumpDrive ===&lt;br /&gt;
&lt;br /&gt;
You can flash Maemo Leste to eMMC using JumpDrive. This utility boots from microSD and exposes the internal eMMC flash storage when the PinePhone is connected to a computer.&lt;br /&gt;
&lt;br /&gt;
The process of flashing Maemo Leste to the exposed and mounted eMMC is identical to that of any other storage medium - e.g. a microSD card. &lt;br /&gt;
&lt;br /&gt;
[https://wiki.pine64.org/wiki/PinePhone_Installation_Instructions#Using_JumpDrive JumpDrive instructions are on the Pine64 wiki.]&lt;br /&gt;
&lt;br /&gt;
=== From the booted microSD ===&lt;br /&gt;
# Flash Maemo Leste to the microSD card&lt;br /&gt;
# Insert microSD card and boot the phone&lt;br /&gt;
# Download the latest Maemo Leste image on the booted OS; if you get errors during download, you&#039;ll have to expand the partition; and don&#039;t forget to re-check the checksums when you download.&lt;br /&gt;
# Extract the image file so that it only ends in &amp;quot;.img&amp;quot;&lt;br /&gt;
# Flash the image file to eMMC using &amp;lt;code&amp;gt;dd if=&#039;&#039;&#039;IMAGE.img&#039;&#039;&#039; of=/dev/&#039;&#039;&#039;mmcblkX&#039;&#039;&#039; bs=1M status=progress conv=fsync&amp;lt;/code&amp;gt; where X is the number label of the eMMC (of the disk, not the partition!). Use the command &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; to check your devices: typically with the current kernel the microSD card is &#039;&#039;/dev/mmcblk0&#039;&#039; and the eMMC is &#039;&#039;/dev/mmcblk2&#039;&#039; but as always with &#039;&#039;dd&#039;&#039; be extremely cautious to get the devices correct. &lt;br /&gt;
# Turn off phone, remove microSD card and then turn on the phone.&lt;br /&gt;
&lt;br /&gt;
== More Information ==&lt;br /&gt;
&lt;br /&gt;
* Virtual keyboard should work in all gtk2 applications (not yet in gtk3 and qt, but this is coming).&lt;br /&gt;
* Default virtual keyboard is set to off. You may want to go to setting and change that first for using the terminal. Click the top left corner-&amp;gt;&amp;quot;Settings&amp;quot;-&amp;gt;&amp;quot;Text input&amp;quot;-&amp;gt;check the &amp;quot;Use virtual keyboard&amp;quot; option. You may also want to change the keyboard layout by changing the dictionary setting.&lt;br /&gt;
* WiFi and terminal work.&lt;br /&gt;
* Some rendering bugs in portrait mode remain, so the default desktop orientation is landscape for now (&amp;lt;code&amp;gt;xrandr -o right&amp;lt;/code&amp;gt;). Please note that if orientation is changed (e.g. with &amp;lt;code&amp;gt;xrandr -o normal&amp;lt;/code&amp;gt;) the ui will still be reading original key positions.&lt;br /&gt;
* Screen brightness adjustments in UI do not work on the Pinephone yet. There is also a user reported when &amp;quot;brightness&amp;quot; UI setting is set to minimum (no visual change normally), the screen will stay black after reboot with WiFi set to ON with kill switch. However screen is normal after reboot if WiFi set to OFF with kill switch even minimum &amp;quot;brightness&amp;quot; UI setting. You may still change the screen brightness with terminal commands: &amp;lt;code&amp;gt;xrandr --output DSI-1 --brightness 0.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* Performance is not bad, but will get better, with hildon-desktop optimisations and as lima improves.&lt;br /&gt;
* Many &amp;quot;games&amp;quot; packages in the Application Manager don&#039;t work well yet.&lt;br /&gt;
* VoLTE should work out-of-the-box. If not, please set the VoLTE profile via AT commands. For example, for T-Mobile in US, do:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;select&amp;quot;,&amp;quot;Commercial-TMO_VoLTE&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
In order to list all specific VoLTE profiles, use:&lt;br /&gt;
 $ echo &#039;AT+QMBNCFG=&amp;quot;list&amp;quot;&#039; | atinout - /dev/EG25.AT -&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== How to take a picture ===&lt;br /&gt;
&lt;br /&gt;
Maemo userland to take pictures or make videos is not ready yet.&lt;br /&gt;
&lt;br /&gt;
You can use this script as reference to take a picture:&lt;br /&gt;
https://github.com/OpenMandrivaAssociation/pinephone-tools/blob/master/camera-setup&lt;br /&gt;
&lt;br /&gt;
Or use libcamera tools (libcamera-tools package). To list the cameras:&lt;br /&gt;
 $ cam -l&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the rear camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/rear-camera@4c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
Example to capture 10 pictures with the front camera:&lt;br /&gt;
 $ cam --camera &amp;quot;/base/i2c-csi/front-camera@3c&amp;quot; --file=/home/user/some_dir --capture=10&lt;br /&gt;
&lt;br /&gt;
And then, conver the raw &amp;quot;.bin&amp;quot; files to some useful format with ffmpeg or any other image conversion tool. Example:&lt;br /&gt;
 $ ffmpeg -f image2 -vcodec rawvideo -s 1600x1200 -pix_fmt bayer_bggr8 -i picture.bin converted_picture.jpeg&lt;br /&gt;
&lt;br /&gt;
Also the graphical tool &amp;quot;qcam&amp;quot; should work, but it has some color space conversion bugs. Run it with:&lt;br /&gt;
 $ qcam -r gles -spixelformat=SBGGR8,width=1280,height=720 -platform xcb -style=fusion&lt;br /&gt;
&lt;br /&gt;
=== Enabling Flash Light / Torch ===&lt;br /&gt;
&lt;br /&gt;
Enable:&lt;br /&gt;
 $  echo 1 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Disable:&lt;br /&gt;
 $ echo 0 &amp;gt; /sys/class/leds/white:flash/brightness&lt;br /&gt;
&lt;br /&gt;
Trigger flash strobe:&lt;br /&gt;
 $ echo 1 &amp;gt; /sys/class/leds/white:flash/flash_strobe&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Auanta</name></author>
	</entry>
</feed>