The Complete Proven Guide to Install postmarketOS on Samsung T560

install-postmarketos-on-samsung-t560.md
title The Complete Proven Guide to Install postmarketOS on Samsung T560
date
author VahaC
read 8 min read
category Smart home
tags #Homelab #Linux
install postmarketOS on Samsung T560

If you want to install postmarketOS on Samsung T560, this guide documents the exact route that worked on my Galaxy Tab E Wi-Fi model. The result is a lightweight Linux touch panel for Home Assistant, not a modern general-purpose tablet.

This experimental community port uses Samsung’s old 3.10.17 downstream kernel. Expect slow WebKit rendering and manual fixes. For a simpler alternative, see my touch-controlled Home Assistant dashboard with ESPHome and LVGL.

What works and what does not

After you install postmarketOS on Samsung T560, the display, touchscreen, Wi-Fi, USB networking, SSH, and a lightweight Openbox session can work. Home Assistant loads in Badwolf when JavaScript is enabled. XFCE and LXQt were noticeably heavier on this hardware, while Openbox gave the most usable baseline.

The port is not polished. A black desktop with a pointer may mean Openbox started without an application. Stock Badwolf uses ephemeral WebKit storage, so persistent Home Assistant login and polished tablet controls require customization.

Prerequisites

Before you install postmarketOS on Samsung T560, prepare:

  • A Samsung Galaxy Tab E SM-T560 with enough battery charge.
  • A reliable USB data cable. Some charging-only cables are invisible to ADB.
  • A Windows PC with Samsung USB drivers, ADB, and WSL 2 with Ubuntu.
  • TWRP already installed on the tablet.
  • Your Wi-Fi SSID/password and the IP address of your Home Assistant server.
  • A copy of the original Samsung firmware and a full TWRP backup.

⚠️ Critical: this process overwrites Android. Back up Boot, System, and Data in TWRP before continuing. Keep the backup and stock firmware outside the tablet. Flashing the wrong device package can cause a boot loop or blank screen.

Step 1: confirm that the tablet is really an SM-T560

The SM-T560 Wi-Fi model uses the postmarketOS codename samsung-gtelwifi and the armv7 architecture. My device identification string ended with SM-T560, although one TWRP build displayed T561-related labels.

Do not switch to gtel3g, SM-T561, or linux-samsung-gtel3g because of a recovery label. Confirm the model on the rear label or Download Mode before you install postmarketOS on Samsung T560.

Step 2: enable USB debugging before replacing Android

In Android, open Settings → About device, tap Build number seven times, then return to Developer options and enable USB debugging. Connect the tablet and accept the computer authorization dialog.

On Windows, verify the connection:

adb devices

If the device is missing, unlock the screen, reconnect it, change the USB cable, and reinstall the Samsung driver. USB debugging is not needed inside TWRP, but confirming ADB now prevents confusion later.

Step 3: create and verify a TWRP backup

Boot to TWRP, select Backup, and include Boot, System, and Data. Copy the resulting TWRP folder to the PC, then open Restore and confirm it appears. Keep this recovery point until you successfully install postmarketOS on Samsung T560.

⚠️ Critical: do not continue until the backup exists on another device. The recovery ZIP replaces the current system, and a boot image alone cannot restore Android.

Step 4: install pmbootstrap in WSL Ubuntu

Open Ubuntu in WSL and install the basic tools:

sudo apt update
sudo apt install git python3 python3-pip pipx adb
pipx install pmbootstrap
pmbootstrap --version

Check the official pmbootstrap documentation if the installation method changes. This WSL workflow lets you install postmarketOS on Samsung T560 from Windows.

Step 5: initialize the exact device and lightweight interface

Run:

pmbootstrap init

Choose these values when prompted:

  • Channel: edge
  • Vendor/device: samsung / gtelwifi
  • Architecture: armv7
  • Init system: openrc
  • User interface: openbox
  • Username: choose your normal user, for example user

Review the community gtelwifi port notes. Port files change, so compare its current README with your pmaports tree.

Step 6: build the device packages

To install postmarketOS on Samsung T560 with the correct downstream kernel, build the Wi-Fi model packages:

pmbootstrap build linux-samsung-gtelwifi
pmbootstrap build device-samsung-gtelwifi
pmbootstrap build firmware-samsung-gtelwifi

Do not substitute linux-samsung-gtel3g. If stale chroots break a rebuild, run pmbootstrap zap and retry. Zapping deletes the generated rootfs, not your TWRP backup.

Step 7: create the recovery ZIP

Build a fresh Openbox root filesystem and recovery installer:

pmbootstrap install --android-recovery-zip

Choose and confirm the login password when prompted. This is the password for the normal Linux user and for privilege elevation; save it in your password manager.

If adding device-samsung-gtelwifi-nonfree-firmware fails, build firmware-samsung-gtelwifi, run pmbootstrap zap, and retry. Completing this rootfs is necessary to install postmarketOS on Samsung T560.

