<feed xmlns='http://www.w3.org/2005/Atom'>
<title>firmware-utils, branch master</title>
<subtitle>OpenWrt firmware image utilities</subtitle>
<id>https://git.openwrt.org/project/firmware-utils/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/project/firmware-utils/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/'/>
<updated>2026-05-04T16:46:13Z</updated>
<entry>
<title>mkzynfw: add board definitions for XGS1930 series</title>
<updated>2026-05-04T16:46:13Z</updated>
<author>
<name>Jonas Jelonek</name>
</author>
<published>2026-04-29T20:06:02Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/commit/?id=1a4153f4c70111036007760a8411232423b6e11e'/>
<id>urn:sha1:1a4153f4c70111036007760a8411232423b6e11e</id>
<content type='text'>
Add board definitions for Realtek RTL93XX-based, XGS1930 series switches
from Zyxel. They share a common vendor-firmware image and thus can be
added as similar boards here.

Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
Link: https://github.com/openwrt/firmware-utils/pull/68
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>mkzynfw: add board definitions for Zyxel XMG1915 switches</title>
<updated>2026-05-04T16:46:13Z</updated>
<author>
<name>Jonas Jelonek</name>
</author>
<published>2026-04-28T13:35:59Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/commit/?id=7806c09361d203c13337b48f8a4add75c88dfc92'/>
<id>urn:sha1:7806c09361d203c13337b48f8a4add75c88dfc92</id>
<content type='text'>
Add board definitions for Realtek RTL93XX-based switches from Zyxel from
product line XMG1915. They share a common vendor-firmware image and thus
can be added as similar boards here.

While at it, reorder the Zyxel switch board definition in ascending
order by their model name.

Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
Link: https://github.com/openwrt/firmware-utils/pull/68
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>add XikeStor SKS7300 image generation utility</title>
<updated>2026-04-24T07:45:32Z</updated>
<author>
<name>Andreas Böhler</name>
</author>
<published>2026-02-27T19:58:43Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/commit/?id=d21804addba650f2c538267e15fedd2d635a0506'/>
<id>urn:sha1:d21804addba650f2c538267e15fedd2d635a0506</id>
<content type='text'>
This utility allows the generation and obfuscation of the Xikestor SKS7300
series image formats. So far, only the SKS7300-4X4T is supported and
tested, but according to the downloads of other firmware files of the same
series, it should work with minimal modifications also for other models of
the same series. One user reported success in the forum.

While the web interface might accept images created with this utility, it
is impossible to flash OpenWrt from the OEM web interface due to the
obfuscation and the checksums. For flashing OpenWrt, only the kernel will
be treated with this utility, the rootfs will stay on the flash with U-Boot
being unaware of it.

Signed-off-by: Andreas Böhler &lt;dev@aboehler.at&gt;
Link: https://github.com/openwrt/firmware-utils/pull/65
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>mkzynfw: add board definitions for Zyxel XS1930 switches</title>
<updated>2026-04-07T12:25:35Z</updated>
<author>
<name>Jonas Jelonek</name>
</author>
<published>2026-04-06T20:10:13Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/commit/?id=f3b02a2f2e39f580b5334efbc382b4b9afe61f0b'/>
<id>urn:sha1:f3b02a2f2e39f580b5334efbc382b4b9afe61f0b</id>
<content type='text'>
Add board definitions for Realtek RTL93XX-based switches from Zyxel from
product lines XS1930 and XMG1930. They share a common vendor-firmware
image and thus can be added as similar boards here. Though the flash
size and thus the romio_ofs are the same for all boards, they are not
hardcoded in the macro since both may be different for further devices.

Signed-off-by: Jonas Jelonek &lt;jelonek.jonas@gmail.com&gt;
</content>
</entry>
<entry>
<title>tplink-safeloader: add support for Festa F61</title>
<updated>2026-03-19T09:42:52Z</updated>
<author>
<name>Bence Feher</name>
</author>
<published>2026-03-16T21:00:08Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/commit/?id=7350dc7766f6cdf9f74363dc0b8fa46dece1b52c'/>
<id>urn:sha1:7350dc7766f6cdf9f74363dc0b8fa46dece1b52c</id>
<content type='text'>
The hardware is identical to the EAP613 v1, but the stock web interface
rejects its firmware due to a missing ID. This update adds the required
support list string to enable firmware compatibility.

Tested on: TP-Link Festa F61(EU) v1.0 hardware

Signed-off-by: Bence Feher &lt;benwht@proton.me&gt;
Link: https://github.com/openwrt/firmware-utils/pull/64
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>ptgen: add support for marking multiple partitions as bootable</title>
<updated>2026-03-05T12:13:55Z</updated>
<author>
<name>Robert Marko</name>
</author>
<published>2026-03-04T15:18:54Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/commit/?id=6a87eaf434cb89d4eba0b811a4b5d158fd9c519f'/>
<id>urn:sha1:6a87eaf434cb89d4eba0b811a4b5d158fd9c519f</id>
<content type='text'>
Currently, ptgen only supports marking single partition as bootable via
the '-a N' flag.

However, there are cases where multiple partitions should be marked as
bootable, mainly in the case of having multiple kernel partitions as
U-Boot relies on parsing the bootable flag to make a list of partitions
it will scan for bootscripts etc.

So, add support for marking individual partitions as bootable by passing
the '-B' flag when describing partitions.

Existing '-a' behaviour is preserved.

Signed-off-by: Robert Marko &lt;robert.marko@sartura.hr&gt;
Link: https://github.com/openwrt/firmware-utils/pull/63
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>ptgen: add long option support</title>
<updated>2026-03-05T10:03:06Z</updated>
<author>
<name>Mikhail Kshevetskiy</name>
</author>
<published>2026-01-05T08:15:50Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/commit/?id=a2c06c39b41b3a1369e70248fb93205089eb84a3'/>
<id>urn:sha1:a2c06c39b41b3a1369e70248fb93205089eb84a3</id>
<content type='text'>
ptgen help is bad:
 - there are a lot of single letter options (so the option name tells
   nothing)
 - some options does not mentioned in the ptgen help
 - there are no any options explanations

This patch
 - adds long option support
 - provides more usefull help
 - add description for missed options

Signed-off-by: Mikhail Kshevetskiy &lt;mikhail.kshevetskiy@iopsys.eu&gt;
Link: https://github.com/openwrt/firmware-utils/pull/58
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>ptgen: add an option to disable stub partition creation</title>
<updated>2026-03-05T10:03:06Z</updated>
<author>
<name>Mikhail Kshevetskiy</name>
</author>
<published>2026-01-05T05:47:15Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/commit/?id=467685270cf0100941bb2a3f412ce30322c27736'/>
<id>urn:sha1:467685270cf0100941bb2a3f412ce30322c27736</id>
<content type='text'>
ptgen tends to create stub partitions between the end of GPT entry table
and the start of the first disk. This patch adds an option to disable
this behavior.

Signed-off-by: Mikhail Kshevetskiy &lt;mikhail.kshevetskiy@iopsys.eu&gt;
Link: https://github.com/openwrt/firmware-utils/pull/58
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>ptgen: allow to specify index of gpt entries to be used</title>
<updated>2026-03-05T10:03:06Z</updated>
<author>
<name>Mikhail Kshevetskiy</name>
</author>
<published>2026-01-05T04:55:50Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/commit/?id=5b6ef84eaa749b109d2397ded533eca6aa9b8560'/>
<id>urn:sha1:5b6ef84eaa749b109d2397ded533eca6aa9b8560</id>
<content type='text'>
This patch allows to specify the GPT entry index to use. Subsequent
partitions will use sequential indexes, starting with the specified one.
This will continue until a new starting index is specified.

The patch ensures that the same index will never be used twice.

[Explanation within example]

ptgen creates gpt partitions using consecutive indexes starting from
zero. For example the following command

  ptgen -o mmc.img -g -d 32M \
	-p 2M \			# describe /dev/mmcblk0p1 (index=0)
	-p 4M \			# describe /dev/mmcblk0p2 (index=1)
	-p 25M			# describe /dev/mmcblk0p3 (index=2)

will create

  $ /sbin/fdisk mmc.img
  ...
  Device     Start   End Sectors Size Type
  mmc.img1      34  4129    4096   2M Linux filesystem  &lt;= see here
  mmc.img2    4130 12321    8192   4M Linux filesystem
  mmc.img3   12322 63521   51200  25M Linux filesystem

Sometimes it's necessary to create one or more partitions whose indexes
don't follow above rule. For example, we might want the partition located
at the very beginning of the mmc flash to be named as /dev/mmcblk0p7.
Within a patch this can be achieved by a command

  ptgen -o mmc.img -g -d 32M \
	-i 6 -p 2M \		# describe /dev/mmcblk0p7 (index=6)
	-i 0 -p 4M \		# describe /dev/mmcblk0p1 (index=0)
	     -p 20M 		# describe /dev/mmcblk0p2 (index=1)

  $ /sbin/fdisk mmc.img
  ...
  Device     Start   End Sectors Size Type
  mmc.img1    4130 12321    8192   4M Linux filesystem
  mmc.img2   12322 63521   51200  25M Linux filesystem
  mmc.img7      34  4129    4096   2M Linux filesystem  &lt;== see here

So we done it.

Signed-off-by: Mikhail Kshevetskiy &lt;mikhail.kshevetskiy@iopsys.eu&gt;
Link: https://github.com/openwrt/firmware-utils/pull/58
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>ptgen: fix bug caused by not completely correct reverts</title>
<updated>2026-03-05T10:03:06Z</updated>
<author>
<name>Mikhail Kshevetskiy</name>
</author>
<published>2026-01-05T20:41:02Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firmware-utils/commit/?id=c0d7de851c9a0c803d6e060736db52a03b27aa2d'/>
<id>urn:sha1:c0d7de851c9a0c803d6e060736db52a03b27aa2d</id>
<content type='text'>
The commit 0782d243d23e (Revert "ptgen: do not create stub partition to
fill a gap if gap caused by alignment") fixes one issue but introduce
another.

If "-e &lt;gpt_entry_offs&gt;" option is used and there is no gap between GPT
Entry Table and 1-st partition, then

 1) A GPT stub partition will be created, but this should not be done
    because of no space for it.
 2) A stub partition will be incorrect (start_sector &gt; end_sector)

This patch fixes an issue.

Fixes: 0782d243d23e (Revert "ptgen: do not create stub partition to fill a gap if gap caused by alignment")
Signed-off-by: Mikhail Kshevetskiy &lt;mikhail.kshevetskiy@iopsys.eu&gt;
Link: https://github.com/openwrt/firmware-utils/pull/58
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
</feed>
