Arch Linux ARM for the Samsung Galaxy Tab S6 (gts6l): PKGBUILDs, rootfs builder, TWRP installer, and device tooling
Find a file
Kit 4085670178 tools: serial console capture helpers for the USB-C jig
serialcap.py logs the FT232 console (/dev/ttyUSB0, 115200) with host
timestamps plus a .raw copy. serial-warmreset.py resets the tablet from
the U-Boot shell and captures the boot (it produced
baselines/serial-warm-reset.log).

Both refuse to send a bare CR - at the U-Boot menu that selects the
highlighted entry, and once autobooted the tablet into fastboot, which
flips the MUIC back to USB and kills the console. With a command they
send Ctrl-C first and only proceed on a `=>` prompt. Commands are paced
per character because U-Boot's polled UART drops input at full speed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RdXMzrwKo3MPz3Kj94SDiV
2026-09-28 18:40:14 -06:00
build linux-gts6l 6.17.0-3: SM5705 fuel gauge (#9); keep it in build-617.sh 2026-09-27 20:28:42 -06:00
installer/META-INF/com/google/android gts6l ALARM: packages, rootfs builder, TWRP installer 2026-08-18 23:56:43 -06:00
packages linux-gts6l 6.17.0-3: SM5705 fuel gauge (#9); keep it in build-617.sh 2026-09-27 20:28:42 -06:00
tools tools: serial console capture helpers for the USB-C jig 2026-09-28 18:40:14 -06:00
upstream/rmtfs packages: pd-mapper, tqftpserv, hexagonrpc; park the rmtfs fix (#21) 2026-09-27 19:19:29 -06:00
.gitignore gts6l ALARM: packages, rootfs builder, TWRP installer 2026-08-18 23:56:43 -06:00
build-rootfs.sh build-rootfs.sh pkg: install deps as root, force .zst, fix ownership 2026-09-27 20:53:43 -06:00
makepkg-aarch64.conf gts6l ALARM: packages, rootfs builder, TWRP installer 2026-08-18 23:56:43 -06:00
README.md gts6l ALARM: packages, rootfs builder, TWRP installer 2026-08-18 23:56:43 -06:00

Arch Linux ARM for the Samsung Galaxy Tab S6 (gts6l)

Mainline-kernel Arch Linux ARM for the SM-T867V (SM8150). Kernel lives in linux-gts6l, branch gts6l/6.17.

Layout

packages/linux-gts6l/     kernel + modules + DTB (cross-built with clang)
packages/gts6l-device/    board support: USB gadget console, stock-partition
                          firmware mounts+links, boot failsafes
packages/gts6l-uboot/     U-Boot image + gts6l-flash-uboot (flash from the
                          running OS, PARTLABEL-addressed, verified)
packages/gts6l-firmware/  DEPRECATED: ripped-blob package, superseded by
                          gts6l-device's stock-partition mounts
makepkg-aarch64.conf      cross-packaging config (CARCH, PKGEXT - see
                          comments; makepkg stamps the HOST arch without it)
build-rootfs.sh           extract | shell | customize | image
installer/                TWRP-flashable zip (META-INF); tools/mkzip.sh in
                          the project tree assembles it

Design points

  • No proprietary blobs ship anywhere. Firmware is read from the device's own stock partitions (apnhlos/vendor), mounted ro and symlinked into /usr/lib/firmware at boot. The TWRP zip works on any unit.
  • The USB gadget (ACM console + RNDIS) is the primary console; the device is reachable even with nothing on screen.
  • Boot failsafes assume no physical access: an unreachable boot demotes the SD kernel and parks in fastboot for the dev host.

Full bring-up history and hardware notes: MAINLINE-NOTES.md in the private project tree.