Commit Graph

14 Commits

Author SHA1 Message Date
David Escalona 68430b1297 swupdate: execute swupdate with verification within trustfence images
- While trying to update the system using signed swupdate packages, the
  swupdate binary requires a new parameter (-k) to specify the location
  of the public key that will be used to verify the update package. At
  the moment there is no way to check if a package is signed or not, so
  we asume that the existence of the public key in the recovery initramfs
  is enough to determine that we want to update the system using signed
  packages.

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

Signed-off-by: David Escalona <david.escalona@digi.com>
2017-03-07 17:04:21 +01:00
David Escalona 6362b99205 swupdate: add public key to the recovery initramfs
- The swupdate binary included in the recovery partition when the
  images to build are trustfence enabled performs a verification
  of the swupdate package. For this verification to suceed, it is
  mandatory to provide to the swupdate binary the public key that
  will be used to verify the swupdate package. This public key must be
  included in the recovery initramfs only when 'TRUSTFENCE_SIGN=1'.

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

Signed-off-by: David Escalona <david.escalona@digi.com>
2017-03-07 17:04:21 +01:00
Javier Viguera 3371ed864c recovery init: disable interactivity for 'ubiformat' command
We have seen corner cases (e.g. when the partition to format has already
some corrupted UBI metadata) where ubiformat stops and ask the user for
confirmation to do the format. We cannot have such interactivity in the
recovery ramdisk so use the '-y' argument to assume yes for all
questions.

Also use the '-q' (quiet) parameter instead of the '/dev/null'
redirections to remove command's output.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-01-25 12:31:48 +01:00
Javier Viguera e80d5b021c recovery init: configure UBIFS update partition to use ZLIB compression
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-01-24 19:31:36 +01:00
Javier Viguera 7cf8aa6e06 recovery init: change default mountpoint for 'update' partition
So it matches the same mountpoint used in a normal boot.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-01-24 19:31:36 +01:00
Javier Viguera 0cd1c803ce recovery-utils: reset URI for local SWU update packages
Internal recovery-utils.git SHA1: e30c2a3c9729

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-01-20 17:34:41 +01:00
Javier Viguera b2abb5bc80 recovery init: search update package in the different partitions
Instead of using a hardcoded path to the SWU update package, just get
the filename and search the file in the different mounted partitions
(giving priority to the internal 'update' partition over other external
media).

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-01-20 17:34:09 +01:00
Javier Viguera 75f2c00025 recovery init: pass filesystem type to mount command
For block devices we can get the filesystem in the partition using the
'blkid' command.

This cleans up some warnings on mounting:

EXT4-fs (sda2): couldn't mount as ext3 due to feature incompatibilities
EXT4-fs (sda2): couldn't mount as ext2 due to feature incompatibilities
EXT4-fs (mmcblk0p4): couldn't mount as ext3 due to feature incompatibilities
EXT4-fs (mmcblk0p4): couldn't mount as ext2 due to feature incompatibilities

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-01-20 17:33:37 +01:00
Javier Viguera a7a8916018 recovery init: remove trailing slash from USB_MOUNT_DIR variable
Just the same than UPDATE_MOUNT_DIR, which doesn't have a trailing slash.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-01-20 17:33:04 +01:00
Javier Viguera b0e241d3a3 recovery init: fix device name
"i" variable in the nested loop is expanded to the absolute path
of the device, so prepending it with the ${device} results in
"/dev/sda/dev/sda1" for a 'sda1' partition.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-01-20 17:32:33 +01:00
Javier Viguera 9c3f8245e1 meta-digi-dey: add new 'recovery-utils' recipe
recovery-utils allows to configure recovery commands and reboot into
recovery mode.

Internal recovery-utils.git SHA1: 5555d4c736e3

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-01-11 17:51:07 +01:00
David Escalona 4e52bab873 recovery: add psplash support to recovery
- Include psplash package in the recovery initramfs recipe.
- Start psplash in the recovery init.
- Add new methods to communicate with psplash from the init script.
- Show psplash progress information from the init script.
- Start progress binary to update psplash during a firmware update.

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

Signed-off-by: David Escalona <david.escalona@digi.com>
2016-12-30 12:42:09 +01:00
David Escalona f4ece3821e recovery: init script mount fixes
- Added a 5 seconds delay before mounting external disks so they have
  time to be recognized in the system.
- Check if UBI volume is mounted before formatting it.
- Check if eMMC block device exists before formatting it.

Signed-off-by: David Escalona <david.escalona@digi.com>
2016-12-30 12:22:41 +01:00
David Escalona f13767ecd3 recovery: add recipe to generate recovery ramdisk file tree
Signed-off-by: David Escalona <david.escalona@digi.com>
2016-12-27 17:37:53 +01:00