public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Anton Mikanovich <amikan@ilbers.de>
To: isar-users@googlegroups.com
Cc: Anton Mikanovich <amikan@ilbers.de>
Subject: [PATCH v9 0/8] Migrate to mmdebstrap
Date: Fri, 14 Jun 2024 14:34:17 +0300	[thread overview]
Message-ID: <20240614113425.122722-1-amikan@ilbers.de> (raw)

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


             reply	other threads:[~2024-06-14 11:34 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-14 11:34 Anton Mikanovich [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240614113425.122722-1-amikan@ilbers.de \
    --to=amikan@ilbers.de \
    --cc=isar-users@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox