With GPT there should be a backup partition table at the end of the disk. Before this change, mender-convert-package creates the output image file, writes the partition table, and when it writes the first partition data the file is truncated and the backup partition table is gone.
This change should not cause any worse performance, it leaves the backup partition table when using GPT partition scheme, and makes troubleshooting easier when looking at the partition table of the output diskimage.
Also worth noting, if the output diskimage is written to a disk that is larger than the diskimage, the backup partition table will end up in the wrong place. This can be fixed by running 'sgdisk -e <device>'. The device will still boot without the backup partition table, but it would be good to either document this or make it automatic as part of any "first boot" disk/partition operations.
Changelog: Title
Signed-off-by: Nate Baker <bakern@gmail.com>
This adds color to the warning, error, and fatal log messages, by changing the
colour codes in the terminal for the error level in the log message. This way
warning and errors stick out more from the regular messages, and helps identify
errors.
Changelog: Title
Signed-off-by: Ole Petter <ole.orhagen@northern.tech>
Previously there was a mix between two, and four spaces.
This commits unifies all scripts to use two-spaces for indentation.
Changelog: None
Signed-off-by: Ole Petter <ole.orhagen@northern.tech>
Minor spelling errors in user facing messages
Changelog: None
Signed-off-by: Ole Petter <ole.orhagen@northern.tech>
Spell fixes
The userfacing logging had a couple of spelling errors
Changelog: None
Signed-off-by: Ole Petter <ole.orhagen@northern.tech>
Current logic actually fails when no '-c/--config' options are provided, with this error:
$ MENDER_ARTIFACT_NAME="test-1" ./mender-convert --disk-image input/Armbian_5.95_Tinkerboard_Debian_buster_next_4.19.69_minimal.img
Running mender-convert-extract: --disk-image input/Armbian_5.95_Tinkerboard_Debian_buster_next_4.19.69_minimal.img
2019-10-02 12:46:39 [INFO] [mender-convert-extract] Using configuration file: configs/mender_convert_config
2019-10-02 12:46:39 [INFO] [mender-convert-extract] Using configuration file: ''
modules/config.sh: line 28: '': No such file or directory
The 'configs' array is actually not empty when passed to modules/config.sh
as it will contain "''", which will be translated as a array element and
hence the above failure.
This commit ensures that we set a valid default value to 'configs',
which is the 'mender_convert_config'. This is moved from modules/config.sh,
to the calling scripts that define the array of configs.
Fixes: 9b944615a8 ("configs: Support multiple config files on command line.")
Changelog: None
Signed-off-by: Mirza Krak <mirza.krak@northern.tech>
The current support for this fails due to incorrect use
of bash arrays.
Also, use the printf '%q' formatting code to add proper quotes
to the config file names to ensure that it works properly
with spaces in the file names.
Signed-off-by: Drew Moseley <drew.moseley@northern.tech>
Changelog: Title
The goals of the re-write was to achieve the following:
1. It should be easy to extend the tool to support other boards or distributions
2. We should not compile code in the tool (rely on binaries built elsewhere)
compiling code increases complexity, due to requirement of toolchains etc.
3. The tool shall not be designed around specific hardware/platform types
- This is the case today with the usage of --device-type flag
4 The tool should be to convert images without knowing anything about the hardware/platform
relates to above 3.
5. Configuration interface should be simplified
- command line flags -> configuration files
6. Platform specific code shall be provided trough “hooks”, and are not part of the “core” mender-convert code
7. It shall be easy to extend functionality
- support for rootfs overlay to inject user applications/configurations
- ability to override how the Mender Artifact is generated (to be able to sign and include state-scripts)
8. Code structure should be modular
- Eases Maintenance and possibility of making isolated changes
Changelog: Title
Signed-off-by: Mirza Krak <mirza.krak@northern.tech>