fwup-home / fwup Goto Github PK
View Code? Open in Web Editor NEWConfigurable embedded Linux firmware update creator and runner
License: Apache License 2.0
Configurable embedded Linux firmware update creator and runner
License: Apache License 2.0
fwup not installed. The package was not found with the source(s) listed.
If you specified a particular version and are receiving this message, it is possible that the package name exists but the version does not.
Version: ""
Source(s): "https://chocolatey.org/api/v2/"
When running fwup with an upgrade task on an embedded device, an error is produced (almost immediately):
[buf]:66: no such option 'include-osip'
fwup: Unexpected error parsing meta.conf
Interestingly enough, when I run the command on my local machine with the sd card simply inserted as an external device, I don't encounter this command.
The user is programming a 120 GB SSD connected via a SATA->USB3 cable using fwup. The drive is not being autodetected since fwup thinks that it's too large to be a memory card. There should be a better way of detecting removable drives or the user should be given an error that's more helpful.
Alternatively, refuse to overwrite existing key files so as to not lose old ones.
maybe some dependencies missing in the requirments of the AUR?
PASS: 001_simple_fw.test
PASS: 002_resource_subdir.test
PASS: 003_write_offset.test
PASS: 004_env_vars.test
PASS: 005_define.test
PASS: 006_metadata.test
PASS: 007_mbr.test
PASS: 008_partial_mbr.test
PASS: 009_metadata_cmdline.test
FAIL: 010_fat_mkfs.test
FAIL: 011_fat_setlabel.test
FAIL: 012_fat_write.test
FAIL: 013_fat_mv.test
FAIL: 014_fat_cp.test
PASS: 015_fat_bad_sha2.test
PASS: 016_raw_bad_sha2.test
FAIL: 017_fat_rm.test
PASS: 018_numeric_progress.test
PASS: 019_quiet_progress.test
PASS: 020_normal_progress.test
PASS: 021_create_keys.test
PASS: 022_signed_fw.test
PASS: 023_missing_sig.test
PASS: 024_metadata_sig.test
PASS: 025_bad_sig.test
PASS: 026_sign_again.test
PASS: 027_fat_timestamp.test
PASS: 028_osip.test
PASS: 029_5G_offset.test
PASS: 030_2T_offset.test
FAIL: 031_fat_mkfs_5G.test
FAIL: 032_fat_2T_offset.test
PASS: 033_bad_host_path.test
PASS: 034_missing_host_path.test
PASS: 035_streaming.test
PASS: 036_streaming_signed_fw.test
PASS: 037_streaming_bad_sig.test
PASS: 038_write_15M.test
PASS: 039_upgrade.test
PASS: 041_version.test
PASS: 042_fat_am335x.test
FAIL: 043_fat_touch.test
PASS: 044_require_file_exist.test
PASS: 045_legacy_require_partition1.test
PASS: 046_unknown_create_fails.test
PASS: 047_unknown_apply_succeeds.test
PASS: 048_assert_size_less_than_success.test
PASS: 049_assert_size_less_than_fail.test
PASS: 050_assert_size_greater_than_success.test
PASS: 051_assert_size_greater_than_fail.test
PASS: 052_file_concatenation.test
PASS: 053_framed_progress.test
PASS: 054_framed_metadata.test
PASS: 055_metadata_partial_file.test
PASS: 056_list_tasks.test
PASS: 057_list_tasks_empty.test
PASS: 058_framed_list_tasks.test
PASS: 059_framed_error.test
PASS: 060_framed_streaming.test
PASS: 061_framed_partial_metadata.test
PASS: 062_long_meta_conf.test
PASS: 063_detect.test
PASS: 064_mbr_bootcode.test
FAIL: 065_fat_mkdir.test
FAIL: 066_fat_attrib.test
PASS: 067_usage.test
PASS: 068_readonly_output_error.test
PASS: 069_define_bang.test
PASS: 070_bad_mbr_offset.test
PASS: 071_big_mbr_offset.test
PASS: 072_compression_works.test
FAIL: 073_multistep_fat.test
FAIL: 074_fat_cache_fail.test
FAIL: 075_big_fat_fs.test
PASS: 076_utf8_metadata.test
FAIL: 077_fat_empty_file.test
PASS: 078_partial_mbr2.test
PASS: 079_uboot_setenv.test
PASS: 080_uboot_empty_env.test
PASS: 081_uboot_clearenv.test
PASS: 082_uboot_upgrade.test
PASS: 083_uboot_unsetenv.test
PASS: 084_corrupt_uboot.test
PASS: 085_raw_memset.test
PASS: 086_math.test
PASS: 087_crypto_compat.test
PASS: 088_missing_hash.test
PASS: 089_dev_null.test
PASS: 090_sparse_write.test
PASS: 091_sparse_write2.test
PASS: 092_sparse_write3.test
PASS: 093_sparse_concat.test
PASS: 094_sparse_concat2.test
FAIL: 095_sparse_apply.test
PASS: 096_missing_resource.test
PASS: 097_reproduceable.test
FAIL: 098_sparse_empty.test
FAIL: 099_sparse_lasthole.test
PASS: 100_easy_option.test
PASS: 101_progress_range.test
PASS: 102_multi_requires.test
PASS: 103_error_msg.test
PASS: 104_info_msg.test
PASS: 105_require_path_on_device.test
PASS: 106_large_length_field.test
PASS: 107_string_resource.test
PASS: 108_resource_order.test
PASS: 109_includes.test
PASS: 110_compression_level.test
PASS: 111_streaming_exit_fast.test
PASS: 112_fat_rm_missing_file.test
PASS: 113_fat_mv_error_cases.test
PASS: 114_fat_cp_error_cases.test
PASS: 115_fat_mkdir_error_cases.test
PASS: 116_fat_setlabel_error_cases.test
FAIL: 117_on_error.test
PASS: 118_fat_touch_error_cases.test
PASS: 119_require_fat_file_match.test
PASS: 120_corrupt_fat.test
PASS: 121_missing_file.test
PASS: 122_missing_file_metadata.test
PASS: 123_double_fat_write.test
PASS: 124_uboot_bad_param.test
PASS: 125_trimmed_upgrade.test
PASS: 126_uboot_recover.test
PASS: 127_extra_metadata.test
PASS: 128_blank_offset.test
PASS: 129_mbr_overflow.test
PASS: 130_media_sizes.test
PASS: 131_raw_key.test
PASS: 132_key_as_param.test
PASS: 133_path_write_file.test
PASS: 134_pipe_write_file.test
PASS: 135_execute.test
FAIL: 136_fat_overwrite.test
PASS: 137_path_write_sparse.test
PASS: 138_pipe_write_sparse.test
PASS: 139_mbr_signature.test
PASS: 140_trim.test
PASS: 141_exit_handshake.test
PASS: 142_file_resource_size.test
PASS: 143_include_path.test
PASS: 144_require_version.test
PASS: 145_require_path_at_offset.test
============================================================================
Testsuite summary for fwup 1.0.0
============================================================================
# TOTAL: 144
# PASS: 124
# SKIP: 0
# XFAIL: 0
# FAIL: 20
# XPASS: 0
# ERROR: 0
============================================================================
See tests/test-suite.log
Please report to https://github.com/fhunleth/fwup/issues
============================================================================
make[3]: *** [Makefile:827: test-suite.log] Error 1
make[3]: Leaving directory '/tmp/yaourt-tmp-fabi/aur-fwup/src/fwup/tests'
make[2]: *** [Makefile:935: check-TESTS] Error 2
make[2]: Leaving directory '/tmp/yaourt-tmp-fabi/aur-fwup/src/fwup/tests'
make[1]: *** [Makefile:998: check-am] Error 2
make[1]: Leaving directory '/tmp/yaourt-tmp-fabi/aur-fwup/src/fwup/tests'
make: *** [Makefile:420: check-recursive] Error 1
==> ERROR: A failure occurred in check().
Aborting...
==> ERROR: Makepkg was unable to build fwup.
==> Restart building fwup ? [y/N]
See nerves-project/nerves#7. This is actually visible in the FAT unit tests for writing files to partitions. Unfortunately, when those tests were written I just cared that the file's name and contents were correct.
On Ubuntu 14.04 installing libsodium-dev did not work for me, I got an unable to find package
result.
I installed it from this instead.
sudo add-apt-repository ppa:chris-lea/libsodium
sudo apt-get update && sudo apt-get install libsodium-dev
I am attempting to run a ping-pong update with fwup. I have a separate partition for app data and downloaded the fwup archive to that partition so that I could keep the RootFS small. When running fwup, however, it first tries to unmount all of the partitions. When it tries to unmount the app data partition, it receives a partition in use error, and then exits.
I think that a good solution might be to have fwup ignore any errors that it receives while trying to unmount the partitions, and to continue on. There shouldn't be any errors due to mounted partitions, since in the configuration file we can specify if a particular partition needs to be unmounted before running. Thoughts?
When addressing this, take a look at the rest of the output. It might be nice to clean up progress or other messages as well.
Here's the error:
fwup: eject failed: 0xc010 (49168) (null))
This was reported by @wsmoak on the elixir-lang slack. I'm not sure if improvements to the error message would help debug this particular issue. Check if error 49168 could be a commonly encountered error if the SDCard is busy and produce a better error message.
It seems that the label provided gets capitalized. I would be great to get a label that is exactly what is entered without alteration. I guess some upper() function gets invoked.
eg.
on-init {
mbr_write(mbr-a)
fat_mkfs(${BOOT_OFFSET}, ${BOOT_COUNT})
fat_setlabel(${BOOT_OFFSET}, "boot")
}
Actual label on SD card: BOOT
Ubuntu 14.04
=======================================
fwup 0.17.0: tests/test-suite.log
=======================================
# TOTAL: 140
# PASS: 125
# SKIP: 0
# XFAIL: 0
# FAIL: 15
# XPASS: 0
# ERROR: 0
.. contents:: :depth: 2
FAIL: 038_write_15M
===================
| | 1% (0.20 / 15.00) MBAbort trap (core dumped)
Test failed!
Leaving test work files in '/home/niko/tmp/fwup/tests/work-038_write_15M.test'
FAIL 038_write_15M.test (exit status: 134)
FAIL: 039_upgrade
=================
|=================================== | 99% (152.56 / 152.56) KBAbort trap (core dumped)
Test failed!
Leaving test work files in '/home/niko/tmp/fwup/tests/work-039_upgrade.test'
FAIL 039_upgrade.test (exit status: 134)
FAIL: 045_legacy_require_partition1
===================================
|=================================== | 99% (152.56 / 152.56) KBAbort trap (core dumped)
Test failed!
Leaving test work files in '/home/niko/tmp/fwup/tests/work-045_legacy_require_partition1.test'
FAIL 045_legacy_require_partition1.test (exit status: 134)
FAIL: 052_file_concatenation
============================
|============================== | 85% (130.70 / 152.05) KBAbort trap (core dumped)
Test failed!
Leaving test work files in '/home/niko/tmp/fwup/tests/work-052_file_concatenation.test'
FAIL 052_file_concatenation.test (exit status: 134)
FAIL: 073_multistep_fat
=======================
| | 1% (0.15 / 15.16) MBAbort trap (core dumped)
Test failed!
Leaving test work files in '/home/niko/tmp/fwup/tests/work-073_multistep_fat.test'
FAIL 073_multistep_fat.test (exit status: 134)
FAIL: 074_fat_cache_fail
========================
|========= | 25% (1.18 / 4.58) MBAbort trap (core dumped)
Test failed!
Leaving test work files in '/home/niko/tmp/fwup/tests/work-074_fat_cache_fail.test'
FAIL 074_fat_cache_fail.test (exit status: 134)
FAIL: 075_big_fat_fs
====================
|= | 4% (0.66 / 15.00) MBAbort trap (core dumped)
Test failed!
Leaving test work files in '/home/niko/tmp/fwup/tests/work-075_big_fat_fs.test'
FAIL 075_big_fat_fs.test (exit status: 134)
FAIL: 082_uboot_upgrade
=======================
|=================================== | 99% (152.56 / 152.56) KBAbort trap (core dumped)
Test failed!
Leaving test work files in '/home/niko/tmp/fwup/tests/work-082_uboot_upgrade.test'
FAIL 082_uboot_upgrade.test (exit status: 134)
FAIL: 085_raw_memset
====================
|=================================== | 99% (259.58 / 262.14) KBAbort trap (core dumped)
Test failed!
Leaving test work files in '/home/niko/tmp/fwup/tests/work-085_raw_memset.test'
FAIL 085_raw_memset.test (exit status: 134)
FAIL: 095_sparse_apply
======================
fwup: Unsigned archive '/home/niko/tmp/fwup/tests/work-095_sparse_apply.test/fwup.fw' is not corrupt.
/home/niko/tmp/fwup/tests
fwup: Unsigned archive '/home/niko/tmp/fwup/tests/work-095_sparse_apply.test/new.fw' is not corrupt.
|=================================== | 99% (7.17 / 7.17) KBpthread_mutex_destroy on mutex with waiters!
pthread_mutex_destroy on mutex with waiters!
|====================================| 100% (7.17 / 7.17) KB
Success!
Elapsed time: 0.003s
|=== | 9% (0.84 / 9.24) MBAbort trap (core dumped)
Test failed!
Leaving test work files in '/home/niko/tmp/fwup/tests/work-095_sparse_apply.test'
FAIL 095_sparse_apply.test (exit status: 134)
FAIL: 109_includes
==================
|=============================== | 87% (130.70 / 150.00) KBAbort trap (core dumped)
Test failed!
Leaving test work files in '/home/niko/tmp/fwup/tests/work-109_includes.test'
FAIL 109_includes.test (exit status: 134)
FAIL: 110_compression_level
===========================
|========= | 26% (128.78 / 493.57) KBAbort trap (core dumped)
Test failed!
Leaving test work files in '/home/niko/tmp/fwup/tests/work-110_compression_level.test'
FAIL 110_compression_level.test (exit status: 134)
FAIL: 111_streaming_exit_fast
=============================
./111_streaming_exit_fast.test[27]: timeout: not found
Test failed!
Leaving test work files in '/home/niko/tmp/fwup/tests/work-111_streaming_exit_fast.test'
FAIL 111_streaming_exit_fast.test (exit status: 127)
FAIL: 125_trimmed_upgrade
=========================
|=================================== | 99% (152.57 / 152.57) KBAbort trap (core dumped)
Test failed!
Leaving test work files in '/home/niko/tmp/fwup/tests/work-125_trimmed_upgrade.test'
FAIL 125_trimmed_upgrade.test (exit status: 134)
FAIL: 131_raw_key
=================
Firmware signing keys created and saved to fwup-key.pub and fwup-key.priv
Distribute fwup-key.pub with your system so that firmware updates can be
authenticated. Keep fwup-key.priv in a safe location.
43+0 records in
43+0 records out
43 bytes transferred in 0.000 secs (394495 bytes/sec)
86+0 records in
86+0 records out
86 bytes transferred in 0.000 secs (601399 bytes/sec)
/home/niko/tmp/fwup/tests
pthread_mutex_destroy on mutex with waiters!
pthread_mutex_destroy on mutex with waiters!
fwup: Signed archive '/home/niko/tmp/fwup/tests/work-131_raw_key.test/fwup.fw' is not corrupt. Pass a public key to verify the signature.
pthread_mutex_destroy on mutex with waiters!
pthread_mutex_destroy on mutex with waiters!
pthread_mutex_destroy on mutex with waiters!
pthread_mutex_destroy on mutex with waiters!
pthread_mutex_destroy on mutex with waiters!
pthread_mutex_destroy on mutex with waiters!
fwup: Error reading or decoding public key from file '/home/niko/tmp/fwup/tests/work-131_raw_key.test/fwup-key.pub.unpadded'
Test failed!
Leaving test work files in '/home/niko/tmp/fwup/tests/work-131_raw_key.test'
FAIL 131_raw_key.test (exit status: 1)
With some work, it's possible to get fwup
to both run in the Windows Subsystem for Linux and be able to write to SDCards. Here's a report from @jmerryweather:
steps are as follows:
(1) uninstall any linux version of fwup in WSL
(2) from Windows install fwup using chocolatey
(3) create a 'fwup' file that will will point to fwup.exe, i can send you the version i made, it is based on the VS Code 'code' file
(4) run Bash on Ubuntu on Windows "As Administrator", fwup won't work without doing that, it will instead give errors that there are no sd cards
(5) without 'sudo', run the following: fwup firmware.fw
#!/usr/bin/env bash
#
# Inspiration taken from Microsoft VS Code's Windows 'code' bash file
NAME="fwup"
FWUP_LOCATION="$(dirname "$(realpath "$0")")"
FULLPATH="$FWUP_LOCATION/$NAME.exe"
if grep -q Microsoft /proc/version; then
# If running under WSL
"$FULLPATH" "$@"
exit $?
fi
exit $?
thats the fwup file i put under C:\ProgramData\chocolatey\bin
if we could get the above distributed with the fwup chocolatey package, it would make discovery of the windows fwup much easier
Compiling and running the latest commit in master branch.
======================================
fwup 0.3.0: tests/test-suite.log
======================================
# TOTAL: 28
# PASS: 26
# SKIP: 0
# XFAIL: 0
# FAIL: 2
# XPASS: 0
# ERROR: 0
.. contents:: :depth: 2
FAIL: 004_env_vars
==================
fwup: can't open file-resource '/home/admin/src/fwup/tests/work/${TEST_ENV_VAR}'
FAIL 004_env_vars.test (exit status: 1)
FAIL: 005_define
================
fwup: can't open file-resource '/home/admin/src/fwup/tests/work/${TEST_DEFINE}'
FAIL 005_define.test (exit status: 1)
My preferred way of swapping old and new partitions is to update the appropriate uboot environment variables rather than re-writing the MBR. This makes testing and debugging easier, and with a redundant uboot environment enabled should be fully power-off safe. (MBR method makes me nervous)
I've been looking at whether to add this directly to fwup
or just incorporate it in a wrapper script. Thoughts?
In a Vagrant Ubuntu Trusty64 box, when running the ./configure
command inside the fwup directory I get the following error:
./configure: line 12447: syntax error near unexpected token `BASH_COMPLETION,'
./configure: line 12447: ` PKG_CHECK_MODULES(BASH_COMPLETION, bash-completion >= 2.0,'
I have tried uninstalling and reinstallling bash-completion but this had no effect. I didn't have this problem on my host laptop, which is Xubuntu 14.04.
Sorry I can't be more help, I really don't know Bash.
To reproduce, format a memory card and create a partition with a space in the name. If you're on a Linux system that creates mount points based on volume names, you should get a space in the directory. Now run fwup to program that memory card and it will fail to unmount the partition.
It should be possible to program SDCards from Windows.
/fwup$ fwup --help
Segmentation fault (core dumped)
Running on Virtual Box, Ubuntu 14.04
For intermediate upgrade scenarios, i.e., those where a device needs to upgrade to an intermediate version of software before upgrading to the final version, it is desirable to be able to extract the upgrade path from the .fw
file. The current situation is that you can manually set this scenario up on a firmware update server, but it would be less error prone if the .fw
file metadata could help out.
One idea: Add a meta-min-version
that can be queried using fwup -m
and support a require condition to run a semver check on a u-boot environment block variable (similar to require-uboot-variable
).
When running the fat_mkfs
command to attempt to create a FAT filesystem in a FAT 32 partition, there is an error whenever the offset is exactly 2 GiB or greater. This error seems to be independent of the size of the partition, and only depends on the offset. The error is: A hard error occurred in the low level disk I/O layer
.
Running two phase upgrades on OSX currently breaks due to auto-eject, since the auto-eject occurs after the first phase and the SDCard is no longer available. Since the nerves-project currently only supports flashing complete images and two phase upgrades, OSX users can only flash complete images at the moment.
I'm putting this out there for comment. Over the past couple years, I've receive some interest in switching back to OpenSSL. Some may remember that fwup originally used OpenSSL, but I switch to libsodium because 1. it was far easier for me to understand, 2. a smaller dependency, and 3. there was quite a bit of negative press regarding vulnerabilities in the OpenSSL. The reasons for switching back to OpenSSL are:
Impact of such a change:
The second one is the main concern. My observation is that people get stuck on a version of fwup
once they deploy - maybe not intentionally, but it seems like there's a level of comfort not changing it if it's working well. If the current signing mechanism can't be dropped, then I'm sure that it could be kept for a little while or made an option since its implementation is pretty simple.
When specifying the same resource to be written to two different offsets it fails with the following message.
fwup: raw_write didn't write anything. Was it called twice in an on-resource for 'rootfs.ext4'?
In my setup both partitions should have the same resource written during factory setup. I would like to avoid having to increase the size of my .fw bundle with a duplicate resource. My config currently looks like this:
on-resource rootfs.ext4 {
raw_write(${ROOTFS_A_PART_OFFSET}) # Write to the first rootfs partition
raw_write(${ROOTFS_B_PART_OFFSET}) # Write to the second rootfs partition
}
Is this an intentional design decision?
I am trying to add file to the fw bundle using the file-resource option in my fwup.conf file, like so:
file-resource "/release.html" {
host-path = "${NERVES_ROOT}/../_images/release.html"
}
Then when the firmware bundle is made I get
chris@chrisdev:~/projects/ng1a$ ls _images/fw/
data meta.conf
chris@chrisdev:~/projects/ng1a$ ls _images/fw/data/
MLO release.html rootfs.ext2 u-boot.img uEnv.txt
From the documentation it seems like this should end up in the root of the bundle.
I can replicate this on ZFS, but all pass on ext4.
https://gist.github.com/Mic92/cda72ea4f028ff33e440c22dc2df15de
Problem:
The version number field is not trusted to unambiguously represent the firmware that's running on a device. The vcs_identifier can be used, but isn't guaranteed to be populated. The solution of running a SHA-256 over the .fw
file after it has been generated is not desirable since things like signing .fw files would change the computed hash but not alter the contents.
Proposed solution:
Add a virtual meta-uuid
field that can be deterministically calculated based on the contents of the .fw file. This could be based on the meta.conf
file since that file contains hashes of all of the constituent files. If meta-uuid
is calculated rather than stored, it will work on .fw
files created with older versions of fwup
.
In the example fw.conf (https://github.com/fhunleth/fwup/blob/master/fwupdate.conf) an ext partition is used for application data. I'd like to do exactly this but I don't see support for creating ext filesystems.
Currently fwup
requires sudo to scan and write to SDCards. It should be possible to scan for SDCards using the Disk Arbitration framework (no elevated privileges required) and to write to them by getting a file handle from authopen
.
Problem
On a Raspberry the system sdcard is suggested instead of a external attached sd card.
Possible solutions
~/.fwup.conf
file with a list of interfaces to exclude/include~/.fwup.conf
which allows to set all the defaults of the argument i can pass (so i dont have to specify -d
everytime)Which memory card would you like to use (press d to set as default)?
[*] 29.72 GiB at /dev/mmcblk0
[ ] 7.14 GiB at /dev/sda
Hi,
the fwup.1 man page generated by help2man contains the following line in the DESCRIPTION section:
./fwup: unrecognized option '--help'
The reason is help2man calling fwup --help
which fwup does not understand. Unfortunately help2man refuses to call a binary with no --help
option at all (adding --help-option=""
in src/Makefile.am makes help2man fail).
The elapsed time calculation uses gettimeofday which is not monotonic. On devices that take a while to update their clocks, the jump from 1970 to the current date has actually happened during a firmware update and confused people.
Now that fwup
can be installed from a package manager rather than from source, man pages would be really nice.
too add files to a partition you need to have steps like:
file-resource bootcode.bin {
host-path = "${NERVES_SYSTEM}/images/rpi-firmware/bootcode.bin"
}
then in the each task you must:
on-resource bootcode.bin { fat_write(${BOOT_PART_OFFSET}, "bootcode.bin") }
This leads to a ton of duplicated lines. (especially when you have a part_a/part_b system)
It would be nice to just be able to specify a list of files you are concerned with
It's only a matter of time before we need to support a platform that does not recognize MBR any more. It looks like the newer Intel embedded platforms are going that route.
After upgrading the OSX High Sierra, 4 sparse file tests start failing. APFS supports sparse files, but its heuristic for determining when to make a hole is not as immediately obvious as it is with other filesystems that support sparse files. It may be necessary to disable these tests on OSX in the nearterm.
Currently, you get this:
Use 58.27 GiB memory card found at /dev/sdc? [Yn]
This is for a MicroSD card that is labeled "64 GB". Since it seems like SSDs and SDCards are all labeled in power-of-10 units and pretty much every other program besides fwup
uses power-of-10 units for these devices, change that message to something like this:
Use 62.57 GB memory card found at /dev/sdc? [Yn]
I had been under the impression that /dev/sda
would never be an SDCard. Today, I worked with someone who's laptop legitimately assigned the SDCard to /dev/sda
. Their root filesystem was on /dev/sdb
.
The following two tests are failing on raspian. I looked at them but could not find out why. On my SD Card i have 20 GB of space left.
I'm unsure of when exactly this happened but I likely was running mix firmware.burn -d /dev/sdb
to manually choose the device and probably ran it when the SD card was unplugged.
Writes always appear to succeed, password prompt still appears, etc. Even gparted will [mostly] work on the resulting file.
The current version of libconfuse throws an error if it encounters a configuration parameter that it doesn't recognize. This is a big problem since it prevents the addition of a parameters if you want a new firmware file to be applied by an older version of fwup
. In many cases, the new parameters are not mandatory for applying the firmware so the error is completely unnecessary. Version v2.9 of libconfuse has support for handling unknown arguments, so it will be possible to ignore these new arguments when parsing meta.conf files inside the .fw
files. Errors should still be thrown when encountering unknown parameters when creating .fw
files.
At this moment, libconfuse v2.9 hasn't been released. See https://github.com/martinh/libconfuse/blob/master/ChangeLog.md for details.
Log:
fwup -a -i rpi/blinky.fw -t complete
Use 1.89 GiB memory card found at .\PhysicalDrive2? [y/N] y
100%
they were never bootable by rpi
and sometimes the .txt files were "jibberish"(broken)
example cmdline.txt: ร๏ฟฝ๏ฟฝลVยพฦรฃ|โnรรยถรต[รก157Tโขยงรฑยด6รถลยง lรรบรeรก*iรป๏ฟฝรโ))ลฝล(-๏ฟฝยถรฆPร๏ฟฝ๏ฟฝยป๏ฟฝoรรงยฒ๏ฟฝยบยพร
but writing to .img file then writing it with win32 disk imager to the sd card it works
Technology has moved on. This line needs to be fixed:
https://github.com/fhunleth/fwup/blob/master/src/mmc_linux.c#L54
There's got to be a better way, though.
Was trying to change my firmware update system to use fwup rather than my own custom code but fwup doesn't seem to compile properly when I put BR2_PACKAGE_FWUP=y in my nerves config. Here is the error log..
fwup_apply.c: In function โtask_is_applicableโ:
fwup_apply.c:43:9: warning: implicit declaration of function โpreadโ [-Wimplicit-function-declaration]
fwup_apply.c: In function โfwup_applyโ:
fwup_apply.c:226:56: error: โO_CLOEXECโ undeclared (first use in this function)
fwup_apply.c:226:56: note: each undeclared identifier is reported only once for each function it appears in
make[5]: *** [fwup-fwup_apply.o] Error 1
make[5]: *** Waiting for unfinished jobs....
fwfile.c: In function โcfg_to_stringโ:
fwfile.c:25:5: warning: implicit declaration of function โopen_memstreamโ [-Wimplicit-function-declaration]
fwfile.c:25:16: warning: initialization makes pointer from integer without a cast [enabled by default]
mv -f .deps/fwup-fwfile.Tpo .deps/fwup-fwfile.Po
mv -f .deps/fwup-fatfs.Tpo .deps/fwup-fatfs.Po
mv -f .deps/fwup-cfgfile.Tpo .deps/fwup-cfgfile.Po
functions.c: In function โraw_write_runโ:
functions.c:185:9: warning: implicit declaration of function โpwriteโ [-Wimplicit-function-declaration]
mv -f .deps/fwup-functions.Tpo .deps/fwup-functions.Po
make[5]: Leaving directory /home/garth/echo/examples/hello_alix/_nerves/buildroot/output/build/fwup-v0.0.4/src' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory
/home/garth/echo/examples/hello_alix/_nerves/buildroot/output/build/fwup-v0.0.4'
make[3]: *** [all] Error 2
make[3]: Leaving directory /home/garth/echo/examples/hello_alix/_nerves/buildroot/output/build/fwup-v0.0.4' make[2]: *** [/home/garth/echo/examples/hello_alix/_nerves/buildroot/output/build/fwup-v0.0.4/.stamp_built] Error 2 make[2]: Leaving directory
/home/garth/echo/examples/hello_alix/_nerves/buildroot'
make[1]: *** [br-make] Error 2
make[1]: Leaving directory `/home/garth/echo/examples/hello_alix/_nerves'
make: *** [_nerves/.stamp_built] Error 2
garth@debian:~/echo/examples/hello_alix$
When trying to install fwup_0.9.0_amd64.deb I get an error: This package is of bad quality
Lintian check results for /tmp/mozilla_jon0/fwup_0.9.0_amd64.deb:
E: fwup: maintainer-name-missing travis@testing-gce-c23388e7-daf4-4bba-91d1-7b6fcd0520f9
E: fwup: maintainer-address-malformed travis@testing-gce-c23388e7-daf4-4bba-91d1-7b6fcd0520f9
I checked version 0.8.2 and it's the same message, although the values in the details are different.
couldn't find anything on the googles, so I just installed it. It seems to work fine. If this is normal, just close this ticket. Thiss issue might help others with the same thing though.
The tests start failing on 0.15.0, 0.14.3 builds fine.
=======================================
fwup 0.15.0: tests/test-suite.log
=======================================
# TOTAL: 125
# PASS: 56
# SKIP: 0
# XFAIL: 0
# FAIL: 69
# XPASS: 0
# ERROR: 0
.. contents:: :depth: 2
FAIL: 001_simple_fw
===================
0%
99%
100%
Elapsed time: 0.000s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-001_simple_fw.test'
FAIL 001_simple_fw.test (exit status: 1)
FAIL: 002_resource_subdir
=========================
0%
33%
66%
99%
100%
Elapsed time: 0.000s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-002_resource_subdir.test'
FAIL 002_resource_subdir.test (exit status: 1)
FAIL: 003_write_offset
======================
0%
43%
87%
99%
100%
Elapsed time: 0.001s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-003_write_offset.test'
FAIL 003_write_offset.test (exit status: 1)
FAIL: 004_env_vars
==================
0%
99%
100%
Elapsed time: 0.000s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-004_env_vars.test'
FAIL 004_env_vars.test (exit status: 1)
FAIL: 005_define
================
0%
99%
100%
Elapsed time: 0.000s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-005_define.test'
FAIL 005_define.test (exit status: 1)
FAIL: 007_mbr
=============
0%
99%
100%
Elapsed time: 0.001s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-007_mbr.test'
FAIL 007_mbr.test (exit status: 1)
FAIL: 008_partial_mbr
=====================
0%
99%
100%
Elapsed time: 0.000s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-008_partial_mbr.test'
FAIL 008_partial_mbr.test (exit status: 1)
FAIL: 010_fat_mkfs
==================
0%
50%
99%
100%
Elapsed time: 0.002s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-010_fat_mkfs.test'
FAIL 010_fat_mkfs.test (exit status: 1)
FAIL: 011_fat_setlabel
======================
0%
33%
66%
100%
Elapsed time: 0.001s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-011_fat_setlabel.test'
FAIL 011_fat_setlabel.test (exit status: 1)
FAIL: 012_fat_write
===================
0%
99%
100%
Elapsed time: 0.001s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-012_fat_write.test'
FAIL 012_fat_write.test (exit status: 1)
FAIL: 013_fat_mv
================
0%
99%
100%
Elapsed time: 0.003s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-013_fat_mv.test'
FAIL 013_fat_mv.test (exit status: 1)
FAIL: 014_fat_cp
================
0%
99%
100%
Elapsed time: 0.001s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-014_fat_cp.test'
FAIL 014_fat_cp.test (exit status: 1)
FAIL: 017_fat_rm
================
0%
99%
100%
Elapsed time: 0.002s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-017_fat_rm.test'
FAIL 017_fat_rm.test (exit status: 1)
FAIL: 018_numeric_progress
==========================
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-018_numeric_progress.test'
FAIL 018_numeric_progress.test (exit status: 1)
FAIL: 019_quiet_progress
========================
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-019_quiet_progress.test'
FAIL 019_quiet_progress.test (exit status: 1)
FAIL: 022_signed_fw
===================
Firmware signing keys created and saved to fwup-key.pub and fwup-key.priv
Distribute fwup-key.pub with your system so that firmware updates can be
authenticated. Keep fwup-key.priv in a safe location.
/tmp/nix-build-fwup-0.15.0.drv-0/source/tests
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-022_signed_fw.test'
FAIL 022_signed_fw.test (exit status: 1)
FAIL: 026_sign_again
====================
Firmware signing keys created and saved to fwup-key.pub and fwup-key.priv
Distribute fwup-key.pub with your system so that firmware updates can be
authenticated. Keep fwup-key.priv in a safe location.
/tmp/nix-build-fwup-0.15.0.drv-0/source/tests
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-026_sign_again.test'
FAIL 026_sign_again.test (exit status: 1)
FAIL: 027_fat_timestamp
=======================
0%
99%
100%
Elapsed time: 0.001s
verify-syscalls: open was never called on '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-027_fat_timestamp.test/fwup.img.1'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-027_fat_timestamp.test'
FAIL 027_fat_timestamp.test (exit status: 1)
FAIL: 028_osip
==============
0%
99%
100%
Elapsed time: 0.000s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-028_osip.test'
FAIL 028_osip.test (exit status: 1)
FAIL: 029_5G_offset
===================
Sparse files supported
0%
43%
87%
99%
100%
Elapsed time: 0.001s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-029_5G_offset.test'
FAIL 029_5G_offset.test (exit status: 1)
FAIL: 030_2T_offset
===================
Sparse files supported
0%
43%
87%
99%
100%
Elapsed time: 0.003s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-030_2T_offset.test'
FAIL 030_2T_offset.test (exit status: 1)
FAIL: 031_fat_mkfs_5G
=====================
Sparse files supported
0%
50%
99%
100%
Elapsed time: 0.106s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-031_fat_mkfs_5G.test'
FAIL 031_fat_mkfs_5G.test (exit status: 1)
FAIL: 032_fat_2T_offset
=======================
Sparse files supported
0%
99%
100%
Elapsed time: 0.001s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-032_fat_2T_offset.test'
FAIL 032_fat_2T_offset.test (exit status: 1)
FAIL: 035_streaming
===================
0%
99%
100%
Elapsed time: 0.001s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-035_streaming.test'
FAIL 035_streaming.test (exit status: 1)
FAIL: 036_streaming_signed_fw
=============================
Firmware signing keys created and saved to fwup-key.pub and fwup-key.priv
Distribute fwup-key.pub with your system so that firmware updates can be
authenticated. Keep fwup-key.priv in a safe location.
/tmp/nix-build-fwup-0.15.0.drv-0/source/tests
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-036_streaming_signed_fw.test'
FAIL 036_streaming_signed_fw.test (exit status: 1)
FAIL: 038_write_15M
===================
0%
1%
2%
3%
4%
5%
6%
7%
8%
9%
10%
11%
12%
13%
14%
15%
16%
17%
18%
19%
20%
21%
22%
23%
24%
25%
26%
27%
28%
29%
30%
31%
32%
33%
34%
35%
36%
37%
38%
39%
40%
41%
42%
43%
44%
45%
46%
47%
48%
49%
50%
51%
52%
53%
54%
55%
56%
57%
58%
59%
60%
61%
62%
63%
64%
65%
66%
67%
68%
69%
70%
71%
72%
73%
74%
75%
76%
77%
78%
79%
80%
81%
82%
83%
84%
85%
86%
87%
88%
89%
90%
91%
92%
93%
94%
95%
96%
97%
98%
99%
100%
Elapsed time: 0.058s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-038_write_15M.test'
FAIL 038_write_15M.test (exit status: 1)
FAIL: 039_upgrade
=================
0%
1%
42%
85%
99%
100%
Elapsed time: 0.004s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-039_upgrade.test'
FAIL 039_upgrade.test (exit status: 1)
FAIL: 042_fat_am335x
====================
0%
50%
99%
100%
Elapsed time: 0.001s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-042_fat_am335x.test'
FAIL 042_fat_am335x.test (exit status: 1)
FAIL: 043_fat_touch
===================
0%
33%
66%
99%
100%
Elapsed time: 0.001s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-043_fat_touch.test'
FAIL 043_fat_touch.test (exit status: 1)
FAIL: 044_require_file_exist
============================
0%
25%
50%
75%
99%
100%
Elapsed time: 0.000s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-044_require_file_exist.test'
FAIL 044_require_file_exist.test (exit status: 1)
FAIL: 045_legacy_require_partition1
===================================
0%
1%
42%
85%
99%
100%
Elapsed time: 0.002s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-045_legacy_require_partition1.test'
FAIL 045_legacy_require_partition1.test (exit status: 1)
FAIL: 047_unknown_apply_succeeds
================================
/tmp/nix-build-fwup-0.15.0.drv-0/source/tests
0%
100%verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-047_unknown_apply_succeeds.test'
FAIL 047_unknown_apply_succeeds.test (exit status: 1)
FAIL: 052_file_concatenation
============================
0%
42%
85%
99%
100%
Elapsed time: 0.000s
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-052_file_concatenation.test'
FAIL 052_file_concatenation.test (exit status: 1)
FAIL: 053_framed_progress
=========================
verify-syscalls: open was never called on 'fwup.img'
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.15.0.drv-0/source/tests/work-053_framed_progress.test'
FAIL 053_framed_progress.test (exit status: 1)
FAIL: 060_framed_streaming
==========================
With the current version, even more tests fail:
=======================================
fwup 0.18.0: tests/test-suite.log
=======================================
# TOTAL: 141
# PASS: 60
# SKIP: 0
# XFAIL: 0
# FAIL: 81
# XPASS: 0
# ERROR: 0
.. contents:: :depth: 2
FAIL: 001_simple_fw
===================
| | 0%
|=================================== | 99% (1.02 / 1.02) KB
|====================================| 100% (1.02 / 1.02) KB
Success!
Elapsed time: 0.000s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-001_simple_fw.test'
FAIL 001_simple_fw.test (exit status: 1)
FAIL: 002_resource_subdir
=========================
| | 0%
|=========== | 33% (1.02 / 3.07) KB
|======================= | 66% (2.05 / 3.07) KB
|=================================== | 99% (3.07 / 3.07) KB
|====================================| 100% (3.07 / 3.07) KB
Success!
Elapsed time: 0.000s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-002_resource_subdir.test'
FAIL 002_resource_subdir.test (exit status: 1)
FAIL: 003_write_offset
======================
| | 0%
|=============== | 43% (65.17 / 150.00) KB
|=============================== | 87% (130.68 / 150.00) KB
|=================================== | 99% (150.00 / 150.00) KB
|====================================| 100% (150.00 / 150.00) KB
Success!
Elapsed time: 0.000s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-003_write_offset.test'
FAIL 003_write_offset.test (exit status: 1)
FAIL: 004_env_vars
==================
| | 0%
|=================================== | 99% (1.02 / 1.02) KB
|====================================| 100% (1.02 / 1.02) KB
Success!
Elapsed time: 0.000s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-004_env_vars.test'
FAIL 004_env_vars.test (exit status: 1)
FAIL: 005_define
================
| | 0%
|=================================== | 99% (1.02 / 1.02) KB
|====================================| 100% (1.02 / 1.02) KB
Success!
Elapsed time: 0.001s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-005_define.test'
FAIL 005_define.test (exit status: 1)
FAIL: 007_mbr
=============
| | 0%
|=================================== | 99% (512.00 / 512.00) bytes
|====================================| 100% (512.00 / 512.00) bytes
Success!
Elapsed time: 0.000s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-007_mbr.test'
FAIL 007_mbr.test (exit status: 1)
FAIL: 008_partial_mbr
=====================
| | 0%
|=================================== | 99% (512.00 / 512.00) bytes
|====================================| 100% (512.00 / 512.00) bytes
Success!
Elapsed time: 0.000s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-008_partial_mbr.test'
FAIL 008_partial_mbr.test (exit status: 1)
FAIL: 010_fat_mkfs
==================
| | 0%
|================== | 50% (0.51 / 1.02) KB
|=================================== | 99% (1.02 / 1.02) KB
|====================================| 100% (1.02 / 1.02) KB
Success!
Elapsed time: 0.001s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-010_fat_mkfs.test'
FAIL 010_fat_mkfs.test (exit status: 1)
FAIL: 011_fat_setlabel
======================
| | 0%
|=========== | 33% (0.51 / 1.54) KB
|======================= | 66% (1.02 / 1.54) KB
|=================================== | 99% (1.54 / 1.54) KB
|====================================| 100% (1.54 / 1.54) KB
Success!
Elapsed time: 0.001s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-011_fat_setlabel.test'
FAIL 011_fat_setlabel.test (exit status: 1)
FAIL: 012_fat_write
===================
| | 0%
|========= | 25% (0.51 / 2.05) KB
|================== | 50% (1.02 / 2.05) KB
|=================================== | 99% (2.05 / 2.05) KB
|====================================| 100% (2.05 / 2.05) KB
Success!
Elapsed time: 0.002s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-012_fat_write.test'
FAIL 012_fat_write.test (exit status: 1)
FAIL: 013_fat_mv
================
| | 0%
|======= | 20% (0.51 / 2.56) KB
|============== | 40% (1.02 / 2.56) KB
|============================ | 80% (2.05 / 2.56) KB
|=================================== | 99% (2.56 / 2.56) KB
|====================================| 100% (2.56 / 2.56) KB
Success!
Elapsed time: 0.001s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-013_fat_mv.test'
FAIL 013_fat_mv.test (exit status: 1)
FAIL: 014_fat_cp
================
| | 0%
|=== | 9% (0.51 / 5.63) KB
|====== | 18% (1.02 / 5.63) KB
|============ | 36% (2.05 / 5.63) KB
|================ | 45% (2.56 / 5.63) KB
|=================== | 54% (3.07 / 5.63) KB
|====================== | 63% (3.58 / 5.63) KB
|========================= | 72% (4.10 / 5.63) KB
|============================= | 81% (4.61 / 5.63) KB
|================================ | 90% (5.12 / 5.63) KB
|=================================== | 99% (5.63 / 5.63) KB
|====================================| 100% (5.63 / 5.63) KB
Success!
Elapsed time: 0.005s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-014_fat_cp.test'
FAIL 014_fat_cp.test (exit status: 1)
FAIL: 017_fat_rm
================
| | 0%
|== | 8% (0.51 / 6.14) KB
|===== | 16% (1.02 / 6.14) KB
|=========== | 33% (2.05 / 6.14) KB
|============== | 41% (2.56 / 6.14) KB
|================== | 50% (3.07 / 6.14) KB
|==================== | 58% (3.58 / 6.14) KB
|======================= | 66% (4.10 / 6.14) KB
|=========================== | 75% (4.61 / 6.14) KB
|============================= | 83% (5.12 / 6.14) KB
|================================ | 91% (5.63 / 6.14) KB
|=================================== | 99% (6.14 / 6.14) KB
|====================================| 100% (6.14 / 6.14) KB
Success!
Elapsed time: 0.002s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-017_fat_rm.test'
FAIL 017_fat_rm.test (exit status: 1)
FAIL: 018_numeric_progress
==========================
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-018_numeric_progress.test'
FAIL 018_numeric_progress.test (exit status: 1)
FAIL: 019_quiet_progress
========================
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-019_quiet_progress.test'
FAIL 019_quiet_progress.test (exit status: 1)
FAIL: 022_signed_fw
===================
Firmware signing keys created and saved to fwup-key.pub and fwup-key.priv
Distribute fwup-key.pub with your system so that firmware updates can be
authenticated. Keep fwup-key.priv in a safe location.
/tmp/nix-build-fwup-0.18.0.drv-0/source/tests
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-022_signed_fw.test'
FAIL 022_signed_fw.test (exit status: 1)
FAIL: 026_sign_again
====================
Firmware signing keys created and saved to fwup-key.pub and fwup-key.priv
Distribute fwup-key.pub with your system so that firmware updates can be
authenticated. Keep fwup-key.priv in a safe location.
/tmp/nix-build-fwup-0.18.0.drv-0/source/tests
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-026_sign_again.test'
FAIL 026_sign_again.test (exit status: 1)
FAIL: 027_fat_timestamp
=======================
| | 0%
|========= | 25% (0.51 / 2.05) KB
|================== | 50% (1.02 / 2.05) KB
|=================================== | 99% (2.05 / 2.05) KB
|====================================| 100% (2.05 / 2.05) KB
Success!
Elapsed time: 0.002s
-- verify-syscalls report --
open() was never called on '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-027_fat_timestamp.test/fwup.img.1'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-027_fat_timestamp.test'
FAIL 027_fat_timestamp.test (exit status: 1)
FAIL: 028_osip
==============
| | 0%
|=================================== | 99% (512.00 / 512.00) bytes
|====================================| 100% (512.00 / 512.00) bytes
Success!
Elapsed time: 0.000s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-028_osip.test'
FAIL 028_osip.test (exit status: 1)
FAIL: 029_5G_offset
===================
Sparse files supported
| | 0%
|=============== | 43% (65.16 / 150.00) KB
|=============================== | 87% (130.68 / 150.00) KB
|=================================== | 99% (150.00 / 150.00) KB
|====================================| 100% (150.00 / 150.00) KB
Success!
Elapsed time: 0.001s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-029_5G_offset.test'
FAIL 029_5G_offset.test (exit status: 1)
FAIL: 030_2T_offset
===================
Sparse files supported
| | 0%
|=============== | 43% (65.16 / 150.00) KB
|=============================== | 87% (130.68 / 150.00) KB
|=================================== | 99% (150.00 / 150.00) KB
|====================================| 100% (150.00 / 150.00) KB
Success!
Elapsed time: 0.001s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-030_2T_offset.test'
FAIL 030_2T_offset.test (exit status: 1)
FAIL: 031_fat_mkfs_5G
=====================
Sparse files supported
| | 0%
|================== | 50% (0.51 / 1.02) KB
|=================================== | 99% (1.02 / 1.02) KB
|====================================| 100% (1.02 / 1.02) KB
Success!
Elapsed time: 0.097s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-031_fat_mkfs_5G.test'
FAIL 031_fat_mkfs_5G.test (exit status: 1)
FAIL: 032_fat_2T_offset
=======================
Sparse files supported
| | 0%
|===== | 16% (0.51 / 3.07) KB
|=========== | 33% (1.02 / 3.07) KB
|======================= | 66% (2.05 / 3.07) KB
|============================= | 83% (2.56 / 3.07) KB
|=================================== | 99% (3.07 / 3.07) KB
|====================================| 100% (3.07 / 3.07) KB
Success!
Elapsed time: 0.002s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-032_fat_2T_offset.test'
FAIL 032_fat_2T_offset.test (exit status: 1)
FAIL: 035_streaming
===================
| | 0%
|=================================== | 99% (1.02 / 1.02) KB
|====================================| 100% (1.02 / 1.02) KB
Success!
Elapsed time: 0.000s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-035_streaming.test'
FAIL 035_streaming.test (exit status: 1)
FAIL: 036_streaming_signed_fw
=============================
Firmware signing keys created and saved to fwup-key.pub and fwup-key.priv
Distribute fwup-key.pub with your system so that firmware updates can be
authenticated. Keep fwup-key.priv in a safe location.
/tmp/nix-build-fwup-0.18.0.drv-0/source/tests
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-036_streaming_signed_fw.test'
FAIL 036_streaming_signed_fw.test (exit status: 1)
FAIL: 038_write_15M
===================
| | 0%
| | 1% (0.20 / 15.00) MB
| | 2% (0.33 / 15.00) MB
|= | 3% (0.46 / 15.00) MB
|= | 4% (0.65 / 15.00) MB
|= | 5% (0.79 / 15.00) MB
|== | 6% (0.92 / 15.00) MB
|== | 7% (1.11 / 15.00) MB
|== | 8% (1.24 / 15.00) MB
|=== | 9% (1.38 / 15.00) MB
|=== | 10% (1.51 / 15.00) MB
|=== | 11% (1.70 / 15.00) MB
|==== | 12% (1.83 / 15.00) MB
|==== | 13% (1.97 / 15.00) MB
|===== | 14% (2.16 / 15.00) MB
|===== | 15% (2.29 / 15.00) MB
|===== | 16% (2.42 / 15.00) MB
|====== | 17% (2.55 / 15.00) MB
|====== | 18% (2.75 / 15.00) MB
|====== | 19% (2.88 / 15.00) MB
|======= | 20% (3.01 / 15.00) MB
|======= | 21% (3.21 / 15.00) MB
|======= | 22% (3.34 / 15.00) MB
|======== | 23% (3.47 / 15.00) MB
|======== | 24% (3.60 / 15.00) MB
|========= | 25% (3.80 / 15.00) MB
|========= | 26% (3.93 / 15.00) MB
|========= | 27% (4.06 / 15.00) MB
|========== | 28% (4.26 / 15.00) MB
|========== | 29% (4.39 / 15.00) MB
|========== | 30% (4.52 / 15.00) MB
|=========== | 31% (4.65 / 15.00) MB
|=========== | 32% (4.85 / 15.00) MB
|=========== | 33% (4.98 / 15.00) MB
|============ | 34% (5.11 / 15.00) MB
|============ | 35% (5.31 / 15.00) MB
|============ | 36% (5.44 / 15.00) MB
|============= | 37% (5.57 / 15.00) MB
|============= | 38% (5.77 / 15.00) MB
|============== | 39% (5.90 / 15.00) MB
|============== | 40% (6.03 / 15.00) MB
|============== | 41% (6.16 / 15.00) MB
|=============== | 42% (6.35 / 15.00) MB
|=============== | 43% (6.49 / 15.00) MB
|=============== | 44% (6.62 / 15.00) MB
|================ | 45% (6.81 / 15.00) MB
|================ | 46% (6.94 / 15.00) MB
|================ | 47% (7.08 / 15.00) MB
|================= | 48% (7.21 / 15.00) MB
|================= | 49% (7.40 / 15.00) MB
|================== | 50% (7.53 / 15.00) MB
|================== | 51% (7.67 / 15.00) MB
|================== | 52% (7.86 / 15.00) MB
|=================== | 53% (7.99 / 15.00) MB
|=================== | 54% (8.12 / 15.00) MB
|=================== | 55% (8.25 / 15.00) MB
|==================== | 56% (8.45 / 15.00) MB
|==================== | 57% (8.58 / 15.00) MB
|==================== | 58% (8.71 / 15.00) MB
|===================== | 59% (8.91 / 15.00) MB
|===================== | 60% (9.04 / 15.00) MB
|===================== | 61% (9.17 / 15.00) MB
|====================== | 62% (9.30 / 15.00) MB
|====================== | 63% (9.50 / 15.00) MB
|======================= | 64% (9.63 / 15.00) MB
|======================= | 65% (9.76 / 15.00) MB
|======================= | 66% (9.96 / 15.00) MB
|======================== | 67% (10.09 / 15.00) MB
|======================== | 68% (10.22 / 15.00) MB
|======================== | 69% (10.35 / 15.00) MB
|========================= | 70% (10.55 / 15.00) MB
|========================= | 71% (10.68 / 15.00) MB
|========================= | 72% (10.81 / 15.00) MB
|========================== | 73% (11.01 / 15.00) MB
|========================== | 74% (11.14 / 15.00) MB
|=========================== | 75% (11.27 / 15.00) MB
|=========================== | 76% (11.46 / 15.00) MB
|=========================== | 77% (11.60 / 15.00) MB
|============================ | 78% (11.73 / 15.00) MB
|============================ | 79% (11.86 / 15.00) MB
|============================ | 80% (12.05 / 15.00) MB
|============================= | 81% (12.19 / 15.00) MB
|============================= | 82% (12.32 / 15.00) MB
|============================= | 83% (12.51 / 15.00) MB
|============================== | 84% (12.64 / 15.00) MB
|============================== | 85% (12.78 / 15.00) MB
|============================== | 86% (12.91 / 15.00) MB
|=============================== | 87% (13.10 / 15.00) MB
|=============================== | 88% (13.23 / 15.00) MB
|================================ | 89% (13.36 / 15.00) MB
|================================ | 90% (13.56 / 15.00) MB
|================================ | 91% (13.69 / 15.00) MB
|================================= | 92% (13.82 / 15.00) MB
|================================= | 93% (13.95 / 15.00) MB
|================================= | 94% (14.15 / 15.00) MB
|================================== | 95% (14.28 / 15.00) MB
|================================== | 96% (14.41 / 15.00) MB
|================================== | 97% (14.61 / 15.00) MB
|=================================== | 98% (14.74 / 15.00) MB
|=================================== | 99% (14.87 / 15.00) MB
|====================================| 100% (15.00 / 15.00) MB
Success!
Elapsed time: 0.060s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-038_write_15M.test'
FAIL 038_write_15M.test (exit status: 1)
FAIL: 039_upgrade
=================
| | 0%
| | 1% (1.54 / 152.56) KB
|=============== | 42% (65.25 / 152.56) KB
|============================== | 85% (130.77 / 152.56) KB
|=================================== | 99% (152.56 / 152.56) KB
|====================================| 100% (152.56 / 152.56) KB
Success!
Elapsed time: 0.003s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-039_upgrade.test'
FAIL 039_upgrade.test (exit status: 1)
FAIL: 042_fat_am335x
====================
| | 0%
|================== | 50% (0.51 / 1.02) KB
|=================================== | 99% (1.02 / 1.02) KB
|====================================| 100% (1.02 / 1.02) KB
Success!
Elapsed time: 0.000s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-042_fat_am335x.test'
FAIL 042_fat_am335x.test (exit status: 1)
FAIL: 043_fat_touch
===================
| | 0%
|=========== | 33% (0.51 / 1.54) KB
|======================= | 66% (1.02 / 1.54) KB
|=================================== | 99% (1.54 / 1.54) KB
|====================================| 100% (1.54 / 1.54) KB
Success!
Elapsed time: 0.001s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-043_fat_touch.test'
FAIL 043_fat_touch.test (exit status: 1)
FAIL: 044_require_file_exist
============================
| | 0%
|========= | 25% (0.51 / 2.05) KB
|================== | 50% (1.02 / 2.05) KB
|=========================== | 75% (1.54 / 2.05) KB
|=================================== | 99% (2.05 / 2.05) KB
|====================================| 100% (2.05 / 2.05) KB
Success!
Elapsed time: 0.000s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-044_require_file_exist.test'
FAIL 044_require_file_exist.test (exit status: 1)
FAIL: 045_legacy_require_partition1
===================================
| | 0%
| | 1% (1.54 / 152.56) KB
|=============== | 42% (65.26 / 152.56) KB
|============================== | 85% (130.78 / 152.56) KB
|=================================== | 99% (152.56 / 152.56) KB
|====================================| 100% (152.56 / 152.56) KB
Success!
Elapsed time: 0.001s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-045_legacy_require_partition1.test'
FAIL 045_legacy_require_partition1.test (exit status: 1)
FAIL: 047_unknown_apply_succeeds
================================
/tmp/nix-build-fwup-0.18.0.drv-0/source/tests
| | 0%
|====================================| 100%
Success!
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-047_unknown_apply_succeeds.test'
FAIL 047_unknown_apply_succeeds.test (exit status: 1)
FAIL: 052_file_concatenation
============================
| | 0%
|=============== | 42% (65.18 / 152.05) KB
|============================== | 85% (130.70 / 152.05) KB
|=================================== | 99% (152.05 / 152.05) KB
|====================================| 100% (152.05 / 152.05) KB
Success!
Elapsed time: 0.001s
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-052_file_concatenation.test'
FAIL 052_file_concatenation.test (exit status: 1)
FAIL: 053_framed_progress
=========================
-- verify-syscalls report --
open() was never called on 'fwup.img'!
----------------------------
Test failed!
Leaving test work files in '/tmp/nix-build-fwup-0.18.0.drv-0/source/tests/work-053_framed_progress.test'
FAIL 053_framed_progress.test (exit status: 1)
FAIL: 060_framed_streaming
==========================
To build on OpenBSD I had to
export AUTOCONF_VERSION=2.69
export AUTOMAKE_VERSION=1.15
before ./autogen.sh
would work.
I had issues compiling the 0.9.0 version, while 0.8.2 works fine.
./configure
runs fine, but make
fails with the following error:
make[2]: *** No rule to make target 'fwup.h2m', needed by 'fwup.1'. Stop.
After removing the following code from src/Makefile.am
it worked fine.
if HAVE_HELP2MAN
man_MANS = fwup.1
CLEANFILES = $(man_MANS)
EXTRA_DIST += fwup.h2m
fwup.1: fwup$(EXEEXT) fwup.h2m
$(HELP2MAN) --no-discard-stderr --output=$@ --no-info --include fwup.h2m \
-n "configurable embedded firmware update creator and runner" \
./fwup$(EXEEXT)
else
@echo "Warning: help2man not available, no man page created."
endif
If you have any questions, just ask!
While updating an fwup.conf file I was renaming variables and missed some. When it tried to execute complete task, it failed with misleading error messages. Fwup should warn / error on unset variables.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.