Skip to content

Latest commit

 

History

History
133 lines (112 loc) · 5.24 KB

File metadata and controls

133 lines (112 loc) · 5.24 KB

Session Log — Pixel 7 Custom ARM64 Linux Project


Session 1 — 2026-02-28

What Was Covered

  • Investigated installing Kali NetHunter on Pixel 7 (panther), Android 16 (BP2A.250605.031.A2)
  • Researched NetHunter support for panther + Android 16
  • Pivoted to building a custom Linux distro from scratch

Research Findings

  • No official NetHunter build exists for Pixel 7 (panther)
  • Community kernel (Mad-Kali-MaxHunter) exists but only supports Android 13
  • NetHunter officially maxes at Android 15 — panther not listed at all
  • Android 16 not supported by any NetHunter build

Decisions Made

  • Approach: Pure LFS (Linux From Scratch) compiled by hand
  • Build host: User's Arch Linux machines (native Linux, no WSL)
  • Target: aarch64-lfs-linux-gnu (ARM64 for Pixel 7 Tensor G2)
  • Test strategy: Run in proot via Termux first, then potentially flash bare metal
  • GUI plan: XFCE4 + Termux:X11 (better than VNC)
  • Goals: GUI, terminal, SSH, programming, security tools — full cyberdeck

What Was Set Up (Phase 0 Steps)

Phase 0 instructions provided — user to run on Arch machine:

  1. sudo pacman -S --needed base-devel wget curl git texinfo help2man gawk bison flex bc python3 rsync
  2. Create /mnt/lfs directory structure (sources/, tools/, cross-tools/)
  3. Create dedicated lfs build user
  4. Configure ~/.bash_profile and ~/.bashrc for clean build environment
  5. Download source tarballs:
    • binutils-2.43.1, gcc-14.2.0, glibc-2.40
    • mpfr-4.2.1, gmp-6.3.0, mpc-1.3.1
    • linux-6.10.5 (for kernel headers)

What Was NOT Done Yet

  • Phase 0 not yet confirmed complete on user's machine
  • Phase 1 (cross-toolchain build) not started
  • Init system not yet chosen
  • C library not yet confirmed (glibc assumed)

What Worked / What Didn't

  • N/A — first session, planning only

Next Session: Start Here

  1. Confirm Phase 0 is complete (packages installed, dirs created, lfs user set up, tarballs downloaded)
  2. Begin Phase 1 — Step 1: Build cross binutils targeting aarch64-lfs-linux-gnu
  3. Decide on init system (runit recommended for simplicity)

Future Plans / Ideas

  • Consider adding package manager once rootfs is stable (apk or custom)
  • Explore musl libc as alternative to glibc for smaller image
  • Look into GKI kernel builds for Tensor G2 once rootfs is working in proot
  • Possible: contribute panther support back to PostmarketOS or NetHunter
  • Bluetooth keyboard pairing guide for cyberdeck hardware setup
  • Dotfiles/config repo for the custom distro once it's working

Session 2 — 2026-03-04

What Was Covered

  • Questioned the role of Termux — decided against it as a dependency
  • Reviewed PowerPoint: "Ghost in The Droid - Android Ghost Phone Workshop" by Connor Costigan
  • Extracted key info: Android boot flow, AOSP/GSI concepts, AVD emulator setup
  • Evaluated AOSP as a build/test option — decided against it (Android-based, not Linux from scratch)
  • Finalized deployment strategy

Key Decisions Made

  • No Termux dependency — chroot via Magisk root instead of proot via Termux
  • GUI via VNC — VNC server in chroot + Android VNC client (no Termux:X11 needed)
  • AOSP emulator skipped — wrong tool for a raw Linux rootfs
  • Bootloader unlock moved earlier — Phase 3, before rootfs deployment
  • Bare metal kept as Phase 6 — waiting on Tensor G2 mainline kernel support

Revised Phase Plan

Phase Task
0 Arch host setup ← current
1 Cross-toolchain (aarch64)
2 Core packages
3 Unlock Pixel 7 bootloader + root with Magisk
4 Deploy rootfs via chroot on Pixel 7
5 XFCE4 + VNC + cyberdeck tools
6 Bare metal (future)

Useful Info from PowerPoint

  • Android boot flow: Power ON → ROM → Bootloader → Kernel → init.rc → Zygote → System Server
  • GSI (Generic System Image) — Pixel 7 supports GSI flashing natively (useful for Phase 6)
  • AOSP emulator uses Pixel 6 + Android 14 AOSP image = root without rooting (useful reference)
  • F-Droid confirmed as the right source for open source Android apps if needed

Project Files Created This Session

  • memory/MEMORY.md — persistent Claude memory
  • sesh_log.md — this file
  • README.md — GitHub project overview
  • .gitignore
  • docs/build-guide.md
  • docs/phase-0-setup.md
  • Pushed to GitHub: https://github.com/KevinSays/Linux-K

What Was NOT Done Yet

  • Phase 0 not yet confirmed complete on user's Arch machine
  • Phase 1 not started

Next Session: Start Here

  1. Confirm Phase 0 complete on Arch machine (packages, dirs, lfs user, tarballs)
  2. Begin Phase 1 — build cross binutils first:
    su - lfs
    cd $LFS/sources
    tar -xf binutils-2.43.1.tar.xz
    cd binutils-2.43.1
    mkdir build && cd build
    ../configure --prefix=$LFS/cross-tools \
      --target=$LFS_TGT \
      --with-sysroot=$LFS \
      --disable-nls \
      --enable-gprofng=no \
      --disable-werror
    make && make install

Future Plans / Ideas

  • Consider musl libc for smaller image size
  • Look into GKI kernel source for Pixel 7 panther (for Phase 6)
  • Bluetooth keyboard setup guide for physical cyberdeck
  • Custom bootscreen / distro branding
  • Dotfiles repo for the custom environment once running