All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Glass <sjg@chromium.org>
To: linux-arm-kernel@lists.infradead.org
Cc: Masahiro Yamada <masahiroy@kernel.org>,
	Ahmad Fatoum <a.fatoum@pengutronix.de>,
	U-Boot Mailing List <u-boot@lists.denx.de>,
	Nicolas Schier <nicolas@fjasle.eu>, Tom Rini <trini@konsulko.com>,
	Simon Glass <sjg@chromium.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Nathan Chancellor <nathan@kernel.org>,
	Nick Terrell <terrelln@fb.com>, Will Deacon <will@kernel.org>,
	linux-doc@vger.kernel.org, linux-kbuild@vger.kernel.org,
	linux-kernel@vger.kernel.org, workflows@vger.kernel.org
Subject: [PATCH v9 0/2] arm64: Add a build target for Flat Image Tree
Date: Fri,  1 Dec 2023 20:54:40 -0700	[thread overview]
Message-ID: <20231202035511.487946-1-sjg@chromium.org> (raw)

Flat Image Tree (FIT) is a widely used file format for packaging a
kernel and associated devicetree files[1]. It is not specific to any
one bootloader, as it is supported by U-Boot, coreboot, Linuxboot,
Tianocore and Barebox.

This series adds support for building a FIT as part of the kernel
build. This makes it easy to try out the kernel - just load the FIT
onto your tftp server and it will run automatically on any supported
arm64 board.

The script is written in Python, since it is easy to build a FIT using
the Python libfdt bindings. For now, no attempt is made to compress
files in parallel, so building the 900-odd files takes a while, about
6 seconds with my testing.

The series also includes a few minor clean-up patches.

[1] https://github.com/open-source-firmware/flat-image-tree

Changes in v9:
- Move the compression control into Makefile.lib

Changes in v8:
- Drop compatible string in FDT node
- Correct sorting of MAINTAINERS to before ARM64 PORT
- Turn compress part of the make_fit.py comment in to a sentence
- Add two blank lines before parse_args() and setup_fit()
- Use 'image.fit: dtbs' instead of BUILD_DTBS var
- Use '$(<D)/dts' instead of '$(dir $<)dts'
- Add 'mkimage' details Documentation/process/changes.rst
- Allow changing the compression used
- Tweak cover letter since there is only one clean-up patch

Changes in v7:
- Drop the kbuild tag
- Add Image as a dependency of image.fit
- Drop kbuild tag
- Add dependency on dtbs
- Drop unnecessary path separator for dtbs
- Rebase to -next

Changes in v6:
- Drop the unwanted .gz suffix

Changes in v5:
- Drop patch previously applied
- Correct compression rule which was broken in v4

Changes in v4:
- Use single quotes for UIMAGE_NAME

Changes in v3:
- Drop temporary file image.itk
- Drop patch 'Use double quotes for image name'
- Drop double quotes in use of UIMAGE_NAME
- Drop unnecessary CONFIG_EFI_ZBOOT condition for help
- Avoid hard-coding "arm64" for the DT architecture

Changes in v2:
- Drop patch previously applied
- Add .gitignore file
- Move fit rule to Makefile.lib using an intermediate file
- Drop dependency on CONFIG_EFI_ZBOOT
- Pick up .dtb files separately from the kernel
- Correct pylint too-many-args warning for write_kernel()
- Include the kernel image in the file count
- Add a pointer to the FIT spec and mention of its wide industry usage
- Mention the kernel version in the FIT description

Simon Glass (2):
  arm64: Add BOOT_TARGETS variable
  arm64: boot: Support Flat Image Tree

 Documentation/process/changes.rst |   9 +
 MAINTAINERS                       |   7 +
 arch/arm64/Makefile               |  11 +-
 arch/arm64/boot/.gitignore        |   1 +
 arch/arm64/boot/Makefile          |   6 +-
 scripts/Makefile.lib              |  16 ++
 scripts/make_fit.py               | 291 ++++++++++++++++++++++++++++++
 7 files changed, 338 insertions(+), 3 deletions(-)
 create mode 100755 scripts/make_fit.py

-- 
2.43.0.rc2.451.g8631bc7472-goog


