<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/nbd/scripts/target-metadata.pl, branch master</title>
<subtitle>Felix Fietkaus staging tree</subtitle>
<id>https://git-03.infra.openwrt.org/openwrt/staging/nbd/atom?h=master</id>
<link rel='self' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/'/>
<updated>2025-07-20T11:16:13Z</updated>
<entry>
<title>targets: add USES_PM auto-feature</title>
<updated>2025-07-20T11:16:13Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2025-07-17T20:00:00Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/commit/?id=85f27367eac568b389041ec8b7ee97cd8ceec622'/>
<id>urn:sha1:85f27367eac568b389041ec8b7ee97cd8ceec622</id>
<content type='text'>
Not all targets support power management, some older or more simple
targets don't have CONFIG_PM set. Allow kernel module packages to
depend on USES_PM to only be available on targets which got
CONFIG_PM=y in their kernel config.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>targets: add PINCTRL_SUPPORT auto-feature</title>
<updated>2025-07-19T12:54:22Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2025-07-17T18:25:38Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/commit/?id=801529f7252a33676e98c8f87db638d1504db7b1'/>
<id>urn:sha1:801529f7252a33676e98c8f87db638d1504db7b1</id>
<content type='text'>
Not all targets have CONFIG_PINCTRL=y set in their kernel config.
Let's introduce a feature for that so kernel module packages which
select or depend on CONFIG_PINCTRL=y may depend on that, so we can
try to prevent leaking CONFIG_PINCTRL=y also into targets which do
not require it.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>image: add support for EROFS rootfs image generation</title>
<updated>2025-07-05T13:24:54Z</updated>
<author>
<name>Gao Xiang</name>
</author>
<published>2025-06-25T17:45:22Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/commit/?id=f7fa414d3b4d967a7e40b162977f48e1be430c1c'/>
<id>urn:sha1:f7fa414d3b4d967a7e40b162977f48e1be430c1c</id>
<content type='text'>
Add support for generating EROFS rootfs images.

The EROFS filesystem can offer competitive I/O performance while
minimizing final image size when using the MicroLZMA compressor.

Target platform: linux-x86_generic (target-i386_pentium4_musl)

Filesystem     Image Size
=============  ==========
root.erofs     4882432
root.ext4      109051904
root.squashfs  4903302

Co-Developed-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Signed-off-by: Gao Xiang &lt;hsiangkao@linux.alibaba.com&gt;
Link: https://github.com/openwrt/openwrt/pull/19244
Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>imagebuilder: exclude metadata for profiles that have no kernel</title>
<updated>2025-05-09T09:06:57Z</updated>
<author>
<name>Eric Fahlgren</name>
</author>
<published>2025-05-08T22:28:52Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/commit/?id=b88f3ebb3341281fa7e61dc4f039062e72c86b9e'/>
<id>urn:sha1:b88f3ebb3341281fa7e61dc4f039062e72c86b9e</id>
<content type='text'>
Device profiles that specify 'DEFAULT := n' are being included
in the imagebuilder metadata, specifically in .profiles.mk, even
though there is no kernel built for the device.  This results in
'make info' showing the device as valid, but then 'make image
PROFILE=xxx' failing with 'No rule to make target xxx-kernel.bin ...'

We exclude these profiles from the imagebuilder, avoiding these
errors.

Fixes: https://github.com/openwrt/openwrt/issues/18410
Signed-off-by: Eric Fahlgren &lt;ericfahlgren@gmail.com&gt;
Link: https://github.com/openwrt/openwrt/pull/18748
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>target/metadata: set OpenWrt One as the default menuconfig target/profile</title>
<updated>2024-12-02T12:55:36Z</updated>
<author>
<name>John Crispin</name>
</author>
<published>2024-11-29T08:13:52Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/commit/?id=5c12fe45b98d9edab88b580b23dbe3528b025fd5'/>
<id>urn:sha1:5c12fe45b98d9edab88b580b23dbe3528b025fd5</id>
<content type='text'>
Signed-off-by: John Crispin &lt;john@phrozen.org&gt;
</content>
</entry>
<entry>
<title>build: introduce support to declare skip package</title>
<updated>2024-10-28T23:07:54Z</updated>
<author>
<name>Christian Marangi</name>
</author>
<published>2024-10-26T20:57:46Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/commit/?id=377b66990b9718ea2a508f86b5c9f520ea31639f'/>
<id>urn:sha1:377b66990b9718ea2a508f86b5c9f520ea31639f</id>
<content type='text'>
It seems some target started declaring package in DEVICE_PACKAGES just
to call InstallDev and generate binary for the image firmware.

This is very much used by layerscape target where trusted-firmware-a and
dependency are called for final image generation.

This is problematic for APK since it's more sensible to non exisiting
package.

