Skip to content

tb323fu-linux t49

Pre-release
Pre-release

Choose a tag to compare

@joonhoekim joonhoekim released this 13 Oct 12:28

tb323fu-linux t49 — kernel for the Lenovo Legion Tab Y700 gen 5 (TB323FU)

7.3.0-rc4-tb323fu-t49: mainline v7.3-rc4 + patches 0001–0130 (kernel/patches),
tb323fu-linux 1866984. What works: docs/hardware-status.md.

What's new

Same patches as kernel-t47; the configuration gains kernel/config/baldur-extra.fragment:

  • Devices and file systems: exFAT, NTFS3, btrfs, CIFS, ISO 9660/UDF, EROFS; Xbox, PlayStation, Nintendo and Steam
    controllers, Logitech HID++, Apple, Microsoft and Wacom; USB UAS, phone tethering (RNDIS), CH341/PL2303 serial,
    printers; the tablet as a USB webcam or MIDI device (gadget).
  • Waydroid: binderfs. Wine/Proton: ntsync. Network: BBR, fq_codel, cake, kTLS, MPTCP.
  • Memory: MGLRU (on), zswap and zstd/lz4 for zram (off until you enable them), userfaultfd.
  • Tracing: BTF for the kernel (bpftrace, sched_ext), kprobes, the function tracer.
  • Virtual devices for tests: vkms (load with create_default_dev=0 and build devices in configfs, or it takes card0),
    snd-dummy, dummy_hcd, vivid/vimc, gpio-sim.
  • Behaviour changes: Yama is active (ptrace_scope 1: a debugger attaches only to its own children unless root).
    SELinux and AppArmor are built in but not enabled.
  • The Image grew from 56 to 74 MB.

Still true

  • The CPU cluster idle state stays out of runtime idle (patch 0118, cpuidle_psci_domain.allow_cluster_off=0): with
    it the tablet reset when left idle. Suspend still uses it.
  • No USB root shell in release images (how to build one).
  • No firmware inside: drivers that start before the root (GPU, Bluetooth) log a missing-firmware error and recover
    once it is mounted (details).

Install

  • With Open Device Helper: tb323fu-ctl kernel update (or About → Kernel Updates). It runs the kernel on trial
    and goes back by itself if it does not start.
  • By hand: python3 boot-repack-kernel.py stock-boot.img Image-tb323fu-t49 linux-boot.img, then write it to
    boot_a (docs/install.md).
    There is no ready-made boot.img: its header and signatures are Lenovo's and must match your tablet.
  • If it does not boot: hold volume up + down for 10 s to return to Android, or restore boot_a over EDL
    (docs/recovery.md).

You provide: your stock boot.img, the firmware from your own tablet
(firmware/), and
/etc/tb323fu/android-boot.sha256 for the way back to Android.

Files

File
Image-tb323fu-t49 the kernel (device tree, command line, initramfs and all 830 modules built in)
Image-tb323fu-t49.gz the same, compressed; what the helper downloads
modules-tb323fu-t49.tar.gz the modules alone, only for a root set to own modules
boot-repack-kernel.py puts the kernel into your stock boot image
config-tb323fu-t49, initramfs-t49.list, initramfs-t49.files kernel configuration, initramfs contents
busybox-1.36.1.config, busybox-1.36.1.tar.bz2, THIRD-PARTY-NOTICES.txt source, configuration and licences of the initramfs' third-party files
SHA256SUMS checksums (not a signature)

Source code (GPL)

  • Kernel: torvalds/linux v7.3-rc4 (93f51579e7df248780214094418f205253383cc5) + kernel/patches
    at 186698482f51484d8da2df790798b9ef23a854ec; configuration config-tb323fu-t49 = defconfig + kaanapali-oneplus-infiniti_defconfig
    • kernel/config/baldur.fragment, baldur-display.fragment, baldur-netfilter.fragment, baldur-extra.fragment.
      Origins of every patch: kernel/PROVENANCE.md.
  • Out-of-tree module snd-soc-aw882xx (GPL-2.0): kernel/out-of-tree/aw882xx.
  • Initramfs: kernel/initramfs, userspace/platform/src/keyhold.c, android/back-to-android.
  • BusyBox 1.36.1 (GPL-2.0), unmodified, source attached (sha256 b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314);
    static aarch64 binary sha256 9ebb421890774102b38919eced19cd3ccd51a984ac0599cbc763f1b09dad11e7.
  • Terminus Font (SIL OFL 1.1, console), wireless-regdb regulatory.db (ISC, sha256 2fb33ca0074db573e05ef7dd50bb45b63c0ff98b7e852e1105ebad536fae8e6b).

Licences of the repository: NOTICE. Modified builds use their own name: TRADEMARKS.md.