WARNING: multiple messages have this Message-ID (diff)
From: Simon Glass <sjg@chromium.org>
To: linux-arm-kernel@lists.infradead.org
Cc: Masahiro Yamada <masahiroy@kernel.org>,
	Ahmad Fatoum <a.fatoum@pengutronix.de>,
	U-Boot Mailing List <u-boot@lists.denx.de>,
	Nicolas Schier <nicolas@fjasle.eu>, Tom Rini <trini@konsulko.com>,
	Simon Glass <sjg@chromium.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Nathan Chancellor <nathan@kernel.org>,
	Nick Terrell <terrelln@fb.com>, Will Deacon <will@kernel.org>,
	linux-doc@vger.kernel.org, linux-kbuild@vger.kernel.org,
	linux-kernel@vger.kernel.org, workflows@vger.kernel.org
Subject: [PATCH v9 0/2] arm64: Add a build target for Flat Image Tree
Date: Fri,  1 Dec 2023 20:54:40 -0700	[thread overview]
Message-ID: <20231202035511.487946-1-sjg@chromium.org> (raw)

Flat Image Tree (FIT) is a widely used file format for packaging a
kernel and associated devicetree files[1]. It is not specific to any
one bootloader, as it is supported by U-Boot, coreboot, Linuxboot,
Tianocore and Barebox.

This series adds support for building a FIT as part of the kernel
build. This makes it easy to try out the kernel - just load the FIT
onto your tftp server and it will run automatically on any supported
arm64 board.

The script is written in Python, since it is easy to build a FIT using
the Python libfdt bindings. For now, no attempt is made to compress
files in parallel, so building the 900-odd files takes a while, about
6 seconds with my testing.

The series also includes a few minor clean-up patches.

[1] https://github.com/open-source-firmware/flat-image-tree

Changes in v9:
- Move the compression control into Makefile.lib

Changes in v8:
- Drop compatible string in FDT node
- Correct sorting of MAINTAINERS to before ARM64 PORT
- Turn compress part of the make_fit.py comment in to a sentence
- Add two blank lines before parse_args() and setup_fit()
- Use 'image.fit: dtbs' instead of BUILD_DTBS var
- Use '$(<D)/dts' instead of '$(dir $<)dts'
- Add 'mkimage' details Documentation/process/changes.rst
- Allow changing the compression used
- Tweak cover letter since there is only one clean-up patch

Changes in v7:
- Drop the kbuild tag
- Add Image as a dependency of image.fit
- Drop kbuild tag
- Add dependency on dtbs
- Drop unnecessary path separator for dtbs
- Rebase to -next

Changes in v6:
- Drop the unwanted .gz suffix

Changes in v5:
- Drop patch previously applied
- Correct compression rule which was broken in v4

Changes in v4:
- Use single quotes for UIMAGE_NAME

Changes in v3:
- Drop temporary file image.itk
- Drop patch 'Use double quotes for image name'
- Drop double quotes in use of UIMAGE_NAME
- Drop unnecessary CONFIG_EFI_ZBOOT condition for help
- Avoid hard-coding "arm64" for the DT architecture

Changes in v2:
- Drop patch previously applied
- Add .gitignore file
- Move fit rule to Makefile.lib using an intermediate file
- Drop dependency on CONFIG_EFI_ZBOOT
- Pick up .dtb files separately from the kernel
- Correct pylint too-many-args warning for write_kernel()
- Include the kernel image in the file count
- Add a pointer to the FIT spec and mention of its wide industry usage
- Mention the kernel version in the FIT description

Simon Glass (2):
  arm64: Add BOOT_TARGETS variable
  arm64: boot: Support Flat Image Tree

 Documentation/process/changes.rst |   9 +
 MAINTAINERS                       |   7 +
 arch/arm64/Makefile               |  11 +-
 arch/arm64/boot/.gitignore        |   1 +
 arch/arm64/boot/Makefile          |   6 +-
 scripts/Makefile.lib              |  16 ++
 scripts/make_fit.py               | 291 ++++++++++++++++++++++++++++++
 7 files changed, 338 insertions(+), 3 deletions(-)
 create mode 100755 scripts/make_fit.py