To handle this, introduce a prefix '~' for a package that will signal to
build the package but not install it in the final image.

Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>base-files: add eMMC sysupgrade support</title>
<updated>2021-12-02T20:42:58Z</updated>
<author>
<name>Enrico Mioso</name>
</author>
<published>2021-12-01T15:17:55Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/commit/?id=57c1f3f9c5c699cc215bebde772552787c632570'/>
<id>urn:sha1:57c1f3f9c5c699cc215bebde772552787c632570</id>
<content type='text'>
Adds generic support for sysupgrading on eMMC-based devices.

Provide function emmc_do_upgrade and emmc_copy_config to be used in
/lib/upgrade/platform.sh instead of redundantly implementing the same
logic over and over again.
Similar to generic sysupgrade on NAND, use environment variables
CI_KERNPART, CI_ROOTPART and newly introduce CI_DATAPART to indicate
GPT partition names to be used. On devices with more than one MMC
block device, CI_ROOTDEV can be used to specify the MMC device for
partition name lookups.

Also allow to select block devices directly using EMMC_KERN_DEV,
EMMC_ROOT_DEV and EMMC_DATA_DEV, as using GPT partition names is not
always an option (e.g. when forced to use MBR).

To easily handle writing kernel and rootfs make use of sysupgrade.tar
format convention which is also already used for generic NAND support.

Signed-off-by: Enrico Mioso &lt;mrkiko.rs@gmail.com&gt;
Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
CC: Li Zhang &lt;li.zhang@gl-inet.com&gt;
CC: TruongSinh Tran-Nguyen &lt;i@truongsinh.pro&gt;
</content>
</entry>
<entry>
<title>base-files: rename 'sdcard' to 'legacy-sdcard'</title>
<updated>2021-08-16T11:22:17Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2021-08-07T13:30:53Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/commit/?id=98bccdafd7244238d9dfbbc1a342a4bb557e4b7c'/>
<id>urn:sha1:98bccdafd7244238d9dfbbc1a342a4bb557e4b7c</id>
<content type='text'>
While an image layout based on MBR and 'bootfs' partition may be easy
to understand for users who are very used to the IBM PC and always have
the option to access the SD card outside of the device (and hence don't
really depend on other recovery methods or dual-boot), in my opinion
it's a dead end for many desirable features on embedded systems,
especially when managed remotely (and hence without an easy option to
access the SD card using another device in case things go wrong, for
example).

Let me explain:

* using a MSDOS/VFAT filesystem to store kernel(s) is problematic, as a
  single corruption of the bootfs can render the system into a state
  that it no longer boots at all. This makes dual-boot useless, or at
  least very tedious to setup with then 2 independent boot partitions
  to avoid the single point of failure on a "hot" block (the FAT index
  of the boot partition, written every time a file is changed in
  bootfs). And well: most targets even store the bootloader environment
  in a file in that very same FAT filesystem, hence it cannot be used
  to script a reliable dual-boot method (as loading the environment
  itself will already fail if the filesystem is corrupted).

* loading the kernel uImage from bootfs and using rootfs inside an
  additional partition means the bootloader can only validate the
  kernel -- if rootfs is broken or corrupted, this can lead to a reboot
  loop, which is often a quite costly thing to happen in terms of
  hardware lifetime.

* imitating MBR-boot behavior with a FAT-formatted bootfs partition
  (like IBM PC in the 80s and 90s) is just one of many choices on
  embedded targets. There are much better options with modern U-Boot
  (which is what we use and build from source for all targets booting
  off SD cards), see examples in mediatek/mt7622 and mediatek/mt7623.

Hence rename the 'sdcard' feature to 'legacy-sdcard', and prefix
functions with 'legacy_sdcard_' instead of 'sdcard_'.

Tested-by: Stijn Tintel &lt;stijn@linux-ipv6.be&gt;
Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>base-files: add generic sdcard upgrade method</title>
<updated>2021-08-06T22:34:40Z</updated>
<author>
<name>Stijn Tintel</name>
</author>
<published>2021-07-29T22:11:37Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/commit/?id=8347d8b4fbe41ce7db386f948df3ebb6c6bc32d3'/>
<id>urn:sha1:8347d8b4fbe41ce7db386f948df3ebb6c6bc32d3</id>
<content type='text'>
Add a generic sdcard upgrade method instead of duplicating code in yet
another target, and add a feature flag to only install this upgrade
method in targets that set this flag. Copied from mvebu.

Signed-off-by: Stijn Tintel &lt;stijn@linux-ipv6.be&gt;
</content>
</entry>
<entry>
<title>scripts/target-metadata.pl: order features alphabetically</title>
<updated>2021-08-06T22:30:37Z</updated>
<author>
<name>Stijn Tintel</name>
</author>
<published>2021-08-06T22:28:08Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/nbd/commit/?id=84c9570aaadec70b667586c3c84dd9fd095baa9e'/>
<id>urn:sha1:84c9570aaadec70b667586c3c84dd9fd095baa9e</id>
<content type='text'>
We generaly do this in many other places, so let's do it here also.

Signed-off-by: Stijn Tintel &lt;stijn@linux-ipv6.be&gt;
</content>
</entry>
</feed>
