The PineTab2 with the detachable keyboard attached
The PineTab2 is PINE64’s successor to the original PineTab Linux tablet computer, featuring a faster processor and better availability. The tablet is available in two configurations, 4GB of RAM and 64GB of internal storage or 8GB of RAM and 128GB of internal storage. The tablet ships with a detachable keyboard that doubles as a protective cover.
The tablet is designed around the Rockchip RK3566 processor, which features 4 energy-efficient Cortex-A55 64-bit ARM cores and enjoys good mainline Linux support.
Pre-orders started on the 13th of April 2023, with pricing starting at USD 159 for the 4GB/64GB version and USD 209 for the 8GB/128GB version. The PineTab2 began shipping on June 2, 2023.
The PineTab2 can be started by pressing and holding the power button for two seconds. The device is initialized at the first boot and will power-cycle while the partition table is populated.
info
If the initialization process is interrupted it might lead to a corrupted operating system installation. In that case reinstall the operating system as explained below.
The PineTab2 ships with DanctNix Arch Linux and comes with a pre-set user and the default password 123456.
Default credentials
alarm
123456
You can create a new user and set your own password after the initial boot. To do so, go to system settings -> users and create a new profile using your preferred name and password.
When connecting the keyboard to the Pinetab2 ensure that the camera and the golden pogo pin connectors are correctly aligned.
The external keyboard has 5 connection pins (the golden pins). four are standard USB connectors and one is used to detect that the keyboard is connected.
The backlight can be changed with the key combination Pinekey + Ctrl (right).
To write an operating system to the microSD card (typically called “flashing” in the community), you need to first download a compatible image from the Releases page.
Next you need to decompress the downloaded image. The images are typically compressed in an archive format such as xz to reduce the download size. If you are using a graphical tool such as balenaEtcher or Gnome Disks it will handle the decompression of the image in the flashing step automatically.
Further you need to flash the image to the microSD card. This can be done using various tools, for example balenaEtcher (recommended for new users), Gnome Disks or command-line tools such as cp and dd. Insert the microSD card in a microSD card reader connected to your computer and then choose a tool of your liking.
Graphical applications:
balenaEtcher (Microsoft Windows, macOS, Linux): Click on Flash from file and select the image. Then select the microSD card target device and click on Flash!.
Gnome Disks (Linux): Select the microSD card target device on the left side in the Disks list. Then select the three dot menu on the top right and click on Restore Disk Image…. Select the image, verify the correct device is selected and then click on Start Restoring….
Make sure to replace IMAGE.img and [DEVICE] with the filename of the image (double check if it is decompressed and has the file extension .img) and the device name. You can use the command lsblk to find the device name. Make sure to flash to the whole device instead of partition 1 and that you’re NOT selecting /dev/sda1 or /dev/mmcblk0p1 as target. Be very careful to select the correct device, as the tools can overwrite your data when the wrong device is selected.
Then insert the microSD card into the PineTab2.
note
The UART adapter
Using the USB UART adapter can be required in some cases as explained in the info box about the boot order. The adapter is shipped with the PineTab2 in the box which is also containing the charging cable. The switch to disable the eMMC and SPI is located on the top right of the image.
note
Note regarding the boot order: The SPI and the internal memory (eMMC) have a higher boot priority than the microSD card. The pre-installed bootloader on the internal memory (eMMC) tries to boot from the microSD card first. In some cases it can be required to bypass the bootloader, for example if the bootloader is corrupted or was overwritten by a bootloader with varying settings.
To force the device to boot from the microSD card, the eMMC and the SPI can be disabled by using the debug UART adapter shipped with the device in the box also containing the charging cable. Set the SD BOOT MASKROM switch on the adapter to the position ON and plug it into the USB/PD charging port. Then power on the tablet and unplug the debug board or set the switch to the position OFF again when the factory image is started, otherwise the factory image won’t find the eMMC.
Power on the device with the microSD card inserted (and optionally with the USB UART adapter inserted and the bypass switch set to ON depending on the software situation, see the info box above). It should now boot the new operating system from the microSD card.
Something is not working? Please join the PineTab channel in the community chat, the community is always happy to help. In the page UART adapter you can find information about how to connect the USB UART adapter and how to retrieve the boot logs if the device is not booting properly even after the above procudere.
LuneOS is one of the original multi-tasking OS-es that runs on Linux. Based on HP/Palm’s webOS, merged with latest technology stack from LG called webOS OSE (a derivative of what LG uses on their Smart TV’s), software such as Qt6, Maliit, PulseAudio, Wayland and makes use of the Yocto build system.
U-Boot is required to boot the images. If you have the factory image installed and updated to the latest version, you can boot Mobian from an SD card without installing U-Boot.
The development is work in progress, but all hardware that’s supported by the kernel should work (WiFi/BT included). Camera’s aren’t working, similar to all other distros due to lack of drivers.
In order to connect to the device using SSH/SCP, you simply can connect to the device’s IP address on port 5522.
An unofficial Debian build for ARM64 running with Phosh. The current version of the base Debian system is Debian Bookworm. See the installation instructions here. If you have questions about Mobian, please ask them in the Mobian Matrix room.
U-Boot is required to boot the images. If you have the factory image installed and updated to the latest version, you can boot Mobian from an SD card without installing U-Boot.
The development is work in progress. Mobian’s support for the PineTab2 is maintained by Julian. The Mobian wiki can be found here.
In order to connect to the device using SSH/SCP, you need to install SSH on the device. You can do this by executing the following in a shell: “sudo apt-get install ssh”, afterwards you can connect via SSH/SCP using the PineTab2’s IP address on port 22.
When installing Mobian with full disk encryption and booting with the keyboard case connected, you will have to touch the screen or press a key to show the decryption screen. This is an upstream issue.
NixOS is an immutable Linux distribution built around the Nix configuration language. The NixOS image for PineTab2 uses some downstream modifications to packages, such as an U-Boot package based on 2023.07-rc4 and a kernel also used by the Arch Linux Arm image.
This image is extremely basic and currently boots to a console. A NixOS configuration can be applied after booting to gain a full graphical system.
$ sudo su
>cd> nixos-rebuild switch
> nixos-rebuild switch # yes, do it two times> reboot
After the first nixos-rebuild, you may need to reconnect to the network using nmtui.
After rebooting, there will be a new user account.
Note that booting can take a while, and does not show anything on the screen. After about 18 seconds the keyboard backlight turns on, then it’s about 30 seconds until the first text appears on the screen, and another 10 seconds before the session manager shows up.
The image will not autoexpand to the fill the eMMC, however once booted it is easy to adjust the size of the rootfs using the included KDE Partition Manager.
The PineTab2 may be reluctant to shutdown, with several minutes delay whilst the BES2600 wifi driver unloads. This can be avoided by turning off the wifi in the menu that can be pulled down from the top of the screen before shutting down or rebooting.
postmarketOS extends Alpine Linux to run on smartphones and other mobile devices.
It offers various user interfaces (Phosh, Plasma Mobile, Sxmo, Plasma Desktop, Gnome 3, Kodi, XFCE4 and more). As of writing, this distro is currently in testing and no official releases are available for download. Instead, users will need to create their own image with the distribution’s install and development tool pmbootstrap.
Rhino Linux is an Ubuntu-based distribution that uses the rolling-release model by tracking the devel branch of repositories. The port is currently maintained by Oren Klopfer (oklopfer).
The bootloader (u-boot) comes pre-flashed in the port. Installation just requires flashing the .img.xz to an SD or the eMMC.
Foundational to the distribution is Pacstall, a Debian-based user repository inspired by the AUR. Additionally, RL comes with Unicorn, a custom modified version of XFCE with various modernizations and improvements, including auto-rotation for mobile devices.
A Mobile Version of the Ubuntu Operating System made and maintained by the UBports Community. The port is currently maintained by Oren Klopfer (oklopfer).
The bootloader (u-boot) comes pre-flashed in the port. Installation just requires flashing the .img.xz to an SD or the eMMC.
To recover from a bad eMMC/SPI flash, plug the included debug adapter into the charging USB-C port and switch the white switch to its “ON” position to bypass eMMC/SPI boot. This tries to boot from SD, and if no SD is inserted, enters Maskrom mode.
Until the internal BES2600 WIFI has a stable driver, the community suggests that you connect using USB. This section summarizes the more detailed information in File:PineTab2_USB_Guide.pdf, which covers connecting via a tethered Android phone, a suitable USB WIFI adapter, a wired USB Ethernet adapter, and a tethered iOS device.
If you must use a multi-state adapter and it isn’t recognized by the kernel, you can try ejecting the device. This should force it back into adapter mode. If this does not work, you can try installing usb_modeswitch to troubleshoot. You will need to temporarily use another method to get internet (such as phone tethering below) or load the package on an SD card to install it.
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.
You can use an Android phone as a network adapter.
You’ll need:
An Android phone
A USB OTG adapter (or the USB-C to USB-C cable)
Some knowledge of your variation of Android
Do the following in order:
Plug in the device to the PineTab2 using the USB cable and a USB OTG adapter
On your android phone, open the settings app (specifics from here may vary on version)
Navigate to “Network & Internet”
Navigate to “Hotspot & Tethering”
Tap on “USB Tethering”
You should now see a new network interface on the PineTab2.
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.
You can use a KaiOS phone for mobile Internet use with your PineTab2.
You’ll need:
A KaiOS phone
A USB OTG adapter
Your device’s charging cable
Some knowledge of your KaiOS phone
Do the following in order:
Plug the device into the PineTab2 using the USB cable and a USB OTG adapter
On your KaiOS phone, open settings (specifics from here may vary on version)
Navigate to “Network & Connectivity”
Navigate to “Internet Sharing”
Select “USB” and select On under USB tethering (Note: This option will be greyed out unless connected to the PineTab2)
You should now see a new network interface on the PineTab2 and it should show a wired connection icon.
Auto-rotation is handled by your operating system. However, the following general steps should work on distributions that support iio-sensor-proxy:
To enable auto-rotation, install the iio-sensor-proxy package: sudo pacman -S iio-sensor-proxy and reboot.
Some desktop environments, such as KDE, default to only allowing screen rotation while in tablet mode (detached from the case.) To enable it with the keyboard attached, go to System Settings–>Display and Monitor -> Display Configuration -> Uncheck “Only when in tablet mode” and click “Apply.”
Login screen orientation is handled by your operating system. Below are the instructions for the SDDM login screen that ships with the factory image:
By default, the login screen is set to display in portrait mode. If you wish to change it to landscape mode to match the keyboard while in the case, use the following steps (Credit to chzbacon) :
Edit /usr/share/sddm/scripts/Xsetup. For example, using nano: sudo nano /usr/share/sddm/scripts/Xsetup and add the following two lines to the end of file:
xrandr --output DSI-1 --mode 800x1280 --rate 60.00 --rotate right
It’s slower, as it is intended to be a successor to the PineTab1, not the Pinebook Pro. It’ll still handle web browsing, video playback and documents fine though.
The PineTab 2 is considered early release at this point, and the community is expected to develop support for it over time. For example, the Known issues page details several features that are not yet fully working. You may at times need to troubleshoot this device and some development experience is ideal if you want to realize the tablet’s full potential at this stage.
For these reasons, the PineTab2 may not be the ideal device for casual users. However, if you feel up to the challenge and want to learn while joining a great community, you are more than welcome! Please join one of our chat platforms: the community is always happy to help!
Drivers are (at least typically) written in the C programming language. Unfortunately, there is no way to “code drivers in Python” because usually drivers need to access and process memory allocation directly. If you feel like this is interesting to you, we suggest you to spend some time learning the C programming language, maybe with an emphasis in device driver development. The good news is that, since you already know a programming language, you already know part of the skill.
In short, you can only help with drivers development if you learn the C programming language first.
Theoretically yes, practically there’s little chance anyone wants to make a well-supported Android build for this device. If you’re looking for an Android tablet, buy any mainstream tablet, and you’ll get better value for your money.
However, if you just need to run a few simple android apps, you might want to have a look at Waydroid which can be installed on Arch Linux ARM using the following command: sudo pacman -S waydroid
Yes! While all PineTab2 come with an OS preinstalled, you are free to use any OS on the integrated storage (the eMMC) or an SD card. See Software for how to install them.
The BES2600 Wi-Fi driver needs major cleanup and bugfixing: at the moment it causes system crashes. Please see the Networking Using USB section for a workaround.
Yes, though the specific implementation depends on your installed operating system.
On the default Arch Linux Arm: Widevine, using the widevine-aarch64 package in the AUR is working, and was demonstrated on the PineTab2 using Paramount+ and Disney+. Install it (yay -S widevine-aarch64), run the included register script to get Firefox to recognize it, and it should start working.
Linux mainline is already quite far along for the device, as the SoC is the same as is used in the Quartz64 line of devices. Some minor PineTab2-specific adjustments can be found here.
The BES2600 Wi-Fi driver needs major cleanup and bugfixing (at the moment it often causes system crashes). This is a priority, but for now, you can USB tether a phone or use a supported WI-FI dongle. There are at least two code releases available, with two respective/non-interchangeable firmware versions. Kernel 6.9.2-danctnix1-1-pinetab2 has a somewhat working WiFi driver.
The BES2600 Bluetooth driver needs to be implemented.
Hardware bugs - the power and reset circuitry is not properly implemented in the circuitry, so hard reset of the chip (in the theoretical case it freezes) is impossible without power cycling the whole board.
Suspend does not currently work reliably due to a driver issue. It is therefore disabled in the factory image. Caveat Emptor if you chose to unmask the feature prior to it being fixed.
The USB-C UART adapter can be connected to the PineTab2 to debug boot issues at the early boot:
Plug the adapter face-up in the USB-C port furthest away from the power button. If all the lights are lit, you have the wrong port: only the green light should be lit when you first plug it in.
Plug USB-C cable into the port on the adapter marked “DEBUG” (the other port can be used as a power delivery passthrough so you can charge and debug at the same time)
Open a terminal window
Install minicom or screen via your distribution’s package manager, if you don’t have it installed already
Connect via minicom using sudo minicom -D /dev/ttyUSB0 -b 1500000 or via screen using sudo screen /dev/ttyUSB0 1500000
Ubuntu-based distro users may encounter the error, “cannot open /dev/ttyUSB0: No such file or directory”. If this occurs, check the output of sudo dmesg --follow and unplug/replug the USB to look for any errors. If you see an error like, “usb 1-1: usbfs: interface 0 claimed by ch341 while ‘brltty’ sets config #1”, then the brltty service is likely conflicting with this device. Brltty provides access to blind users who use a braille display: if you do not need this service, try disabling it using these commands:
Note: this is a very delicate operation, especially around the corners of the screen. Several even experienced users damaged their screen when disassembling the device.