public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
* [PATCH v9 0/8] Migrate to mmdebstrap
@ 2024-06-14 11:34 Anton Mikanovich
  2024-06-14 11:34 ` [PATCH v9 1/8] isar-bootstrap: Move common parts to bbclass Anton Mikanovich
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Anton Mikanovich @ 2024-06-14 11:34 UTC (permalink / raw)
  To: isar-users; +Cc: Anton Mikanovich

Switch Isar from debootstrap to mmdebstrap.

It makes isar-bootstrap target ~10..30% faster on both cross and native
rootfs types. Some measurements on qemuarm64-bookworm (required debs are
predownloaded and used during deb-dl-import):

- 20s vs 28s for "isar-bootstrap-host"
- 1m32s vs 1m48s for "isar-bootstrap-target

Also mmdebstrap support using SOURCE_DATE_EPOCH for images reproducibly
out of the box. But the main advantage is an ability to remove sudo for
debootstrapping later on (this needs "uidmap" package installed).

This change breaks Debian Buster support as host distro, but previous
isar-bootstrap (with Buster support) still can be selected by setting
in local.conf:

PREFERRED_PROVIDER_bootstrap-host ?= "isar-bootstrap-host"
PREFERRED_PROVIDER_bootstrap-target ?= "isar-bootstrap-target"

Changes since v8:
- Rebase on next.
- Keep isar-bootstrap recipes.
- Implement bootstrap provider selection.

Changes since v7:
- Rebase on next.

Changes since v6:
- Reorder patches.

Changes since v5:
- Improve keyring handling.
- Fix mmdebstrap hooks.

Changes since v4:
- Rebase on next.
- Migrate from apt-key to gpg.
- Fix Ubuntu and RPi targets.
- Cleanup debootstrap mentions.
- Fix commit messages.

Changes since v3:
- Rebase on latest next.
- Remove temporary patch 7 since kas:4.0 already includes mmdebstrap.

Changes since v2:
- Rebase on next.
- Fix commit messages.
- Update host requirements.

Changes since v1:
- Move mmdebstrap tmpdir to workdir.
- Fix kas building.
- Improve mounts cleanup.

Anton Mikanovich (8):
  isar-bootstrap: Move common parts to bbclass
  meta: Add mmdebstrap recipe
  meta: Allow selecting bootstrap providers
  testsuite: Allow variable bootstrap providers
  mmdebstrap: Fix missing dpkg available
  mmdebstrap: Move preparations to hooks
  isar-bootstrap: Use tar output instead of directory
  user_manual.md: Update boostrap related documentation

 RECIPE-API-CHANGELOG.md                       |  13 +
 doc/user_manual.md                            |  15 +-
 meta-isar/conf/local.conf.sample              |   4 +
 meta/classes/bootstrap.bbclass                | 229 +++++++++++++++++
 meta/classes/rootfs.bbclass                   |  13 +-
 meta/conf/bitbake.conf                        |   3 +
 .../isar-bootstrap/isar-bootstrap-host.bb     |   2 +
 .../isar-bootstrap/isar-bootstrap-target.bb   |   2 +
 .../isar-bootstrap/isar-bootstrap.inc         | 243 +-----------------
 .../isar-mmdebstrap/isar-mmdebstrap-host.bb   |  19 ++
 .../isar-mmdebstrap/isar-mmdebstrap-target.bb |  14 +
 .../isar-mmdebstrap/isar-mmdebstrap.inc       | 215 ++++++++++++++++
 testsuite/cibase.py                           |   7 +-
 13 files changed, 538 insertions(+), 241 deletions(-)
 create mode 100644 meta/classes/bootstrap.bbclass
 create mode 100644 meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap-host.bb
 create mode 100644 meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap-target.bb
 create mode 100644 meta/recipes-core/isar-mmdebstrap/isar-mmdebstrap.inc

-- 
2.34.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-06-14 11:34 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-06-14 11:34 [PATCH v9 0/8] Migrate to mmdebstrap Anton Mikanovich
2024-06-14 11:34 ` [PATCH v9 1/8] isar-bootstrap: Move common parts to bbclass Anton Mikanovich
2024-06-14 11:34 ` [PATCH v9 2/8] meta: Add mmdebstrap recipe Anton Mikanovich
2024-06-14 11:34 ` [PATCH v9 3/8] meta: Allow selecting bootstrap providers Anton Mikanovich
2024-06-14 11:34 ` [PATCH v9 4/8] testsuite: Allow variable " Anton Mikanovich
2024-06-14 11:34 ` [PATCH v9 5/8] mmdebstrap: Fix missing dpkg available Anton Mikanovich
2024-06-14 11:34 ` [PATCH v9 6/8] mmdebstrap: Move preparations to hooks Anton Mikanovich
2024-06-14 11:34 ` [PATCH v9 7/8] isar-bootstrap: Use tar output instead of directory Anton Mikanovich
2024-06-14 11:34 ` [PATCH v9 8/8] user_manual.md: Update boostrap related documentation Anton Mikanovich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox