Hi, Stefano,
I tested again on the imx8-Board. fw_printenv and fw_setenv work successfull.
swupdate writes the new image, but is not able to set the uboot settings.
Here a log.
The lines marked with "PPPPPPP" are printfs in uboot_env.c (libuboot_read_config_ext).
You see calls with parse_yaml_config, which are OK.
But there are again calls with result -1 showing up on Line 1659:
if(ndev == 0) - which is true.
> /usr/bin/swupdate -e stable,root_A -f /etc/swupdate.cfg
--image /tmp/image-xxx-mx8mm.swu
[DEBUG] : SWUPDATE running : [read_module_settings] : No config
settings found for module logcolors
[DEBUG] : SWUPDATE running : [read_module_settings] : No config
settings found for module processes
SWUpdate v954e8c0
Licensed under GPLv2. See source distribution for detailed
copyright notices.
[TRACE] : SWUPDATE running : [print_registered_bootloaders] :
Registered bootloaders:
[TRACE] : SWUPDATE running : [print_registered_bootloaders] :
uboot loaded.
[TRACE] : SWUPDATE running : [print_registered_bootloaders] :
none loaded.
[INFO ] : SWUPDATE running : [main] : Using default bootloader
interface: uboot
[INFO ] : SWUPDATE running : [main] : Running on kontron-mx8mm
Revision 1
[INFO ] : SWUPDATE running : [print_registered_handlers] :
Registered handlers:
[INFO ] : SWUPDATE running : [print_registered_handlers] :
dummy
[INFO ] : SWUPDATE running : [print_registered_handlers] :
archive
[INFO ] : SWUPDATE running : [print_registered_handlers] :
tar
[INFO ] : SWUPDATE running : [print_registered_handlers] :
uboot
[INFO ] : SWUPDATE running : [print_registered_handlers] :
bootloader
[INFO ] : SWUPDATE running : [print_registered_handlers] :
flash
[INFO ] : SWUPDATE running : [print_registered_handlers] :
diskformat
[INFO ] : SWUPDATE running : [print_registered_handlers] :
diskpart
[INFO ] : SWUPDATE running : [print_registered_handlers] :
toggleboot
[INFO ] : SWUPDATE running : [print_registered_handlers] :
gptswap
[INFO ] : SWUPDATE running : [print_registered_handlers] :
gptpart
[INFO ] : SWUPDATE running : [print_registered_handlers] :
raw
[INFO ] : SWUPDATE running : [print_registered_handlers] :
rawfile
[INFO ] : SWUPDATE running : [print_registered_handlers] :
shellscript
[INFO ] : SWUPDATE running : [print_registered_handlers] :
preinstall
[INFO ] : SWUPDATE running : [print_registered_handlers] :
postinstall
[DEBUG] : SWUPDATE running : [parse_image_selector] : Parsing
selector: stable,root_A
[INFO ] : SWUPDATE running : [main] : software set: stable mode:
root_A
[DEBUG] : SWUPDATE running : [read_module_settings] : No config
settings found for module versions
[TRACE] : SWUPDATE running : [network_initializer] : Main loop
daemon
[TRACE] : SWUPDATE running : [listener_create] : got no socket at
/tmp/swupdateprog from systemd
[TRACE] : SWUPDATE running : [listener_create] : creating socket
at /tmp/swupdateprog
[TRACE] : SWUPDATE running : [listener_create] : got no socket at
/tmp/sockinstctrl from systemd
[TRACE] : SWUPDATE running : [listener_create] : creating socket
at /tmp/sockinstctrl
[TRACE] : SWUPDATE running : [network_thread] : Incoming network
request: processing...
[INFO ] : SWUPDATE started : Software Update started !
[TRACE] : SWUPDATE running : [network_initializer] : Software
update started
[TRACE] : SWUPDATE running : [extract_file_to_tmp] : Found file
[TRACE] : SWUPDATE running : [extract_file_to_tmp] : filename
sw-description
[TRACE] : SWUPDATE running : [extract_file_to_tmp] : size 2946
[DEBUG] : SWUPDATE running : [parse_cfg] : Parsing config file
/tmp/sw-description
[TRACE] : SWUPDATE running : [get_common_fields] : Version
0.0.3-dev
[TRACE] : SWUPDATE running : [parse_hw_compatibility] : Accepted
Hw Revision : 1
[TRACE] : SWUPDATE running : [_parse_files] : Found File:
fitImage --> /fitImage_A (/dev/mmcblk0p1)
[TRACE] : SWUPDATE running : [_parse_files] : Found compressed
File: image-xxx-mx8mm.tar.gz --> / (/dev/mmcblk0p2)
[TRACE] : SWUPDATE running : [_parse_scripts] : Found Script:
pre_post_script.sh
[TRACE] : SWUPDATE running : [parse] : Number of found artifacts:
2
[TRACE] : SWUPDATE running : [parse] : Number of scripts: 1
[TRACE] : SWUPDATE running : [parse] : Number of steps to be run:
4
[TRACE] : SWUPDATE running : [check_hw_compatibility] : Hardware
kontron-mx8mm Revision: 1
[TRACE] : SWUPDATE running : [check_hw_compatibility] : Hardware
compatibility verified
[DEBUG] : SWUPDATE running : [preupdatecmd] : Running Pre-update
command
[TRACE] : SWUPDATE running : [extract_files] : Found file
[TRACE] : SWUPDATE running : [extract_files] : filename
pre_post_script.sh
[TRACE] : SWUPDATE running : [extract_files] : size 3050
required
[TRACE] : SWUPDATE running : [extract_files] : Found file
[TRACE] : SWUPDATE running : [extract_files] : filename
fitImage
[TRACE] : SWUPDATE running : [extract_files] : size
9790596 required
[TRACE] : SWUPDATE running : [extract_files] : Found file
[TRACE] : SWUPDATE running : [extract_files] : filename
image-hdm-java-bootfs-kontron-mx8mm-ked-kirkstone.tar.gz
[TRACE] : SWUPDATE running : [extract_files] : size
19107527 Not required: skipping
[TRACE] : SWUPDATE running : [extract_files] : Found file
[TRACE] : SWUPDATE running : [extract_files] : filename
u-boot-initial-env-kontron-mx8mm
[TRACE] : SWUPDATE running : [extract_files] : size 6257
Not required: skipping
[TRACE] : SWUPDATE running : [extract_files] : Found file
[TRACE] : SWUPDATE running : [extract_files] : filename
flash.bin
[TRACE] : SWUPDATE running : [extract_files] : size
1278800 Not required: skipping
[TRACE] : SWUPDATE running : [extract_files] : Found file
[TRACE] : SWUPDATE running : [extract_files] : filename
image-xxx-mx8mm.tar.gz
[TRACE] : SWUPDATE running : [extract_files] : size
178332249 required
[TRACE] : SWUPDATE running : [extract_padding] : Expecting 296
padding bytes at end-of-file
[TRACE] : SWUPDATE running : [network_initializer] : Valid image
found: copying to FLASH
PPPPPPP ndev == 0
PPPPPPP return retval=-1
[ERROR] : SWUPDATE failed [0] ERROR uboot.c
: bootloader_initialize : 47 : Configuration file
/etc/fw_env.config wrong or corrupted
PPPPPPP ndev == 0
PPPPPPP return retval=-1
[ERROR] : SWUPDATE failed [0] ERROR uboot.c
: bootloader_initialize : 47 : Configuration file
/etc/fw_env.config wrong or corrupted
[WARN ] : SWUPDATE running : [update_transaction_state] : Cannot
persistently store in_progress update state.
[INFO ] : SWUPDATE running : Installation in progress
[TRACE] : SWUPDATE running : [read_lines_notify] : call
do_preinst
[TRACE] : SWUPDATE running :
[read_lines_notify] : PPPPPPP parse_yaml_config=0
[TRACE] : SWUPDATE running :
[read_lines_notify] : PPPPPPP parse_yaml_config=0
[TRACE] : SWUPDATE running : [read_lines_notify] : preinstall
[TRACE] : SWUPDATE running : [read_lines_notify] : current
partition /dev/mmcblk0p3
[TRACE] : SWUPDATE running : [read_lines_notify] : Deleting old
rootfs: /dev/mmcblk0p2
[TRACE] : SWUPDATE running : [read_lines_notify] : Set Fallback
root partition to B
[TRACE] : SWUPDATE running : [read_lines_notify] : Set active
root partition to A with Fallback on B
[TRACE] : SWUPDATE running : [__run_cmd] :
/tmp/scripts/pre_post_script.sh preinst command returned 0
[TRACE] : SWUPDATE running : [install_single_image] : Found
installer for stream image-xxx-mx8mm.tar.gz archive
[TRACE] : SWUPDATE running : [install_archive_image] : Installing
file image-xxx-mx8mm.tar.gz on /tmp/datadst//, ignoring attributes
[TRACE] : SWUPDATE running : [install_single_image] : Found
installer for stream fitImage rawfile
[TRACE] : SWUPDATE running : [install_raw_file] : Installing file
fitImage on /tmp/datadst//fitImage_A
[TRACE] : SWUPDATE running : [read_lines_notify] : call post
[TRACE] : SWUPDATE running : [read_lines_notify] : postinstall
[TRACE] : SWUPDATE running : [__run_cmd] :
/tmp/scripts/pre_post_script.sh postinst command returned 0
PPPPPPP ndev == 0
PPPPPPP return retval=-1
[ERROR] : SWUPDATE failed [0] ERROR uboot.c
: bootloader_initialize : 47 : Configuration file
/etc/fw_env.config wrong or corrupted
PPPPPPP ndev == 0
PPPPPPP return retval=-1
[ERROR] : SWUPDATE failed [0] ERROR uboot.c
: bootloader_initialize : 47 : Configuration file
/etc/fw_env.config wrong or corrupted
[WARN ] : SWUPDATE running : [update_transaction_state] : Cannot
persistently store installed update state.
[ERROR] : SWUPDATE failed [0] ERROR
stream_interface.c : network_initializer : 672 : Cannot
persistently store INSTALLED update state.
[ERROR] : SWUPDATE failed [1] Installation
failed !
[TRACE] : SWUPDATE running : [network_initializer] : Main thread
sleep again !
[INFO ] : No SWUPDATE running : Waiting for requests...
[ERROR] : SWUPDATE failed [0] ERROR
install_from_file.c : endupdate : 55 : SWUpdate *failed* !
Hi Dietrich,
On 23.09.23 17:55, Dietrich wrote:
> Hi, Stefano,
>
> I tested again on the imx8-Board. fw_printenv and fw_setenv work
> successfull.
>
> swupdate writes the new image, but is not able to set the uboot settings.
>
SWUpdate is not yet updated to support the new format and the namespaces
that new format allows.
Best regards,
Stefano
>
>> As SWUpdate calls into libubootenv I would have expected this to work
>> out of the box.
>
> It never work with an open source project. I can raise the hand and say
> that something should be done, but then I need a customer helping me to
> work on and to finance the development. But I have this now, so it is
> just WIP.