trustfence-initramfs: remove support for platforms with NAND internal storage

This initramfs only makes sense in platforms with an eMMC as the internal
storage, due to how the partition encryption support is implemented. In
plaatforms that use NAND instead, ths initramfs offers no functionality and
increases the recovery image size, so remove it.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit is contained in:
Gabriel Valcazar 2021-05-19 14:31:50 +02:00
parent a432a6353a
commit e2cd4f6d9a
4 changed files with 6 additions and 74 deletions

View File

@ -99,7 +99,7 @@ python () {
d.setVar("TRUSTFENCE_ENCRYPT_PARTITIONS", "1");
# Enable the trustfence initramfs if and only if partition encryption is enabled
if (d.getVar("TRUSTFENCE_ENCRYPT_PARTITIONS", True) == "1"):
if (d.getVar("TRUSTFENCE_ENCRYPT_PARTITIONS", True) == "1" and d.getVar("STORAGE_MEDIA", True) == "mmc"):
d.setVar("TRUSTFENCE_INITRAMFS_IMAGE", "dey-image-trustfence-initramfs");
else:
d.setVar("TRUSTFENCE_INITRAMFS_IMAGE", "");

View File

@ -1,22 +1,15 @@
# Copyright (C) 2016-2020 Digi International Inc.
# Copyright (C) 2016-2021 Digi International Inc.
SUMMARY = "Trustfence initramfs required files"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
SRC_URI = " \
${@bb.utils.contains('STORAGE_MEDIA', 'mmc', 'file://trustfence-initramfs-init_mmc', '', d)} \
${@bb.utils.contains('STORAGE_MEDIA', 'mtd', 'file://trustfence-initramfs-init_mtd', '', d)} \
"
SRC_URI = "file://trustfence-initramfs-init"
S = "${WORKDIR}"
do_install() {
if [ "${STORAGE_MEDIA}" = "mmc" ]; then
install -m 0755 trustfence-initramfs-init_mmc ${D}/init
else
install -m 0755 trustfence-initramfs-init_mtd ${D}/init
fi
install -m 0755 trustfence-initramfs-init ${D}/init
}
# Do not create debug/devel packages
@ -27,12 +20,11 @@ FILES_${PN} = "/"
# Runtime packages used in 'trustfence-initramfs-init'
RDEPENDS_${PN} = " \
libubootenv-bin \
${@bb.utils.contains('STORAGE_MEDIA', 'mmc', 'cryptsetup', '', d)} \
${@bb.utils.contains('STORAGE_MEDIA', 'mtd', 'mtd-utils-ubifs', '', d)} \
cryptsetup \
trustfence-tool \
util-linux-findfs \
wipe \
"
PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_MACHINE = "(ccimx6|ccimx6ul|ccimx8x|ccimx8m)"
COMPATIBLE_MACHINE = "(ccimx6|ccimx8x|ccimx8m)"

View File

@ -1,60 +0,0 @@
#!/bin/sh
#===============================================================================
#
# trustfence-initramfs-init
#
# Copyright (C) 2016, 2017 by Digi International Inc.
# All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 as published by
# the Free Software Foundation.
#
#
# !Description: Init script for Trustfence initramfs
#
#===============================================================================
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
mkdir -p /proc /sys /dev
mount -t proc proc /proc
mount -t sysfs sysfs /sys
mount -t devtmpfs devtmpfs /dev
# Set kernel console loglevel
LOGLEVEL="$(sysctl -n kernel.printk)"
sysctl -q -w kernel.printk=4
for arg in $(cat /proc/cmdline); do
case "${arg}" in
init=*|rescue=1|root=*) eval ${arg};;
esac
done
# Translate "PARTUUID=..." to real device
root="/dev/$(findfs ${root})"
# Jump to a rescue shell if requested
if [ -n "${rescue}" ]; then
# Expand console and respawn if exited
while true; do
setsid cttyhack sh -l
sleep 1
done
fi
# Mount device
mkdir -p /newroot
mount -t "ubifs" ${root} /newroot
#
# Clean-up and do the switch_root to the final rootfs
#
# - restore previous kernel console loglevel
# - umount virtual filesystems
#
[ -n "${LOGLEVEL}" ] && sysctl -q -w kernel.printk="${LOGLEVEL}"
mount --move /dev /newroot/dev
umount /sys /proc
exec switch_root /newroot ${init:-/sbin/init}