-- 
2.43.0.rc2.451.g8631bc7472-goog


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2023-12-02  3:55 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-02  3:54 Simon Glass [this message]
2023-12-02  3:54 ` [PATCH v9 0/2] arm64: Add a build target for Flat Image Tree Simon Glass
2023-12-02  3:54 ` [PATCH v9 1/2] arm64: Add BOOT_TARGETS variable Simon Glass
2023-12-02  3:54   ` Simon Glass
2023-12-08 11:48   ` Nicolas Schier
2023-12-08 11:48     ` Nicolas Schier
2023-12-02  3:54 ` [PATCH v9 2/2] arm64: boot: Support Flat Image Tree Simon Glass
2023-12-02  3:54   ` Simon Glass
2023-12-03 15:34   ` Laurent Pinchart
2023-12-03 15:34     ` Laurent Pinchart
2023-12-04 17:59     ` Simon Glass
2023-12-04 17:59       ` Simon Glass
2023-12-07 14:27     ` Chen-Yu Tsai
2023-12-07 14:27       ` Chen-Yu Tsai
2023-12-07 14:38       ` Laurent Pinchart
2023-12-07 14:38         ` Laurent Pinchart
2023-12-07 20:52         ` Simon Glass
2023-12-07 20:52           ` Simon Glass
2023-12-07 21:30           ` Laurent Pinchart
2023-12-07 21:30             ` Laurent Pinchart
2023-12-09 13:13         ` Chen-Yu Tsai
2023-12-09 13:13           ` Chen-Yu Tsai
2023-12-09 15:29           ` Laurent Pinchart
2023-12-09 15:29             ` Laurent Pinchart
2023-12-09 16:31             ` Geert Uytterhoeven
2023-12-09 16:31               ` Geert Uytterhoeven
2023-12-14  4:02               ` Chen-Yu Tsai
2023-12-14  4:02                 ` Chen-Yu Tsai
2023-12-14  6:12                 ` Masahiro Yamada
2023-12-14  6:12                   ` Masahiro Yamada
2023-12-14  7:33                   ` Masahiro Yamada
2023-12-14  7:33                     ` Masahiro Yamada
2023-12-29  6:38                     ` Simon Glass
2023-12-29  6:38                       ` Simon Glass
2024-01-02  3:19                       ` Chen-Yu Tsai
2024-01-02  3:19                         ` Chen-Yu Tsai
2024-01-09 13:47                       ` Masahiro Yamada
2024-01-09 13:47                         ` Masahiro Yamada
2024-01-10  3:47                         ` Chen-Yu Tsai
2024-01-10  3:47                           ` Chen-Yu Tsai
2024-01-02 15:53                     ` Ahmad Fatoum
2024-01-02 15:53                       ` Ahmad Fatoum
2024-01-09 14:33                     ` Rasmus Villemoes
2024-01-09 14:33                       ` Rasmus Villemoes
2023-12-14  7:57                   ` Geert Uytterhoeven
2023-12-14  7:57                     ` Geert Uytterhoeven
2023-12-14 12:48                   ` Tom Rini
2023-12-14 12:48                     ` Tom Rini
2023-12-05 11:48   ` Ahmad Fatoum
2023-12-05 11:48     ` Ahmad Fatoum
2023-12-06  3:54     ` Simon Glass
2023-12-06  3:54       ` Simon Glass
2023-12-08 11:49   ` Nicolas Schier
2023-12-08 11:49     ` Nicolas Schier
2023-12-13 12:13   ` Will Deacon
2023-12-13 12:13     ` Will Deacon
2024-01-02 23:46     ` Simon Glass
2024-01-02 23:46       ` Simon Glass
2024-01-09 14:01       ` Masahiro Yamada
2024-01-09 14:01         ` Masahiro Yamada
2024-01-09 14:33         ` Tom Rini
2024-01-09 14:33           ` Tom Rini
2024-01-17 13:14           ` Simon Glass
2024-01-17 13:14             ` Simon Glass
2024-01-25 16:03             ` Simon Glass
2024-01-25 16:03               ` Simon Glass
2024-01-30  9:16               ` Masahiro Yamada
2024-01-30  9:16                 ` Masahiro Yamada
2024-01-31 22:02                 ` Rob Herring
2024-01-31 22:02                   ` Rob Herring
2024-02-01  2:08                   ` Masahiro Yamada
2024-02-01  2:08                     ` Masahiro Yamada
2024-02-01 21:03                     ` Rob Herring
2024-02-01 21:03                       ` Rob Herring
2024-02-02  5:37                       ` Masahiro Yamada
2024-02-02  5:37                         ` Masahiro Yamada
2024-02-02 16:00                   ` Simon Glass
2024-02-02 16:00                     ` Simon Glass
2024-02-02 16:00                 ` Simon Glass
2024-02-02 16:00                   ` Simon Glass

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=20231202035511.487946-1-sjg@chromium.org \
    --to=sjg@chromium.org \
    --cc=a.fatoum@pengutronix.de \
    --cc=catalin.marinas@arm.com \
    --cc=corbet@lwn.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masahiroy@kernel.org \
    --cc=nathan@kernel.org \
    --cc=nicolas@fjasle.eu \
    --cc=terrelln@fb.com \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    --cc=will@kernel.org \
    --cc=workflows@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.