Commit Graph

155 Commits

Author SHA1 Message Date
Hector Palacios 961acf48de install_linux_fw: reset bootcount before resetting target
During firmware install, the target may be reset several times.
We don't want the bootcount to count these as boot attempts.

This was done in a791bb4463 for the ccmp1
but not for the rest of platforms.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-10-20 10:48:07 +02:00
Hector Palacios fb349b10f7 install_fw: [cosmetic] alphabetize script options
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-10-20 10:48:07 +02:00
Hector Palacios 918a9caf1d boot scripts: print boot attempts only when bootcount mechanism active
Improve boot attempts message showing not only the current boot attempt
but also the limit:
	(boot attempt 1/3)

Print the message only when the bootcount mechanism is active, i.e. when
the bootlimit is defined (not zero), and when bootcount is > 0.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DUB-1056
2023-10-20 10:48:07 +02:00
Francisco Gil 1e513f89a7 installer: squashfs: add fallback option to flash squashfs images
If the default r/w rootfs is not found it will try to do a
fallback to the squashfs image.

In the nand devices additionally we need to set the rootfstype
to squashfs.

https://onedigi.atlassian.net/browse/DEL-8638

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-09-11 08:48:57 +02:00
Hector Palacios dbf1db98cf ccmp1: boot script: add support for booting from microSD
When booting from a microSD, the variable 'boot_device' is
set to "mmc". Check this to fall back to booting Linux from
the microSD partitions.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-09-08 13:46:09 +02:00
David Escalona 910ee4ab44 u-boot-dey: boot: update all boot scripts to synchronize boot variables for dualboot systems
Until now, for dualboot systems, all boot variables were calculated on each boot depending on the value of the
'active_system'. These variables are used to boot the device but were not saved, which could lead to a missmatch
between their value in the environment and their required values to correctly boot the system. This commit
simplifies a bit the variables calculation and adds a block to synchronize their value in the environment.

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-09-04 18:23:58 +02:00
David Escalona 3c9384a99c u-boot-dey: altboot: remove the 'altboot' script for all platforms
All the 'altboot' script functionality has been moved directly to the 'altbootcmd' command
in U-Boot, so this script is no longer necessary. Remove it for all platforms.

https://onedigi.atlassian.net/browse/DEL-8674

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-09-04 14:17:16 +02:00
Hector Palacios 39fadff26a install_linux_fw_sd/usb: add helper msg to set image-name
The install scripts from SD/USB use a fixed image name.
If you are trying to install a different image you need to set
the env variable 'image-name' first.
Add a helper message if default files are not found to
avoid needing to go to the documentation.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-09-01 17:17:04 +02:00
Hector Palacios a791bb4463 install_linux_fw: reset bootcount before resetting target
During firmware install, the target may be reset several times.
We don't want the bootcount to count these as boot attempts.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-09-01 17:17:04 +02:00
David Escalona 88f74279b1 recipes-bsp: u-boot: boot-scripts: update boot scripts to use new 'bootcount' mechanism
The 'bootcount' value is now incremented and stored in the system on every boot and
not only then the 'upgrade_available' flag is set. Also, ensure the value is cleared
when the 'altboot' script is executed by running the new U-Boot command 'bootcount reset'.

https://onedigi.atlassian.net/browse/DEL-8506

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-08-29 09:48:04 +02:00
Isaac Hermida e369f71019 u-boot-dey: ccimx93: fix boot from sdcard image
When booting from recovery sdcard, in the imx93 the dualboot is yes by
default, so the mmcroot variable was not set correctly for the uSD.
If we boot from uSD, just assume all the system is in the uSD card, whether
it is a recovery system or a prepared uSD card for demo.

https://onedigi.atlassian.net/browse/DEL-8461

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-08-18 17:19:58 +02:00
Gabriel Valcazar 2687207948 ccimx8x: reflect imx-boot simplification in installer scripts
We no longer need logic to determine the SOM's RAM size and bus width, we only
need to know the SOC revision, which is info that is always available.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-06-30 15:00:25 +02:00
Isaac Hermida 130a5c796c ccimx93: add support for NPU dtb overlay
Load the NPU overlay based on the CPU model.

https://onedigi.atlassian.net/browse/DEL-8565
https://onedigi.atlassian.net/browse/DEL-8563

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-06-22 16:03:16 +02:00
Arturo Buzarra a44aa6e521 ccmp15: add MCA DT overlay support
This commit modifies the boot script condition to apply the overlay for MCA
based on HWID MCA field.

