Hi, I've been trying to make Debian easier to install and use on Chromebooks by adding integration to support their stock firmware/bootloader. The major part of that work is 'depthcharge-tools' which manages bootloader-specific stuff and kernel/initramfs upgrade hooks, recently sponsored and now in the archive.
Another part of this is making d-i install a bootable system, where we need to create a custom partition and then write a special image to it. For these I have two udeb packages: 'partman-cros' [1] that does partman integration and 'depthcharge-tools-installer' [2] which installs and runs depthcharge-tools in-target. I'd like these two udebs to be sponsored. I know I'm quite late with these, but hoping it's not too late for bookworm installer changes. They are somewhat small, `cat **/* | wc -l` gives around 400-600 lines each. I tested them on the two Chromebooks I have (one arm64, one x86). Here are the salsa links for the packages (I'd welcome moving them to the installer-team namespace), they are on mentors.debian.net as well if anyone prefers a dsc + tarball: [1] https://salsa.debian.org/alpernebbi/partman-cros [2] https://salsa.debian.org/alpernebbi/depthcharge-tools-installer They can be tested on non-ChromeOS devices as well (a VM or actual UEFI hardware), by roughly doing: - Build both my packages above and save the two resulting udeb files - Clone https://salsa.debian.org/installer-team/debian-installer - Place the newly built udebs in build/localudebs - Create a build/pkg-lists/local file with contents: partman-cros depthcharge-tools-installer live-installer - - (without indents, and the '-' on the last line is intentional) - Build that as a Debian package (or see its README for build details) - Check the resulting debian-installer-images tar.gz file for images - Extract netboot/gtk/mini.iso - Boot a QEMU VM with it as cdrom, and a disk image to install to - Prepend "cros_secure" to the kernel cmdline in the GRUB menu - Follow the installer prompts (ideally everything should be obvious) - There's a warning if you don't create ChromeOS Kernel partitions - Create one big enough (512MB is great) or get error at the very end - (The GRUB installation step will be skipped, manually run it afterwards if you want to UEFI boot into the resulting system) That should go through the most likely case. There's custom logic to ask to make initramfs smaller if it doesn't fit the board's size limit, but never triggered on x86 due to arch differences. If you do an arm64 build you can test that by adding "depthcharge-tools-installer/board=kevin" to the kernel cmdline. It's harder to test on chromebooks the native way. On the boards I have, the d-i netboot builds either doesn't fit the board's size limit (arm64) or doesn't show any graphics (x86). But using a secondary bootloader and adding the 'cros_secure' via GRUB works well to bootstrap their native boot flow. (I can try to provide instructions if anyone wants, but this email's already rather long.) There are some more details and screenshots of the whole thing at my DebConf22 talk [3], though I've changed some things a bit since then. AFAICT the next steps after this are modifying the debian-installer repo to build custom images bootable this way and kernel/initramfs/modules-udebs changes for more boards as needed... [3] Solving "How Can I Run Debian on My Chromebook?" For Good https://debconf22.debconf.org/talks/87-solving-how-can-i-run-debian-on-my-chromebook-for-good/