Step 8: export the flashable files to Windows

Create a dedicated output folder:

pmbootstrap export /mnt/c/Users/YOUR_WINDOWS_USER/Downloads/postmarketOS-t560-openbox

You should receive:

  • pmos-samsung-gtelwifi.zip
  • boot.img
  • initramfs
  • vmlinuz

The ZIP is the primary installer. Flashing only boot.img without a matching rootfs commonly causes logo loops.

Step 9: transfer the ZIP to TWRP

Boot TWRP, connect the known-good cable, and check:

adb devices

The device should appear as recovery. Before you install postmarketOS on Samsung T560, push the file:

adb push "$env:USERPROFILE\Downloads\postmarketOS-t560-openbox\pmos-samsung-gtelwifi.zip" /sdcard/

Wait for adb push to complete before touching the cable.

Step 10: flash the recovery ZIP

In TWRP, tap Install, select pmos-samsung-gtelwifi.zip, and swipe to confirm. This is the step that actually writes the files required to install postmarketOS on Samsung T560. Wait for an explicit success message.

⚠️ Critical: verify that the filename contains gtelwifi. Do not flash a gtel3g package. Do not interrupt power while TWRP writes Boot and the root filesystem.

When it finishes, tap Reboot System. The first boot can take several minutes. A brief Samsung logo, black screen, or backlight transition does not automatically mean failure, but an endless repeating logo indicates that Boot and rootfs do not match.

Step 11: verify the first boot over USB and SSH

Verify that you did install postmarketOS on Samsung T560 through USB networking. postmarketOS commonly exposes 172.16.42.1. Try:

ping 172.16.42.1
ssh [email protected]

Replace user with the username selected during pmbootstrap init. After login, verify:

cat /etc/os-release
uname -a
ip address

If Windows does not create the USB network adapter, check Device Manager and the postmarketOS USB networking documentation.

Step 12: connect Wi-Fi and launch Home Assistant

From SSH, scan and connect with NetworkManager:

nmcli device wifi list
doas nmcli device wifi connect "YOUR_SSID" password "YOUR_WIFI_PASSWORD"
ip address show

Test your server by IP first, for example http://192.168.1.100:8123/. A .local hostname depends on working mDNS and may fail even when Wi-Fi works.

For a minimal dashboard session, install Badwolf and launch it with JavaScript enabled:

doas apk add badwolf
badwolf -S http://HOME_ASSISTANT_IP:8123/

If you install postmarketOS on Samsung T560 for a wall panel, Openbox should autostart the browser and maximize its window. You can then build a tablet-friendly view using these Home Assistant custom dashboard strategies.

How to confirm the installation works

You have successfully managed to install postmarketOS on Samsung T560 when all of the following are true:

  • /etc/os-release identifies postmarketOS.
  • The tablet has a stable Wi-Fi address and responds to SSH.
  • Openbox starts without repeated Samsung-logo resets.
  • badwolf -S reaches the Home Assistant login page by IP.
  • Touch input works and the tablet remains stable through a reboot.

Troubleshooting install postmarketOS on Samsung T560

  • Blue Samsung logo loop: confirm that both the ZIP and kernel are gtelwifi. Reflash the complete recovery ZIP instead of repeatedly replacing Boot.
  • Blinking backlight or blank display: restore the last known-good boot.img, then verify the rootfs rather than changing desktop environments. Kernel/initramfs mismatch is more likely than an Openbox theme problem.
  • Black screen with a centered cursor: Openbox is probably running. Connect by SSH and launch badwolf -S URL; the empty Openbox desktop has no Start menu by default.
  • No Wi-Fi: use USB SSH, check nmcli device, install the nonfree firmware package, and inspect dmesg for firmware-loading errors.
  • Home Assistant stays on its logo: confirm JavaScript is enabled with -S, use the server IP, and remember that old WebKit on the 3.10 kernel is slow.
  • Home Assistant asks you to log in after every reboot: upstream Badwolf uses ephemeral WebKit storage. Persistent cookies require a custom Badwolf build with persistent WebKit data/cache directories; this is not an upstream postmarketOS feature.
  • Keyboard appears but cannot type: Home Assistant inputs can be nested inside Shadow DOM. A working touch keyboard integration may need to focus the active WebKitWebView explicitly before sending Matchbox input.
  • Battery is nearly empty: leave the tablet in TWRP on a stable charger. It may draw only a few watts, so recovery can take many hours.

How to restore Android

Boot TWRP, choose Restore, select the verified backup, and restore Boot, System, and Data. If TWRP or the backup is unavailable, use Samsung Download Mode and the exact stock SM-T560 firmware for your region with Odin.

The practical lesson: install postmarketOS on Samsung T560 only if you accept an experimental port. Openbox plus one dashboard browser is realistic; modern Android-tablet performance is not.

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.