Commit Graph

29 Commits

Author SHA1 Message Date
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
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 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
Hector Palacios 05d21a1310 u-boot: boot.txt: move dualboot checks to the top
When DualBoot mechanism is enabled and an update is pending,
the boot script needs to change certain variables and save the
environment.
The regular boot script already changes a number of variables,
such as 'extra_bootargs' and 'overlays' by appending strings to
the already existing values. Saving the envionment may make these
grow endlessly with each iteration of the boot script.

For this reason, move the DualBoot check as the first thing in
the script, save the environment if needed, and then continue
with the normal flow, that changes variables before booting
but doesn't save them.

On certain scripts, this allows us to get rid of some instructions
for resetting the overlays variable.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-09-09 17:38:44 +02:00
Hector Palacios fcd3791535 ccimx6ul: boot: set 'rootfsvol' variable for dualboot
Set the new variable 'rootfsvol' to rootfs_a or rootfs_b when dualboot is
enabled, to cover the case where the devices uses the 'system' partition
with different UBI volumes.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-09-09 17:38:44 +02:00
Hector Palacios f00ce5ca9b u-boot-dey: add support for dualboot to boot scripts
The support for dualboot was integrated on meta-digi-dualboot layer, but it
really depends only on environment variable 'dualboot' so we'd better
integrate the support on the scripts in meta-digi, to avoid synchonization
problems between both layers.
This also allows to be able to easily enable dualboot in U-Boot with the
variable, without needing to update the script on the linux partition.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-09-09 17:38:44 +02:00
Hector Palacios 9f3ab7c9d9 u-boot-dey: group identical files per SOM or SOM family
With the generalization done in previous commits, we have now several files
that are identical and can be merged into a common SOM or SOM family
folder.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-06-02 11:01:37 +02:00
Hector Palacios 96bc57c7f0 u-boot-dey: use global variables to generalize install scripts
Create global variables:
  DEFAULT_IMAGE_NAME
  GRAPHICAL_IMAGES

to have them substituted on the U-Boot install scripts for better
generalization.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-06-02 11:01:37 +02:00
Hector Palacios c2c3cfb7cd u-boot-dey: use new variable 'image-name' to compose filenames in scripts
U-Boot install scripts (from uSD and USB) were hard-coded to dey-image-qt.
Allow to install other image files by setting a new variable 'image-name'
which defaults to 'dey-image-qt' if not defined, except for the CC6UL
SBC Express, that defaults to 'core-image-base'.

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

https://jira.digi.com/browse/DEL-7385
https://jira.digi.com/browse/DEL-7333
2021-06-02 11:01:37 +02:00
Hector Palacios a7d0ba8b38 u-boot-dey: remove hard-coded platform name from scripts
Use ##MACHINE## placeholder to have it later substituted by the recipe
using Yocto ${MACHINE} variable.
This will help later reducing the number of files to have one per SOM
(or even family) instead of one per platform.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-06-02 11:01:37 +02:00
Hector Palacios c89d46600a u-boot-dey: append the graphic backend only to graphical images
Non-graphical images (core-image-base, dey-image-aws) don't contain the
graphic-backend on their filenames.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-05-25 17:15:45 +02:00
Hector Palacios aa535a505b u-boot-dey: improve workflow and messages of uuu install script
- Determine first the filenames and abort if any does not exist.
- Print a warning message about the erasing of the media with a list
  of partitions and files to use for the update
- Sync the different scripts so they look more similar

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

https://jira.digi.com/browse/DEL-7333
2021-05-25 17:15:45 +02:00
Hector Palacios 8f4d707fb6 u-boot-dey: function for updating eMMC partitions with a message
Similar to how it's done on the ccimx6ul, create a function for updating
a partition with a file, that also prints a message.
Rename the function to be the same in all scripts.

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

https://jira.digi.com/browse/DEL-7333
2021-05-25 17:15:45 +02:00
Hector Palacios 51ce92b982 u-boot-dey: [cosmetic] print countdown on wait message, and OK at the end
Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://jira.digi.com/browse/DEL-7333
2021-05-25 17:15:45 +02:00
Hector Palacios ce417f5b9e u-boot-dey: abort update from uuu if any of files to update does not exist
Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://jira.digi.com/browse/DEL-7333
2021-05-25 17:15:45 +02:00
Hector Palacios f1f3af5e66 u-boot-dey: improve uuu install script with options
Previously, this script only allowed the U-Boot filename as parameter.
This commit makes use of getopts() to pass the following options to the
script:
  -h, for help
  -i, to pass the dey image name that prefixes the firmware filenames
  -n, to skip the 10 seconds delay that allow you to cancel the process
  -u, to pass the U-Boot filename