https://onedigi.atlassian.net/browse/DEL-8521

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-30 11:00:30 +02:00
Tatiana Leon 8718734b46 ccimx6: ccimx6ul: ccimx8m: ccimx8x: ccimx93: install: only install system A by default, add an option to install B
https://onedigi.atlassian.net/browse/DEL-8232

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-04-18 17:49:03 +02:00
Arturo Buzarra e7b0a7affc cmp15: apply DT overlay for the DVK v1 on boards without board_version defined
This commit modifies the boot script condition to apply the overlay for DVK v1
on boards without the board_version variable defined.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-03-08 10:57:05 +01:00
Arturo Buzarra 0773e31fd4 ccmp15: add DT overlay for the DVK v1
This commit adds an overlay for DVK v1 and modifies the boot script to apply it
based on the board_version variable.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-03-07 13:59:29 +01:00
Gonzalo Ruiz 732f8cb0cf u-boot-dey: install fip-b unconditionally in install scripts
Partitions 'fip-a' and 'fip-b' are redundant at the moment. They are
not currently part of the dualboot system. In consequence, program
both partitons unconditionally during the install process.

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2023-03-07 12:02:28 +01:00
Javier Viguera 753424ae91 ccimx93: add support for MCA dtb overlay
On boot, it is enabled dynamically depending on MCA setting in HWID.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-01-23 17:33:31 +01:00
Javier Viguera aab5eda5c2 meta-digi-arm: add kernel parameter for single boot logo
Number of bootup logos is now configured using fbcon=logo-count parameter,
so use it instead of our deprecated custom code in the kernel.

For backwards compatibility, we add this parameter in the u-boot boot
script for all platforms but the ccimx93, where this is directly handled
by u-boot (v2022.04).

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-01-23 17:33:31 +01:00
Hector Palacios 87ef63f7c3 Revert "u-boot-dey: remove fip 'optee' suffix from install scripts"
This reverts commit 2bdfdc92e1.

This suffix was removed on error. The artifact does have the suffix.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-01-18 10:55:47 +01:00
Mike Engel a0fa0d3812 install: add option to install system B for dual boot
https://onedigi.atlassian.net/browse/DEL-8232

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-01-16 09:59:22 +01:00
Gonzalo Ruiz 2bdfdc92e1 u-boot-dey: remove fip 'optee' suffix from install scripts
https://onedigi.atlassian.net/browse/DEL-8268

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2023-01-10 13:26:39 +01:00
Javier Viguera 60e499f423 u-boot-dey: customize boot script for ccimx93
This was a verbatim copy of the one for the ccimx8mm.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-01-03 18:54:47 +01:00
Javier Viguera cfa581c958 meta-digi: add override files for ccimx93
These are just a verbatim copy of the ccimx8mm ones, so the project is
buildable. This file list should be revisited and adapted for the
ccimx93.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-12-20 14:50:54 +01:00
Javier Viguera db5067371e meta-digi: get rid of ccimx8mp-dvk
Platform not supported.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-11-30 18:06:57 +01:00
Hector Palacios c70917b24c uuu installer: increase the timeout for rootfs update
Increase the timeout from 90 to 120s since it's a large image
and it may take more time on different NANDs.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2022-11-18 12:45:26 +01:00
Hector Palacios 2cf902f8d7 installer scripts: cover case where U-Boot env does not exist
The U-Boot environment resides on a UBI volume. The uuu script
relies on the environment to save part of the commands that
U-Boot needs to execute after reboot in the middle of the
installation. If the UBI volume 'uboot_config' does not exist
the installer fails.

This commit:
- Creates a function -on the uuu script only- for obtaining
  the result of running any U-Boot command (0=success, 1=error).
- Checks the existance of 'uboot_config' volume.
- Runs 'ubivolscript' script to create the UBI volumes layout
  that generates the environment volume if it doesn't exist.
- Increases the timeout for running the 'ubivolscript' since
  there are occasions in which 'ubi part' (which is part of the
  script) takes more time (if it cannot find the fastmap).

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2022-11-18 12:45:26 +01:00
Arturo Buzarra d8efac02bf u-boot-dey: move dualboot boot script to common ccmp1 folder to fix ccmp13 build
By default ccmp1 platforms have dualboot mode by default, however the required
boot script was added to ccmp15 platform only, so this commit fixes it.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-11-15 16:21:25 +01:00
Francisco Gil b7cd473b39 dualboot: add missing altboot.txt needed by dualboot
Once you enabled dualboot in the ccmp15 you need this file
for the altbootcmd.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-11-15 07:55:16 +01:00
Gonzalo Ruiz b1ee0307cc u-boot-dey: ccmp1: update install scripts for CCMP1 platform
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2022-11-11 09:39:28 +01:00
Gonzalo Ruiz 44a05a819e u-boot-dey: fix install scripts for dual boot
The first time the 'dualboot' variable is tested it is directly run in
the script and doesn't need to escape the special characters.

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2022-11-10 14:09:25 +01:00
Gonzalo Ruiz 0e221d2ce3 u-boot-dey: ccmp1/cc6ul: ensure 'rootfsvol' value in every case
When Dual Boot is not enabled, 'rootfsvol' variable must point to the
single boot system rootfs partition 'rootfs'.

Explicitly set this value. Otherwise the script relays on the default
rootfsvol value, which may be a Dual Boot partition.

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2022-11-10 11:19:52 +01:00
Hector Palacios 1105a8fecd dualboot: move contents of meta-digi-dualboot layer into meta-digi as a class
- create dualboot.bbclass that
  - sets DUALBOOT_ENABLED variable
  - defines partition names and function for changing the sw-description
    for swupdate
