public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
* [PATCH v2 0/3] Update Isar documentation
@ 2021-10-28 17:17 Anton Mikanovich
  2021-10-28 17:17 ` [PATCH v2 1/3] doc: Add imager dependencies section Anton Mikanovich
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Anton Mikanovich @ 2021-10-28 17:17 UTC (permalink / raw)
  To: isar-users; +Cc: Anton Mikanovich

Update Isar documentation files.

Anton Mikanovich (3):
  doc: Add imager dependencies section
  doc: Update tasks description
  doc: Update available image types

 doc/technical_overview.md | 56 +++++++++++++++++++++++----------------
 doc/user_manual.md        | 30 +++++++++++++++++++--
 2 files changed, 61 insertions(+), 25 deletions(-)

-- 
2.25.1


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

* [PATCH v2 1/3] doc: Add imager dependencies section
  2021-10-28 17:17 [PATCH v2 0/3] Update Isar documentation Anton Mikanovich
@ 2021-10-28 17:17 ` Anton Mikanovich
  2021-10-28 20:17   ` Henning Schild
  2021-10-28 17:17 ` [PATCH v2 2/3] doc: Update tasks description Anton Mikanovich
  2021-10-28 17:17 ` [PATCH v2 3/3] doc: Update available image types Anton Mikanovich
  2 siblings, 1 reply; 5+ messages in thread
From: Anton Mikanovich @ 2021-10-28 17:17 UTC (permalink / raw)
  To: isar-users; +Cc: Anton Mikanovich

Include into user_manual.md explanation of imager dependencies should
be added if using wic image type with bootloader-related plugins.

Inspired by issue #69

Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
---
 doc/user_manual.md | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/doc/user_manual.md b/doc/user_manual.md
index 01fe701..1b00a47 100644
--- a/doc/user_manual.md
+++ b/doc/user_manual.md
@@ -586,6 +586,22 @@ Isar contains additional image type classes that can be used as reference:
  - `ubi-img`
  - `wic-img`
 
+### Imager dependencies and bootloaders
+
+External tools used for final image prepare inside image type classes should be declared as `IMAGER_INSTALL`.
+It will make Isar to install following packages into buildchroot before proceeding.
+
+If using `wic-img` image type correct bootloader dependecy should be added to target machine config based on selected wic plugin.
+
+When using legacy BIOS bootloader (amd64/i386 only) dependency on syslinux should be used:
+```
+IMAGER_INSTALL += "${SYSLINUX_BOOTLOADER_INSTALL}"
+```
+When using EFI bootloader dependency on GRUB should be added:
+```
+IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}"
+```
+
 ---
 
 ## Customize and configure image
-- 
2.25.1


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

* [PATCH v2 2/3] doc: Update tasks description
  2021-10-28 17:17 [PATCH v2 0/3] Update Isar documentation Anton Mikanovich
  2021-10-28 17:17 ` [PATCH v2 1/3] doc: Add imager dependencies section Anton Mikanovich
@ 2021-10-28 17:17 ` Anton Mikanovich
  2021-10-28 17:17 ` [PATCH v2 3/3] doc: Update available image types Anton Mikanovich
  2 siblings, 0 replies; 5+ messages in thread
From: Anton Mikanovich @ 2021-10-28 17:17 UTC (permalink / raw)
  To: isar-users; +Cc: Anton Mikanovich

Update task list and description for `dpkg.bbclass` and
`dpkg-raw.bbclass` to correspond with the latest state.

Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
---
 doc/technical_overview.md | 56 +++++++++++++++++++++++----------------
 1 file changed, 33 insertions(+), 23 deletions(-)

diff --git a/doc/technical_overview.md b/doc/technical_overview.md
index bbd22b6..225475e 100644
--- a/doc/technical_overview.md
+++ b/doc/technical_overview.md
@@ -214,41 +214,51 @@ Both consist of the following steps:
 
 2. Task `do_unpack`: unpack those files to `${WORKDIR}`
 
-3. Task `do_install` _only_ for `dpkg-raw`: copy all you want in your
+3. Task `do_transform_template`: process `${TEMPLATE_FILES}` to substitute
+   variables listed in `${TEMPLATE_VARS}` in template files
+
+4. Task `do_apt_fetch`: fetch source files from apt repos
+
+5. Task `do_apt_unpack`: unpack those files to `${WORKDIR}`
+
+6. Task `do_patch`: process .patch files in the `${SRC_URI}`
+
+7. Task `do_install` _only_ for `dpkg-raw`: copy all you want in your
    debian package to `${D}`, install hooks in `${D}/DEBIAN`
 
