Internal install: Linux on userdata, kernel booted from it directly #15
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Move the rootfs off the SD card onto the internal UFS by reusing the
userdatapartition, and boot the kernel straight out of it.Why userdata
It is the only partition big enough, we do not need Android's data, and — importantly — this is not a GPT change. We ruled out repartitioning because we could not confirm sboot's behaviour, but reformatting an existing partition is not the same thing. Reading ABL's
Partition.cand Samsung's XBL additions turned up no partition-table integrity check, and reusinguserdataavoids the question entirely.The payoff is real: UFS measured ~891 MB/s vs the SD card, so this is the single biggest performance win left.
Boot path
U-Boot already has
CONFIG_SCSI=y,CONFIG_CMD_SCSI=yandCONFIG_CMD_EXT4=y, so it can read ext4 on UFS:So the kernel lives in
/booton the rootfs like any normal Linux system — no separate boot partition, no Android boot image, no CRC sidecar. See u-boot-gts6l#1.This also makes the
linux-gts6lpackage actually meaningful:pacman -Uinstalls/boot/Image.gz+/boot/dtbs/...and that is what boots.Steps
scsi scan; ext4ls scsi 0:N /boot. Our filesystem usesorphan_file(TWRP's e2fsck rejected it), so verify U-Boot's ext4 driver copes before depending on it.userdata(mkfs.ext4 — consider disabling newer features if U-Boot struggles).root=inbootargs.Caveats
fbautofastboot fallback and TWRP remain as recovery.