When grepping for the mtd index "1" the script was also returning
partitions 10, 11, and so on.
Reported-by: Leonid Makhnovskiy <leonid.maknovskiy@digi.com>
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
(cherry picked from commit a2a8491140)
When grepping for the mtd index "1" the script was also returning
partitions 10, 11, and so on.
Reported-by: Leonid Makhnovskiy <leonid.maknovskiy@digi.com>
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
U-Boot's 'dboot' command now supports uncompressing Image.gz.
This will be the default kernel image type for the CC8X.
This also changes the names of the device tree artifacts, that must be
updated on the boot script. While on it, add support for all the SOM
variants (wireless and non-wireless).
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
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
Under certain circumstances I was able to create a microSD card with
the FAT file system but corrupt partition table like this one:
Device Boot Start End Sectors Size Id Type
/dev/sdf1p1 778135908 1919645538 1141509631 544,3G 72 unknown
/dev/sdf1p2 168689522 2104717761 1936028240 923,2G 65 Novell Netware 386
/dev/sdf1p3 1869881465 3805909656 1936028192 923,2G 79 unknown
/dev/sdf1p4 2885681152 2885736650 55499 27,1M d unknown
Specifying the partition index made the install script to fail, but
not specifying it makes it work, although it also falls back to use
the first partition in the table.
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
In the old u-boot-fw-utils 2016.x the function 'fw_env_close' wrote
the environment to the media. That is no longer the case, now that
function only frees the memory used, and 'fw_env_flush' is used
to write the environment.
This was causing that userspace application using this library were not
able to write changes to the environment.
https://jira.digi.com/browse/DEL-5644
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
Support for dynamic location of U-Boot environment was added in
commit 2b5017956b. This forward ports
the patch to Yocto 2.4.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-5574
As a side effect, remove U-Boot entry point variable and LOADADDR
extra parameter from the kernel recipe.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-5554
Pending to update the patch for dynamic environment location in NAND.
https://jira.digi.com/browse/DEL-5518
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
U-Boot has been able to boot kernel zImage for a long time so make this
the default kernel image.
For the CC6 we still want to use uImage for compatibility reasons.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-5237
This commit modifies different recipes to support the new platform
ccimx6qpsbc and adapt it to maintain the support to ccimx6sbc.
https://jira.digi.com/browse/DEL-5082
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit includes ccimx6qpsbc platform in the recipe and adds
U-Boot scripts for deploying and booting the system.
https://jira.digi.com/browse/DEL-5082
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
A mechanism was introduced in U-Boot to dynamically locate the environment
copies within a NAND partition, skipping bad blocks and making full use of
the partition blocks.
To trigger this mechanism in Linux tools (fw_printenv/fw_setenv) the
configuration file /etc/fw_env.config must have both copies entries
pointing to the same offset.
This commit substitutes the hardcoded configuration file for CC6UL with a
stub and generates one on an RPM post-script basing on:
- Supplied DEY variables (with default values per platform):
- UBOOT_ENV_OFFSET: starting offset of the environment within the
partition.
- UBOOT_ENV_SIZE: size of each copy of the environment.
- UBOOT_ENV_RANGE: size in the partition that the environment copies may
occupy, starting from UBOOT_ENV_OFFSET. If undefined, the whole
partition is used.
- Calculated values:
- NAND Erase block size
- Number of blocks available for the environment copies
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-4256
This is a Consumer dual-core 1GHz, 4GB eMMC, 1GB DDR3, 0/+70C variant
without bluetooth, no wireless, no kinetis.
https://jira.digi.com/browse/DEL-4280
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Tweaked to maintain some recipes' revisions to AUTOREV instead of the
fixed SHA1s from the tag.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Variant 0x04 has wireless and must select the '-wb' device tree.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-4100
Add support to build U-Boot for variants with 1GB DDR3.
Add support in U-Boot install firmware script to select the
U-Boot artifact to use basing on variant.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-3970
- Instead of using a different boot script when booting from linux
and from recovery, merge them into one script that checks the
boot source.
https://jira.digi.com/browse/DEL-3836
Signed-off-by: David Escalona <david.escalona@digi.com>
Patches added in 'meta-swupdate' (backported from U-Boot) broke our
layer. We also had those patches, so remove them and make sure the
rest or our patches are applied after the ones from 'meta-swupdate'
by using an anonymous python function instead of appending to the
SRC_URI variable.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Tweaked to maintain the u-boot and linux revisions to AUTOREV instead of
the fixed SHA1s from the tag.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
On a CC6, the 'env default -a' command deletes the 'soc_family' variable
that is used on the U-Boot boot scripts to configure the name of the
device tree file to load.
Then if we try to boot into recovery directly (without a reset) because
the variable is not available, it fails to compose the correct name for
the fdt, and gives the error:
reading uImage--ccimx6sbc-id129.dtb
** Unable to read file uImage--ccimx6sbc-id129.dtb **
Force a reset, so the 'soc_family' variable is available again and the
correct fdt_file is loaded.
While on it, add some blank lines to the 'recovery reboot' message, so
it's easier to read.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The caam encryption check was only done from fw_env_write and fw_env_read
functions, which are not called when using the functions exported as a library.
Move the check_caam_encryption() call to fw_env_open(), which is called from
all code paths. A similar check for AES encryption cannot be moved because it
requires the AES key as an argument.
https://jira.digi.com/browse/DEL-3616
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
NAND partitions may have pre-existing UBI volume information
and that will tell U-Boot to use 'ubiwrite' to keep UBI wear
leveling information instead of erasing the NAND partition
beforehand. Given that the UBI support in U-Boot is not
particularly complete and stable, and specially if the NAND
partition table has been changed, this could result into
problems during the UBI volume initialization or during the
update process. To prevent such problems it is better that
the NAND partitions are erased.
This loses the UBI wear leveling information but provides
a more reliable deployment install script.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DUB-718
Modify patch to clean compiler warning:
warning: passing argument 1 of 'sysfs_mmcboot_set_protection' discards
'const' qualifier from pointer target type
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Implements functions to get and set variables from U-Boot's environment.
https://jira.digi.com/browse/DEL-3358
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The patch with the same name in 'meta-swupdate' fails to apply cleanly
after the patches we have done in meta-digi. So add here a version of
the patch that applies cleanly and with higher precedence in the search
path (using 'dey' distro override).
https://jira.digi.com/browse/DEL-3355
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
A corner case requires to save the environment so that the
boot command works after reset.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DUB-681
Also change the image type of dey-image-trustfence-initramfs.
https://jira.digi.com/browse/DUB-615
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
The default DEY image recipe for ccimx6ulsbc builds dey-image-qt.
The graphical backend is determined dynamically.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
This patch adds the functionality to automatically detect if the enviroment
is encrypted (through the device tree). If it is, the environment is encrypted
and decrypted as required in a transparent way for the user.
https://jira.digi.com/browse/DEL-2836
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
- boot.txt
Sets the device tree filename basing on the SOM variant read from
the HWID and boots from NAND.
- install_linux_fw_sd
Deploys a full system (as generated by Digi Embedded Yocto) from
a FAT formatted micro SD card into the NAND flash.
https://jira.digi.com/browse/DEL-2925
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Tweaked to maintain the u-boot and linux revisions to AUTOREV instead of
the fixed SHA1s from the tag.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
So the warning message shows the TF variable setting in the correct
syntax that they should be written in the project's local.conf
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The correct U-Boot branch to be used with dey-2.0/master is v2015.04/master, as
it contains the latest development changes (just like dey-2.0/master).
This reverts commit 728619a5bc.
After commit b0a766eafc8 in the U-Boot repository, both signed and
encrypted images will be generated. Copy both of them to the deploy folder
https://jira.digi.com/browse/DUB-642
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
NXP Code signing Tool for the High Assurance Boot library is needed for
signing and encrypting different artifacts (U-Boot image, uImage, ...).
As the CST cannot be included in DEY, the user needs to download the
tarball and add it to the recipe folder.
https://jira.digi.com/browse/DUB-618
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
U-Boot environment on the CC6UL NAND is located at partition /dev/mtd1:
- original copy is located at offset 0 in the partition
- redundant copy is located 1 erase block (128K) after the original copy
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-2552
At the moment there is no support for rootfs encryption for the CC6UL,
so there is not a ramdisk in the boot image. But with the initial
addition of TF support, the u-boot boot script was being on-the-fly
updated for TF regardless of the platform, making the CC6UL unable to
boot when TF was enabled.
This commit fixes the problem, by just changing the u-boot boot script
when TF is enabled only for the CC6.
https://jira.digi.com/browse/DEL-2754
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
builds.
When building multiple u-boots they get compiled externally into a
directory named after machine defconfigs.
Once there is a directory with the same name as a defconfig it is not
possible to run the defconfig make target.
Fixes https://jira.digi.com/browse/DEL-2644
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
builds.
When building multiple u-boots they get compiled externally into a
directory named after machine defconfigs.
Once there is a directory with the same name as a defconfig it is not
possible to run the defconfig make target.
This change should be only temporary until it gets upstream.
Fixes https://jira.digi.com/browse/DEL-2644
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
When Trustfence is enabled, this adds a dependence on the TF initramfs,
so it's built and added to the boot image.
It also modifies the u-boot boot script on the fly, to boot correctly
using the Trustfence initramfs.
https://jira.digi.com/browse/DEL-2278
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
- boot.txt
Sets the device tree filename basing on the SOM variant read from
the HWID and boots from NAND.
- install_linux_fw_sd
Deploys a full system (as generated by Digi Embedded Yocto) from
a FAT formatted micro SD card into the NAND flash.
The u-boot-dey recipe is now fully shared by ccimx6 and ccimx6ul platforms
so we can remove the platform-specific appends.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
The setting of 'bootcmd' in the script was done using single quotes, which
doesn't expand variables. As a consequence the following variables must
be defined again (during the execution of the second part of the script):
- mmcdev
- INSTALL_LINUX_FILENAME
- INSTALL_ROOTFS_FILENAME
This patch changes the single quotes with double quotes, so that these
variables are expanded during the setting of 'bootcmd' with the values
assigned at the begining of the installation script (notice these are
not dynamically generated so there is no risk to expand them).
At the same time we need to escape with a backslash:
- double quotes containing strings
- variables that we don't want to expand (like the return value $?)
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
- Add semi-colons to instructions inside 'setenv' commands
- Remove semi-colons in instructions where they are not needed (for
consistency with the rest of instructions)
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
There are several possible values for TRUSTFENCE_UBOOT_ENV_DEK:
* Not defined: if the trustfence support is not included.
Should not include the feature.
* 32 characters: when defining a valid key.
Should include the feature.
* "0": when explicetily disabling the feature.
Should not include the feature
* <other>: Invalid value, should trigger the error.
This commits fixes the logic so that 'None' (no defined) is taken as a valid
value.
Signed-off-by: Jose Diaz de Grenu de Pedro <Jose.DiazdeGrenudePedro@digi.com>