public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Vijai Kumar K <Vijaikumar_Kanagarajan@mentor.com>
To: <isar-users@googlegroups.com>
Cc: Vijai Kumar K <Vijaikumar_Kanagarajan@mentor.com>
Subject: [RFC PATCH 00/10] WIC update
Date: Mon, 24 Aug 2020 14:57:40 +0530	[thread overview]
Message-ID: <20200824092750.19642-1-Vijaikumar_Kanagarajan@mentor.com> (raw)

The following series updates the wic to the latest one from
openembedded core. The git tree is available here.

https://github.com/vj-kumar/isar/tree/wic/staging0

Below are summary of key changes in the below series.

P3 & P6:
  The latest version of WIC detects the presence of fakeroot using
pseudo_dir(${IMAGE_ROOTFS}/../pseudo). If this is non-existent it doesnot
use fakeroot. P3 handles that quirk. There is also a standalone invocation of
pseudo which P6 tries to handle via wic_fakeroot.

In case of ISAR, we need wic_fakeroot as fakeroot only for 2 purposes.
1. To workaround fsck return values for stretch
2. To handle standalone invocation of pseudo(P4 in series)

Number 2 is not needed if we dont use fakeroot.

The alternative approach to fakeroot is to carry patches on top of wic
directory instead of working around such quirks using fakeroot. The downside
being the need to rebase the local changes on future updates of wic.


P4 & P5:
  These cherry-picked changes address the --exclude-path issues which Henning
has addressed in [2]. Should be dropped once that is merged.

P9:
  P9 is needed for --include-path to work. I have observed that --include-path
does not yet work/broken in the latest OE-core/poky. Posted a query in [1]. In ISAR
it works with P9 fix. P9 fix could also be relevant upstream and can be sent there
for review.

Apart from the normal qemu build test, Below are the list of features tested.
KS API:
--exclude-path
--include-path
--fsuuid
--overhead-factor
--fixed-size
--use-label
--use-uuid

Standalone invocations:
wic ls
wic cp
wic rm

Currently in the process of finding a way to test wic features automatically. Some wic features
like -fsuuid cannot be validated till we boot the target. Need to find a generalized way for
testing the available wic features. The approach in hand is to use a wic-test.wks file and
generate qemu image with that to validate the wic features.

[1] https://lists.yoctoproject.org/g/poky/message/12151
[2] https://groups.google.com/g/isar-users/c/xePCyEl2qhM/m/mwFdeou0AQAJ


Henning Schild (1):
  lib/oe/path: try hardlinking instead of guessing when it might fail

Paul Barker (1):
  oe.path: Add copyhardlink() helper function