The default image name (if none passed) keeps being 'dey-image-qt' but the
new option allows reusing this script to install dey-image-webkit or
dey-image-aws images.

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

https://jira.digi.com/browse/DEL-7385
2021-05-25 17:15:45 +02:00
Gonzalo Ruiz 0d1984224b u-boot-dey: add 6UL variants 7 to 10 to bootscripts
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
(cherry picked from commit 65311d69852dbd57c534f27c1742bb2b02a41916)
2021-05-25 15:16:45 +02:00
Hector Palacios ee29d0ffcd install_fw: cc6ul: erase 'update' partition unconditionally
When manually changing the partition table, it could happen that
a UBI volume already exists in the 'update' partition.
If not erased, the system may find the old UBI volume (with wrong
geometry information) and try to mount it which will result in
failure.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-01-20 18:16:49 +01:00
Hector Palacios fddaee85b9 update-fw scripts: fix error path after sucessful update
On commit 1e5cafeb79 a fall-back
update command was introduced in case the newest command fails.
If the newest command succeeds, however, the 'test' command for
error doesn't match (there is no error) and the return code of
such test is "1". On the next check for errors, this results on
an error, when we really mean to continue because the first
command was successful.

Move the second error check inside the error path of the first
attempt.

Reported-by: Francisco Gil <francisco.gilmartinez@digi.com>
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-01-18 17:36:38 +01:00
Hector Palacios 1e5cafeb79 uboot: update fw install scripts to remove source fs from commands
The 'source file system' was removed as an argument from the
'update' command in U-Boot v2020.04.
For platforms using such version, remove it from the update fw
scripts.

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

https://jira.digi.com/browse/DUB-983
2021-01-07 19:29:06 +01:00
Arturo Buzarra 8b3b8b5516 uboot: add script to update firmware from a USB stick
Create scripts to install DEY firmware using a USB stick.

https://jira.digi.com/browse/DEL-6802

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2020-12-03 15:46:22 +01:00
Hector Palacios c92392ffdf uboot: add script to update firmware through uuu
U-Boot v2020.04 for the CC6UL supports the fastboot protocol.
Create scripts to install DEY firmware via USB using uuu
tool.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2020-11-16 13:26:53 +01:00
Hector Palacios 2ade93d8eb u-boot-dey: restore modified env vars in case of error on bootscript
The boot script appends values to certain variables such as
$extra_bootargs and $overlays.

If the final instruction of the boot script (dboot command)
fails, these variables contain the new values, plus the original
one. Since the user recovers the prompt, he may do a 'saveenv'
to save the environment, and the modified variables will be
saved, only to be enlarged again on the next boot.
This can lead to repeated strings on such variables.

Save the original value and restore it in case of failure on
the dboot command.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2020-10-01 16:13:46 +02:00
Mike Engel 8eedf4407e meta-digi-arm: Add new CC6UL variants
Signed-off-by: Mike Engel <Mike.Engel@digi.com>

https://jira.digi.com/browse/DEL-7169
2020-09-14 18:14:03 +02:00
Arturo Buzarra 616e2059d3 meta-digi-arm: uboot: Add kernel parameter to center custom logo
https://jira.digi.com/browse/DUB-948

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2020-06-04 08:33:51 +02:00
Gabriel Valcazar 263818846f u-boot-dey: add support for new ccimx6ul variant 0x06
This variant is exactly the same as variant 0x02, but with a new revision
of the i.MX6UL silicon.

https://jira.digi.com/browse/DEL-6555

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-04-11 16:42:59 +02:00
Arturo Buzarra e508231683 thud migration: u-boot: remove kernel image type from device tree files
Device tree file names won't have the kernel image type like a
prefix anymore, since thud uses the original file names.

https://jira.digi.com/browse/DEL-6443

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2019-02-08 12:13:11 +01:00
Hector Palacios 8af8817796 u-boot: add support for U-Boot v2017.03
This adds support for U-Boot v2017.03 for all platforms (including CC8X).

For legacy v2015.04:
  - Renames u-boot.inc as a versioned file only for v2015.04.
  - Moves boot/install scripts from versioned folder into non-versioned
    folder (since the scripts remain the same between versions).

For new v2017.03:
  - Re-uses poky's u-boot.inc in rocko for v2017.03
  - DEY recipe re-writes the do_compile for special U-Boot configuration
    required for TrustFence.
  - DEY recipe appends the do_deploy, for U-Boot scripts and deploy of
    special TrustFence artifacts.
  - Adds u-boot-dtb.xxx to UBOOT_CONFIG, required for new U-Boots.
  - Adds CC8X scripts.

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

https://jira.digi.com/browse/DEL-5936
2018-05-31 12:06:37 +02:00