Skip to content

S9 iOS 27 night: USB-console shell for test roots (devsh=1), dpkg records for Sileo/ElleKit - #304

Draft
claudiusthebot wants to merge 3 commits into
s9/p1-everydayfrom
s9/night-sileo
Draft

claudiusthebot wants to merge 3 commits into
s9/p1-everydayfrom
s9/night-sileo

Conversation

@claudiusthebot

Copy link
Copy Markdown
Collaborator

Work in progress from the 13-14 Nov night run (agent s9-night-sileo). Not run on a phone yet (the phone was unplugged when this was pushed).

  • drivers/usb/hakios.dwc3.c: the USB console's sh LINE (boot-arg devsh=1, off by default). A root helper (tools/ios27/devsh/devshd.c, launchd job com.scion.devsh, added only to a test root by devsh-step.sh) takes each line through kern.hakios.devsh.cmd and prints its output back as sh| ... through kern.hakios.devsh.out. Both sysctls are root-only and answer ENOENT without the boot-arg. Nothing listens on a network.
  • tools/mk-jb.sh + tools/ios27/sileo/dpkg-info.py: dpkg's file list, sums and scripts for Sileo and ElleKit, which mk-jb.sh unpacks by hand. On phone 1, dpkg --audit printed 172 lines: Sileo had no list, and 165 packages that firmware makes had no sums. prep.sh now gives a list that names no file an empty sums file. Checked by running mk-jb.sh (PREINSTALL=) on the Mac mini.

🤖 Generated with Claude Code

…ult); tools/ios27/devsh

The console could set sysctls, tap and shoot the screen, but not ask user space anything: every question about
a program on the phone meant a launchd job on the root, a reboot and a pull in TWRP. With the boot-arg devsh=1,
"sh WORDS" queues a line (a trailing backslash continues it: a console line is at most 127 bytes); a root helper
takes it with sysctl kern.hakios.devsh.cmd and returns its output line by line with kern.hakios.devsh.out, which
the console prints as "sh| ...". Both sysctls are root only and answer ENOENT without devsh=1, and then the
helper exits for the boot. Nothing listens on a network; the way in is the USB cable.

tools/ios27/devsh: devshd.c (the helper: @mobile runs a line as 501, @bg does not wait, @t=N sets the time limit),
build.sh, devsh-step.sh ROOT [undo] (the helper and its launchd job com.scion.devsh on a test root).
…s); firmware's packages get empty sums

mk-jb.sh unpacks Sileo (and ElleKit) by hand and writes only their status entries. dpkg then warns "files list
file for package 'org.coolstar.sileo' missing" at every run and 'dpkg --audit' names it broken; on phone 1
(13 Nov) the audit printed 172 lines: Sileo without a list, and the 165 packages usr/libexec/firmware makes
(firmware, cy+*, gsc.*), whose lists name no file, without sums files.

tools/ios27/sileo/dpkg-info.py DEB ADMINDIR writes info/PKG.{list,md5sums} and the maintainer scripts from the
package itself (checking every file is in the tree); prep.sh gives a list that names no file an empty sums file.
Run here with PREINSTALL=: Sileo 337 paths, 283 files; ElleKit 31 paths, 6 files.
…iOS 27 SDK, dpkg audit, Sileo's lists are apt's); DEVSH.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant