Releases: fwup-home/fwup
v1.12.0
-
New features
- Add 4-parameter
fat_cp
function to support copying files between FAT
partitions. The previous (and still supported) 3-parameterfat_cp
required
files to be on the same partition. - Support extended partitions in master boot records. This makes it possible
to have more than four partitions without switching to GPT partitions. See
README.md for details. - Add
reboot-param
function for setting parameters to be sent toreboot
.
This is useful for implementing the Raspberry Pi tryboot functionality
withinfwup
.
- Add 4-parameter
-
Improvements
- Update
require-path-on-device
on Linux to be able to traverse device
mapper block devices. This allows encryption and other device mapper
features to be in use when checking where file systems are mounted.
Workarounds shouldn't be needed any more.
- Update
-
Bug fixes
v1.11.0
-
Improvements
- Use the file size of regular files to determine the end of the image. This
makes it possible to expand the final file system partition when working
with Qemu disk images. It could break scripts that were expecting regular
files to be able to grow arbitrarily. Those will need to be updated to pad
the image files as needed.
- Use the file size of regular files to determine the end of the image. This
-
Package updates
- monocypher 3.1.3
- libarchive 3.7.6 (static builds only)
v1.10.2
There is a regression with signed delta firmware updates. The TL;DR is that it
probably doesn't affect anyone, and if it did affect you, I think you should
have noticed firmware validation breaking by now. Please follow
#227 for updates.
RPMs are no longer distributed due to the packager I was using, FPM, no longer
running on the Ubuntu versions being used on CI. Since I don't use RPM-based
distros, I didn't not feel comfortable switching. Debian packages are still
available. Help would be appreciated for RPMs.
-
Improvements
- Don't add superfluous timestamps to zip files (.fw files are zip files). It
turns out that most timestamp fields could be removed completely. - Don't compress archive signatures
- Don't add superfluous timestamps to zip files (.fw files are zip files). It
-
Bug fixes
- When scanning attached media, filter out devices under 1 MiB since they're
almost certainly not what's wanted. It's still possible to use these
devices, but it won't be automatic any more.
- When scanning attached media, filter out devices under 1 MiB since they're
-
Package updates
- libarchive 3.7.3
v1.10.1
This release only is needed if you use redundant U-Boot environments.
- Bug fixes
- For configurations using redundant U-Boot environments, this fixes an issue
where fwup would pick the wrong environment after about 126 updates
(correspoding to an 8-bit counter changing from 127 to 128). This has been
fixed and a new test has been added to ensure that fwup's behavior matches
fw_printenv's over the entire range of the counter. Thanks to Edoardo Rossi
for identifying the issue.
- For configurations using redundant U-Boot environments, this fixes an issue
v1.10.0
This is a substantial release with improvements to delta updates and destination
write handling.
There's support for writing a final block that's not a multiple of 128KB now.
The 128KB write size was a previous limitation of fwup's caching mechanism.
The limitation was mostly invisible. GPT secondary headers were adjusted rather
than being in the final blocks. If the destination wasn't a multiple of 128KB,
it wasn't possible to use the last partial block of bytes. This release changes
that. Especially if you are using GPT partitions, you may notice this change if
you are comparing disk images.
-
New features
- Support delta firmware updates of files on FAT file systems. See the
delta-source-fat-offset
anddelta-source-fat-path
and the unit test for
details. Thanks to Jean Parpaillon for this feature. - Support writing to destinations that are not multiples of 128KB. Fwup's
internal caching used to only write 128KB blocks. It now supports writing a
partial final block. - Support writing to
/dev/null
(e.g.,fwup -d /dev/null ...
). This is useful for
firmware updates that only usepath_write
andpipe_write
since they
don't need a destination. Thanks to Edoardo Rossi for the suggestion and
patch. - Add
--minimize-writes
option. When enabled, it will check the destination
media to see if a block really changed before writing it. This can be a
performance improvement and remove some accidental corruption risk. - Support a backwards compatible shorthand for writing files to FAT
partitions. The filename will default to the resource name. Seefat_write
. - Add
--max-size
option for specifying the max number of 512-blocks that
fwup can write. Use this to force a max size when writing to a regular file
(expandable partitions will obey this) or to reduce the allowed size on real
media.
- Support delta firmware updates of files on FAT file systems. See the
-
Bug fixes
- Handle out of bounds reads by xdelta3. Thanks to Arthur Crepin-Leblond for
fixing this.
- Handle out of bounds reads by xdelta3. Thanks to Arthur Crepin-Leblond for
-
Package updates
- FatFS R0.15
v1.9.1
v1.9.0
This release updates FatFS (the FAT filesystem library) to R0.14b and updates
Monocypher to v3.1.2. Both updates were patch releases, but the FATFS update
changed the FAT serial number calculation so you may notice that those change.
-
New features
- Added the
--metadata-key
option to pull out single metadata values for
convenience. E.g.,fwup -m -i fwup.fw --metadata-key meta-uuid
- Added the
-
Bug fixes
- Fixed an issue preventing filesystem encryption secrets from being passed
via environment variables.
- Fixed an issue preventing filesystem encryption secrets from being passed
v1.8.4
- Bug fixes
- Fix autodetection of built-in SDCard readers on Linux. These are the devices
that show up asmmcblk0
, etc. You shouldn't have to manually specify them
any more. - Ensure that FAT filesystems created by
fat_mkfs
are the right size even
when fwup creates disk images. This adds a write to the very last block in
FAT filesystem. - Fix unit test failures related to improved fsck.fat checks in dosfstools
v4.2. The failures involved volume labels and having a properly sized disk
image. These particular issues don't affect real world use of fwup, but were
concerning since they caused quite a few tests to fail. - Documentation updates for building on Apple M1 hardware.
- Fix autodetection of built-in SDCard readers on Linux. These are the devices
v1.8.3
This release updates FatFS (the FAT filesystem library) to the latest patch
release, R0.14a.
It also updates how fwup calls into the library to reduce the time window where
fwup can be responsible for FAT filesystem corruption. The incident that
prompted this change was a device that had repeated firmware update
interruptions had accumulated enough orphaned FAT clusters to fill the partition
and prevent an update. fsck.fat
can fix this easily, but it's better if this
doesn't happen and this update should reduce the probability.