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/
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).
I don't think that's going to be an issue timing-wise. To be fair, if they >aren't perfect yet by the time the release happens, we could always fix
stuff in unstable and backport a few things to stable.
Alper Nebi Yasak <alpernebiyasak@gmail.com> (2022-12-03):
I'd like these two udebs to be sponsored. [...]
I don't think that's going to be an issue timing-wise. To be fair, if they aren't perfect yet by the time the release happens, we could always fix
stuff in unstable and backport a few things to stable.
The only thing I'll probably want to make extra sure of is that
introducing those packages doesn't have any nasty side effects for other machines.
[...]
All of this is very interesting, I'm not sure where it would be best to
keep all relevant documentation. Maybe some dedicated wiki page?
Since the packages contain translatable material, my 2 cents here:
I would propose to *not* add the new packages to the l10n machinery
before the release of bookworm, given were are late in the development
cycle.
Means, the new packages would be english-only (at least for the initial release of bookworm).
I guess that's ok by you?
I've glanced at depthcharge-tools-installer and while I'm no debconf
expert and I can't assess the postinst with high certainty, the overall impression was good enough for me to sign and upload; I did change the Maintainer to debian-boot@ (same as other packages under installer-team/)
and moved you to Uploaders, so you might want to subscribe via tracker
once the package is accepted if you don't follow debian-boot@.
It might make sense to have some kind of review of the translatable
material before hooking it up with the l10n sync machinery, so that translators don't have to submit an initial translation that might get outdated if some strings get marked fuzzy shortly afterwards. I think debian-l10n-english@ might have been put in the loop in the past, but it's been a while since I was involved with l10n efforts.
Regarding adding that package to the l10n sync mechanism, I suppose it
could be done as soon as such a review has happened, we only need to make sure we don't add the package to the list of packages that count for the
l10n stats (and the resulting translation-status file that helps d-i
display a warning if a translation isn't complete enough). But I'll defer
to Holger Wansing entirely, who knows about that much more than I do.
I'm happy to have those moved under installer-team/ whenever is most convenient for you and your potential sponsor.
I can't promise to do the reviewing/uploading right away (I'd like to
tie up some loose ends first), but hopefully I can try and have a look
once I'm done with updating crowdsec and its huge bunch of new
dependencies. :)
Feel free to hit me up next week-end if you haven't seen anything
move.
It might make sense to have some kind of review of the translatable
material before hooking it up with the l10n sync machinery, so that translators don't have to submit an initial translation that might get outdated if some strings get marked fuzzy shortly afterwards. I think debian-l10n-english@ might have been put in the loop in the past, but it's been a while since I was involved with l10n efforts.
Regarding adding that package to the l10n sync mechanism, I suppose it
could be done as soon as such a review has happened, we only need to make sure we don't add the package to the list of packages that count for the
l10n stats (and the resulting translation-status file that helps d-i
display a warning if a translation isn't complete enough). But I'll defer
to Holger Wansing entirely, who knows about that much more than I do.
Therefore, I will sent a notice to debian-i18n, to warn translators from working directly on depthcharge-tools-installer and partman-cros.
And since a source-only upload is needed anyway to get them migrated
to unstable, I wanted to upload that change, but I forgot that I have
no upload rights for these new packages currently.
I don't think you should do that before they've been accepted from NEW?
Kibi, could you provide me with the needed upload rights?
I've added both packages to your UID's ACL via the right commands file
but I'm not sure that's going to be successful since those are unknown >packages at the moment. We'll see.
I have added a hint into the templates.pot file for these packages, to
make translators, who get the file, aware of the special situation and uncommon workflow.
And since a source-only upload is needed anyway to get them migrated
to unstable, I wanted to upload that change, but I forgot that I have
no upload rights for these new packages currently.
Kibi, could you provide me with the needed upload rights?
Ah, yes, you are right.
I mixed things up here:
those packages will come into unstable, if they are processed by ftpmaster in NEW queue.
But they will then not migrate to testing automatically.
For that, a source-only upload is needed.
Ok, so we have some time here...
Kibi, could you provide me with the needed upload rights?
I've added both packages to your UID's ACL via the right commands file
but I'm not sure that's going to be successful since those are unknown
packages at the moment. We'll see.
Ok, thanks.
I've glanced at depthcharge-tools-installer and while I'm no debconf
expert and I can't assess the postinst with high certainty, the overall impression was good enough for me to sign and upload; I did change the Maintainer to debian-boot@ (same as other packages under installer-team/)
and moved you to Uploaders, so you might want to subscribe via tracker
once the package is accepted if you don't follow debian-boot@.
[...]
A couple of nitpicks/questions anyway:
- depthcharge_tools_set_board():
The generated comment mentions preseed while I don't think preseed is
involved at all, and I suppose the comment should just mention
debian-installer instead?
- initramfs_tools_conf():
Having MODULES overriden in a separate config file might be surprising
to admins. Did you consider adjusting this variable directly in the
main initramfs-tools config file instead?
- isinstallable:
It mentions “these values” but only checks for one. Should there other
patterns in that grep?
Thanks for the upload, and for the tracker subscription tip. I filter debian-boot@ into a folder that I do try to read, but a way that could
notify me more prominently could be better.
It's only created if depthcharge-tools-installer/board is set. That
template is not asked as a user-visible question, but can be set via a preseed file or in the kernel command line [1]. I do the latter for
testing things in a VM, and meant that by 'preseed'.
[1] Using boot parameters to preseed questions https://www.debian.org/releases/testing/amd64/apbs02.en.html#preseed-bootparms
I tried to match what base-installer does [2]. In general, I think it's better to prefer config.d mechanisms over modifying the config files, to avoid conffile conflicts if/when the defaults change later on.
[2] base-installer initramfs-tools driver inclusion policy handling https://salsa.debian.org/installer-team/base-installer/-/blob/master/library.sh#L571-592
Outdated comment that I missed. There's also cros_efi and cros_legacy,
but they are included in some (apparently broken) GRUB/syslinux .cfg
files to tell ChromeOS that we're not using its verified boot method. I
used to check for them until I figured out it doesn't make sense to.
So if I understand it right, things will go mostly in this flow:
- depthcharge-tools-installer and partman-cross pass NEW review
- Holger uploads version 2 for both, with note for translators (Thanks!)
- No translation work is done for the two packages for now
- Bookworm releases
- The templates' original texts get reviewed for English
- The packages are integrated to d-i l10n workflow
- Translators start working on the packages for Trixie within d-i
Am 14. Dezember 2022 16:50:58 MEZ schrieb Alper Nebi Yasak <alpernebiyasak@gmail.com>:
So if I understand it right, things will go mostly in this flow:
- depthcharge-tools-installer and partman-cross pass NEW review
- Holger uploads version 2 for both, with note for translators (Thanks!)
- No translation work is done for the two packages for now
- Bookworm releases
- The templates' original texts get reviewed for English
- The packages are integrated to d-i l10n workflow
- Translators start working on the packages for Trixie within d-i
That would be my plan, yes.
On 15/12/2022 00:21, Holger Wansing wrote:
Am 14. Dezember 2022 16:50:58 MEZ schrieb Alper Nebi Yasak <alpernebiyasak@gmail.com>:
So if I understand it right, things will go mostly in this flow:
- depthcharge-tools-installer and partman-cross pass NEW review
- Holger uploads version 2 for both, with note for translators (Thanks!) >> - No translation work is done for the two packages for now
- Bookworm releases
- The templates' original texts get reviewed for English
- The packages are integrated to d-i l10n workflow
- Translators start working on the packages for Trixie within d-i
That would be my plan, yes.
depthcharge-tools-installer is in unstable now, I guess you should be
able to upload version 2?
I've been trying to make Debian easier to install and use on Chromebooks
by adding integration to support their stock firmware/bootloader.
[...]
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...
Hi,
Am 14. Dezember 2022 16:50:58 MEZ schrieb Alper Nebi Yasak <alpernebiyasak@gmail.com>:
So if I understand it right, things will go mostly in this flow:
- depthcharge-tools-installer and partman-cross pass NEW review
- Holger uploads version 2 for both, with note for translators (Thanks!)
- No translation work is done for the two packages for now
- Bookworm releases
- The templates' original texts get reviewed for English
- The packages are integrated to d-i l10n workflow
- Translators start working on the packages for Trixie within d-i
That would be my plan, yes.
Holger Wansing <hwansing@mailbox.org> wrote (Wed, 14 Dec 2022 22:21:42 +0100):
Am 14. Dezember 2022 16:50:58 MEZ schrieb Alper Nebi Yasak <alpernebiyasak@gmail.com>:
So if I understand it right, things will go mostly in this flow:
- depthcharge-tools-installer and partman-cross pass NEW review
- Holger uploads version 2 for both, with note for translators (Thanks!) >>> - No translation work is done for the two packages for now
- Bookworm releases
- The templates' original texts get reviewed for English
- The packages are integrated to d-i l10n workflow
- Translators start working on the packages for Trixie within d-i
That would be my plan, yes.
I have now added them to the l10n-machinery.
Translation material should appear for translators then shortly.
On 26/06/2023 20:14, Holger Wansing wrote:
I have now added them to the l10n-machinery.
Translation material should appear for translators then shortly.
Thank you. I have already received some translations as bug reports, how >should I process them?
Hi,
Holger Wansing <hwansing@mailbox.org> wrote (Wed, 14 Dec 2022 22:21:42 +0100):
Hi,
Am 14. Dezember 2022 16:50:58 MEZ schrieb Alper Nebi Yasak <alpernebiyasak@gmail.com>:
So if I understand it right, things will go mostly in this flow:
- depthcharge-tools-installer and partman-cross pass NEW review
- Holger uploads version 2 for both, with note for translators (Thanks!) >- No translation work is done for the two packages for now
- Bookworm releases
- The templates' original texts get reviewed for English
- The packages are integrated to d-i l10n workflow
- Translators start working on the packages for Trixie within d-i
That would be my plan, yes.
I have now added them to the l10n-machinery.
Translation material should appear for translators then shortly.
Holger
--
Holger Wansing <hwansing@mailbox.org>
PGP-Fingerprint: 496A C6E8 1442 4B34 8508 3529 59F1 87CA 156E B076
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 483 |
Nodes: | 16 (2 / 14) |
Uptime: | 12:48:49 |
Calls: | 9,616 |
Calls today: | 2 |
Files: | 13,692 |
Messages: | 6,156,081 |