Boot the kernel directly from ext4 (drop the FAT partition, image repack and CRC sidecar) #1
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?
Today booting Linux takes five steps: build kernel → repack into an Android boot image with a baked-in cmdline → compute CRC32 → write image +
.crcsidecar to the SD FAT partition →sdbootloads it, verifies the CRC and boots. That whole apparatus exists only because a raw image on FAT has no integrity check.U-Boot can already do better — our build has:
So we can load the kernel straight out of the rootfs:
…and the same with
ext4load scsi 0:Nonce we install to UFS (see the internal-install issue).Why this is worth doing
linux-gts6linstalls/boot/Image.gzand/boot/dtbs/...— exactly what U-Boot would load. Kernel updates becomepacman -U, with no repack, no CRC, no manual deploy.bootargsin the U-Boot env, which is persistent on UFS and editable from Linux viagts6l-env. Today switching golden↔debug means rebuilding the boot image — the trap that nearly gave us a single-core tablet (maxcpus=1is build-617.sh's default).Steps
ext4ls mmc 0:2 /bootfrom the console. Non-destructive, and worth knowing before rewritingsdboot— TWRP'se2fsckalready choked on our fs (FEATURE_C12/orphan_file), so U-Boot's ext4 driver may have gaps with newer features.ext4bootenv target alongsidesdboot; keepsdbootas fallback until it's proven.bootmverifies for us and the CRC sidecar concept dies properly rather than being replaced by nothing.Risk
The rootfs becomes the boot path, so filesystem damage costs booting. Mitigated by the existing
fbautofastboot fallback and by TWRP being untouched on its own partition.