Vijai Kumar K (8):
  wic: Update to the latest wic from openembedded core
  wic/plugins: Fix wic plugins to work with the latest wic
  wic-img: Satisfy the quirks of latest wic
  wic_fakeroot: Handle standalone pseudo invocations
  meta-isar/conf: Add provision to debug WIC
  debian-common: Add tar as a dependency for wic
  scripts/lib/wic: Add /bin to the list of searchpaths
  meta-isar/canned-wks: Remove /boot mountpoint

 meta-isar/conf/local.conf.sample              |   3 +
 .../lib/wic/canned-wks/common-isar.wks.inc    |   2 +-
 .../scripts/lib/wic/canned-wks/hikey.wks      |   2 +-
 .../lib/wic/canned-wks/sdimage-efi.wks        |   2 +-
 meta/classes/wic-img.bbclass                  |  15 +-
 meta/conf/distro/debian-common.conf           |   3 +-
 meta/lib/oe/path.py                           |  27 +-
 .../wic/plugins/source/bootimg-efi-isar.py    |   2 +-
 .../wic/plugins/source/bootimg-pcbios-isar.py |   9 +-
 .../lib/wic/plugins/source/rootfs-u-boot.py   |   2 +-
 scripts/lib/scriptpath.py                     |  32 ++
 scripts/lib/wic/__init__.py                   |  14 +-
 scripts/lib/wic/canned-wks/common.wks.inc     |   2 +-
 .../directdisk-bootloader-config.cfg          |   8 +-
 .../lib/wic/canned-wks/efi-bootdisk.wks.in    |   3 +
 scripts/lib/wic/canned-wks/mkhybridiso.wks    |   2 +-
 scripts/lib/wic/canned-wks/qemuriscv.wks      |   3 +
 .../lib/wic/canned-wks/qemux86-directdisk.wks |   2 +-
 .../lib/wic/canned-wks/sdimage-bootpart.wks   |   4 +-
 .../lib/wic/canned-wks/systemd-bootdisk.wks   |   4 +-
 scripts/lib/wic/engine.py                     | 421 +++++++++++++++-
 scripts/lib/wic/filemap.py                    | 170 ++++---
 scripts/lib/wic/help.py                       | 401 ++++++++++++++--
 scripts/lib/wic/ksparser.py                   | 115 +++--
 scripts/lib/wic/{utils => }/misc.py           | 100 ++--
 scripts/lib/wic/partition.py                  | 234 ++++-----
 scripts/lib/wic/pluginbase.py                 |  36 +-
 scripts/lib/wic/plugins/imager/direct.py      | 175 ++++---
 .../wic/plugins/source/bootimg-biosplusefi.py | 213 +++++++++
 scripts/lib/wic/plugins/source/bootimg-efi.py | 111 +++--
 .../wic/plugins/source/bootimg-partition.py   | 153 ++++--
 .../lib/wic/plugins/source/bootimg-pcbios.py  |  91 ++--
 scripts/lib/wic/plugins/source/fsimage.py     |  56 ---
 .../wic/plugins/source/isoimage-isohybrid.py  | 185 +++----
 scripts/lib/wic/plugins/source/rawcopy.py     |  44 +-
 scripts/lib/wic/plugins/source/rootfs.py      | 159 ++++--
 scripts/lib/wic/utils/__init__.py             |   0
 scripts/lib/wic/utils/runner.py               | 114 -----
 scripts/wic                                   | 452 +++++++++++++-----
 scripts/wic_fakeroot                          |   5 +
 40 files changed, 2340 insertions(+), 1036 deletions(-)
 create mode 100644 scripts/lib/scriptpath.py
 create mode 100644 scripts/lib/wic/canned-wks/efi-bootdisk.wks.in
 create mode 100644 scripts/lib/wic/canned-wks/qemuriscv.wks
 rename scripts/lib/wic/{utils => }/misc.py (70%)
 create mode 100644 scripts/lib/wic/plugins/source/bootimg-biosplusefi.py
 delete mode 100644 scripts/lib/wic/plugins/source/fsimage.py
 delete mode 100644 scripts/lib/wic/utils/__init__.py
 delete mode 100644 scripts/lib/wic/utils/runner.py

-- 
2.17.1


             reply	other threads:[~2020-08-24  9:28 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-24  9:27 Vijai Kumar K [this message]
2020-08-24  9:27 ` [RFC PATCH 01/10] wic: Update to the latest wic from openembedded core Vijai Kumar K
2020-08-24  9:27 ` [RFC PATCH 02/10] wic/plugins: Fix wic plugins to work with the latest wic Vijai Kumar K
2020-08-24  9:27 ` [RFC PATCH 03/10] wic-img: Satisfy the quirks of " Vijai Kumar K
2020-08-24  9:27 ` [RFC PATCH 04/10] oe.path: Add copyhardlink() helper function Vijai Kumar K
2020-08-24 10:59   ` [RFC PATCH 05/10] lib/oe/path: try hardlinking instead of guessing when it might fail Vijai Kumar K
2020-08-24 10:59     ` [RFC PATCH 06/10] wic_fakeroot: Handle standalone pseudo invocations Vijai Kumar K
2020-08-24 10:59     ` [RFC PATCH 07/10] meta-isar/conf: Add provision to debug WIC Vijai Kumar K
2020-08-24 10:59     ` [RFC PATCH 08/10] debian-common: Add tar as a dependency for wic Vijai Kumar K
2020-08-24 10:59     ` [RFC PATCH 09/10] scripts/lib/wic: Add /bin to the list of searchpaths Vijai Kumar K
2020-08-24 11:02       ` [RFC PATCH 10/10] meta-isar/canned-wks: Remove /boot mountpoint Vijai Kumar K
2020-08-31 14:03 ` [RFC PATCH 00/10] WIC update Jan Kiszka
2020-08-31 14:57   ` vijaikumar....@gmail.com
2020-09-01 16:53 ` vijaikumar....@gmail.com
2020-09-01 16:57   ` Jan Kiszka

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=20200824092750.19642-1-Vijaikumar_Kanagarajan@mentor.com \
    --to=vijaikumar_kanagarajan@mentor.com \
    --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