-4. Task `do_prepare': perform any preparation steps to the unpacked/patched
-   sources before the build. This task calls the dpkg_prepare shell function
-   with the buildchroot mounts in place (`dpkg_do_mounts')
+8. Task `do_adjust_git`: adjust alternates links inside git repos in the
+   package workdir to make them valid inside chroot
+
+9. Task `do_prepare_build`: perform any preparation steps to the unpacked and
+   patched sources before the build.
 
-   4.1. the `dpkg_prepare` function of `dpkg.bbclass` runs `/isar/deps.sh` in
-        the buildchroot. That performs the following:
+   For `dpkg-raw` it perform `deb_debianize` call to translate the recipe
+   meta-data into a debian/* files suitable for building with dpkg-buildpackage
 
-        1. Go to `/home/build/${PN}`
+10. Task `do_install_builddeps`: install build dependencies of the package.
+    This task calls the `builddeps_install` shell function with the buildchroot
+    mounts in place (surrounded by `dpkg_do_mounts` and `dpkg_undo_mounts`).
 
-        2. Get list of dependencies from debian/control and install them
+    The `builddeps_install` function of `dpkg.bbclass` runs `/isar/deps.sh` in
+    the buildchroot. That performs the following:
 
-   4.2. the `dpkg_prepare` function of `dpkg-raw.bbclass` translate the
-        recipe meta-data into a debian/control file suitable for packaging
-        with dpkg-deb
+    10.1. Go to `/home/build/${PN}`
 
-5. Task `do_build`: mount folder (`dpkg_do_mounts') with unpacked files to buildchroot,
-   execute the actual build function `dpkg_runbuild`, and finally umount again
-   (`dpkg_undo_mounts')
+    10.2. Get list of dependencies from debian/control and install them
 
-   5.1. the `dpkg_runbuild` function of `dpkg.bbclass` runs `build.sh` in the
-        buildchroot. That performs the following:
+11. Task `do_dpkg_build`: mount folder (`dpkg_do_mounts`) with unpacked files
+    to buildchroot, execute the actual build function `dpkg_runbuild`, and
+    finally umount again (`dpkg_undo_mounts`)
 
-        1. Go to `/home/build/${PN}`
+    The `dpkg_runbuild` function of `dpkg.bbclass` runs `/isar/build.sh` in
+    the buildchroot. That performs the following:
 
-        2. Run dpkg-buildpackage
+    11.1. Go to `/home/build/${PN}`
 
-   5.2. the `dpkg_runbuild` function of `dpkg-raw.bbclass` basically runs
-        `dpkg-deb` to construct a Debian package from a folder of files,
-	without compiling anything
+    11.2. Run dpkg-buildpackage
 
-6. Task `do_deploy_deb`: install successfully built packages
-   `${WORKDIR}/*.deb` to deploy directory `${DEPLOY_DIR_DEB}`
+12. Task `do_deploy_deb`: install successfully built packages
+    `${WORKDIR}/*.deb` to deploy directory `${DEPLOY_DIR_DEB}`
 
 ## 3.6 Populate Target Filesystem
 
-- 
2.25.1


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

* [PATCH v2 3/3] doc: Update available image types
  2021-10-28 17:17 [PATCH v2 0/3] Update Isar documentation Anton Mikanovich
  2021-10-28 17:17 ` [PATCH v2 1/3] doc: Add imager dependencies section Anton Mikanovich
  2021-10-28 17:17 ` [PATCH v2 2/3] doc: Update tasks description Anton Mikanovich
@ 2021-10-28 17:17 ` Anton Mikanovich
  2 siblings, 0 replies; 5+ messages in thread
From: Anton Mikanovich @ 2021-10-28 17:17 UTC (permalink / raw)
  To: isar-users; +Cc: Anton Mikanovich

Update the list of image types can be used for targets.

Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
---
 doc/user_manual.md | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/doc/user_manual.md b/doc/user_manual.md
index 1b00a47..b4dbe85 100644
--- a/doc/user_manual.md
+++ b/doc/user_manual.md
@@ -450,10 +450,16 @@ Please refer to `Add a Custom Application` section for more information about wr
 
 Isar can generate various images types for specific machine. The type of the image to be generated may be specified through the `IMAGE_TYPE` variable. Currently, the following image types are provided:
 
- - `ext4` - Raw ext4 filesystem image (default option for `qemuarm` machine).
+ - `ext4-img` - Raw ext4 filesystem image (default option for `qemuarm` machine).
  - `rpi-sdimg` - A complete, partitioned Raspberry Pi SD card image (default option for the `rpi` machine).
  - `wic-img` - A full disk image with user-specified partitions created and populated using the wic tool.
- - `ubi-img` - A image for use on mtd nand partitions employing UBI
+ - `targz-img` - Compressed Tar archive with filesystem.
+ - `fit-img` - Flattened Image Tree filesystem image with user-specified binaries included.
+ - `ubifs-img` - UBIFS filesystem image to be used with ubiupdatevol.
+ - `ubi-img` - An image for use on mtd nand partitions employing UBI.
+ - `ubi-ubifs-img` - An image encapsulates FIT and UBI image types.
+ - `container-img` - Container image specified by `CONTAINER_FORMAT` value.
+ - `cpiogz-img` - An initramfs like filesystem.
  - `vm-img` - A image for use on VirtualBox or VMware
 
 ---
@@ -582,9 +588,13 @@ Isar contains additional image type classes that can be used as reference:
  - `ext4-img`
  - `rpi-sdimg`
  - `targz-img`
+ - `fit-img`
  - `ubifs-img`
  - `ubi-img`
  - `wic-img`
+ - `container-img`
+ - `cpiogz-img`
+ - `vm-img`
 
 ### Imager dependencies and bootloaders
 
-- 
2.25.1


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

* Re: [PATCH v2 1/3] doc: Add imager dependencies section
  2021-10-28 17:17 ` [PATCH v2 1/3] doc: Add imager dependencies section Anton Mikanovich
@ 2021-10-28 20:17   ` Henning Schild
  0 siblings, 0 replies; 5+ messages in thread
From: Henning Schild @ 2021-10-28 20:17 UTC (permalink / raw)
  To: Anton Mikanovich; +Cc: isar-users

Am Thu, 28 Oct 2021 20:17:25 +0300
schrieb Anton Mikanovich <amikan@ilbers.de>:

> Include into user_manual.md explanation of imager dependencies should
> be added if using wic image type with bootloader-related plugins.
> 
> Inspired by issue #69
> 
> Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
> ---
>  doc/user_manual.md | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/doc/user_manual.md b/doc/user_manual.md
> index 01fe701..1b00a47 100644
> --- a/doc/user_manual.md
> +++ b/doc/user_manual.md
> @@ -586,6 +586,22 @@ Isar contains additional image type classes that
> can be used as reference:
>   - `ubi-img`
>   - `wic-img`
>  
> +### Imager dependencies and bootloaders
> +
> +External tools used for final image prepare inside image type
> classes should be declared as `IMAGER_INSTALL`. +It will make Isar to
> install following packages into buildchroot before proceeding. +
> +If using `wic-img` image type correct bootloader dependecy should be
> added to target machine config based on selected wic plugin. +

I would make that more generic and explain what IMAGER_INSTALL is in
general. Maybe even refer to "native" from OE.

The tools are not "external", they are build tools (coming from
upstream or maybe a layer) that are not part of the image but needed to
construct it. In fact we use that variable in many of our imager
classes, not just wic.

> +When using legacy BIOS bootloader (amd64/i386 only) dependency on
> syslinux should be used: +```
> +IMAGER_INSTALL += "${SYSLINUX_BOOTLOADER_INSTALL}"
> +```
> +When using EFI bootloader dependency on GRUB should be added:
> +```
> +IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}"

wic makes a good example to explain the concept. Note that EFI does not
mean grub and having to set IMAGER_INSTALL. It can also mean
systemd-boot and no IMAGER_INSTALL.

Henning

> +```
> +
>  ---
>  
>  ## Customize and configure image


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

end of thread, other threads:[~2021-10-28 20:17 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-28 17:17 [PATCH v2 0/3] Update Isar documentation Anton Mikanovich
2021-10-28 17:17 ` [PATCH v2 1/3] doc: Add imager dependencies section Anton Mikanovich
2021-10-28 20:17   ` Henning Schild
2021-10-28 17:17 ` [PATCH v2 2/3] doc: Update tasks description Anton Mikanovich
2021-10-28 17:17 ` [PATCH v2 3/3] doc: Update available image types Anton Mikanovich

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