- move files from layer into meta-digi

https://onedigi.atlassian.net/browse/DEL-7962

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-10-26 11:29:23 +02:00
Hector Palacios e346958131 ccmp1: remove usage of $singlemtdsys variable
On the CCMP1 SOMs, we only consider a single system partition called UBI,
with many UBI volumes.
The variable 'singlemtdsys' allowed to change between this and
a system with multiple MTD partitions with one UBI volume each
(old approach on CC6UL).
This commit removes the variable and uses the logic as if it was set.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2022-10-25 16:57:02 +02:00
Arturo Buzarra af034aa971 u-boot-dey: ccmp1: add dualboot support to boot script
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-10-20 11:42:25 +02:00
Arturo Buzarra b3d46473df ccmp1: add support to DT overlays for ccmp1 platforms
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-10-10 09:44:14 +02:00
Arturo Buzarra 1dc17d0d81 uboot: add support to ConnectCore MP13 DVK platform
Add initial support cloned from ccmp15-dvk

https://onedigi.atlassian.net/browse/DEL-8078

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-09-15 16:14:30 +02:00
Javier Viguera 69f4956f7a u-boot: cc6ul: install script: increase rootfs programming timeout
For the CC6UL 1GB flash variant, the programming of the rootfs exceeds
the current 90 secs timeout, giving following failure:

[Bulk(R):LIBUSB_ERROR_TIMEOUT] fb[-t 90000]: ucmd update rootfs ram ${fastboot_buffer} ${fastboot_bytes} -e
Error: Bulk(R):LIBUSB_ERROR_TIMEOUT

Increase the timeout to prevent the failure.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-09-05 18:22:21 +02:00
Javier Viguera 33f881806a uboot: install scripts: fix u-boot image for variants 0x09 and 0x0a
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit 16eded4f0edcc603de83be7155f7c09718ba5ddd)
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-06-21 16:56:27 +02:00
Mike Engel 75e2478ae1 u-boot: add CCMP15 support to build u-boot
This commit adds u-boot build support for the CCMP15 platform.
The installation scripts are copies from the CC6UL platform.

Signed-off-by: Mike Engel <Mike.Engel@digi.com>

https://onedigi.atlassian.net/browse/DEL-7797
2022-05-04 14:01:05 +02:00
Isaac Hermida 3166345250 u-boot: add boot script for ConnectCore 8M Plus
https://onedigi.atlassian.net/browse/DEL-7784

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-02-03 12:00:26 +01:00
Francisco Gil a96fc150bf u-boot-dey: missing ";" in installation scripts for cc6ul
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2021-12-02 17:14:58 +01:00
Arturo Buzarra 46f7d6a64c u-boot-dey: ccimx6ul: sync boot script with new dualboot variables
U-Boot uses partition names instead of partition indexes for the nand devices.
This commit syncs the boot scripts with the new dualboot variables.

https://onedigi.atlassian.net/browse/CC6UL-1254

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2021-11-29 11:55:17 +01:00
Hector Palacios 75fca73cc5 u-boot: cc6ul: fix script adding missing call to 'uuu'
Add missing call to 'uuu' and erase the partition before creating
the UBI volumes.

Also add larger timeouts to erase operations.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-11-11 13:32:16 +01:00
Hector Palacios 9ac3bd46ca uboot: install-uuu: restore variables on bootcmd after 'env default -a'
The variable 'dualboot' (and 'singlemtdsys' for CC6UL) was restored
after the bootcmd that runs the first time after programming U-Boot runs
fastboot again to resume the script.
This is ok for the CC6UL but not for the rest of platforms, that run the
partition script on the bootcmd, *before* running fastboot.

Restore the variables for all platforms in the bootcmd right after
resetting the environment.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-10-14 13:35:46 +02:00
Hector Palacios 3ab0340741 u-boot: print what system is booting after update
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-10-11 11:36:00 +02:00
Francisco Gil e67ed06dd5 dualboot: move the logic of fallback boot to altbootcmd
U-Boot has embedded support to handle bootcount tries.
When the limit of tries is reached, U-Boot runs the script
in `altbootcmd` rather than the usual `bootcmd`.
This other script resides on meta-digi-dualboot layer.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2021-10-08 12:59:30 +02:00
Gonzalo Ruiz 825dd6a555 install_linux_fw_uuu: remove redirection in every case
Ensure stdout redirection to the USB interface is removed in every case.
Otherwise, it would be left redirected when INSTALL_UBOOT_FILENAME is
manually set.

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2021-09-30 10:36:40 +02:00
Gonzalo Ruiz 555be511a6 u-boot-dey: customize install_linux_fw_uuu script for ccimx6/ccimx6qp
Also, set UBOOT_HAS_FASTBOOT = "true" for these platforms.

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2021-09-30 10:32:17 +02:00