diff --git a/jetson-xavier-nx-devkit-emmc.coffee b/jetson-xavier-nx-devkit-emmc.coffee
deleted file mode 100644
index 4f2e3e99a..000000000
--- a/jetson-xavier-nx-devkit-emmc.coffee
+++ /dev/null
@@ -1,44 +0,0 @@
-deviceTypesCommon = require '@resin.io/device-types/common'
-{ networkOptions, commonImg, instructions } = deviceTypesCommon
-
-BOARD_PREPARE = 'Put the NVidia Jetson Xavier NX board in recovery mode'
-FLASH_TOOL = 'Unzip BalenaOS image and use Jetson Flash to provision the device.'
-DONE_FLASHING = 'After flashing is completed, please wait until the board is rebooted'
-module.exports =
- version: 1
- slug: 'jetson-xavier-nx-devkit-emmc'
- aliases: [ 'jetson-xavier-nx-devkit-emmc' ]
- name: 'Nvidia Jetson Xavier NX Devkit eMMC'
- arch: 'aarch64'
- state: 'released'
-
- instructions: [
- BOARD_PREPARE
- FLASH_TOOL
- DONE_FLASHING
- ]
-
- gettingStartedLink:
- windows: 'https://docs.balena.io/jetson-xavier-nx-devkit-emmc/nodejs/getting-started/#adding-your-first-device'
- osx: 'https://docs.balena.io/jetson-xavier-nx-devkit-emmc/nodejs/getting-started/#adding-your-first-device'
- linux: 'https://docs.balena.io/jetson-xavier-nx-devkit-emmc/nodejs/getting-started/#adding-your-first-device'
-
- supportsBlink: false
-
- yocto:
- machine: 'jetson-xavier-nx-devkit-emmc'
- image: 'balena-image'
- fstype: 'balenaos-img'
- version: 'yocto-honister'
- deployArtifact: 'balena-image-jetson-xavier-nx-devkit-emmc.balenaos-img'
- compressed: true
-
- options: [ networkOptions.group ]
-
- configuration:
- config:
- partition:
- primary: 9
- path: '/config.json'
-
- initialization: commonImg.initialization
diff --git a/jetson-xavier-nx-devkit.coffee b/jetson-xavier-nx-devkit.coffee
deleted file mode 100644
index 0755e86c4..000000000
--- a/jetson-xavier-nx-devkit.coffee
+++ /dev/null
@@ -1,45 +0,0 @@
-deviceTypesCommon = require '@resin.io/device-types/common'
-{ networkOptions, commonImg, instructions } = deviceTypesCommon
-
-BOARD_PREPARE = 'Put the NVidia Jetson Xavier NX Devkit SD-CARD board in recovery mode'
-FLASH_TOOL = 'Unzip BalenaOS image and use Jetson Flash to provision the device.'
-DONE_FLASHING = 'After flashing is completed, please wait until the board is rebooted'
-
-module.exports =
- version: 1
- slug: 'jetson-xavier-nx-devkit'
- aliases: [ 'jetson-xavier-nx-devkit' ]
- name: 'Nvidia Jetson Xavier NX Devkit SD-CARD'
- arch: 'aarch64'
- state: 'released'
-
- instructions: [
- BOARD_PREPARE
- FLASH_TOOL
- DONE_FLASHING
- ]
-
- gettingStartedLink:
- windows: 'https://docs.balena.io/jetson-xavier-nx-devkit-sd-card/nodejs/getting-started/#adding-your-first-device'
- osx: 'https://docs.balena.io/jetson-xavier-nx-devkit-sd-card/nodejs/getting-started/#adding-your-first-device'
- linux: 'https://docs.balena.io/jetson-xavier-nx-devkit-sd-card/nodejs/getting-started/#adding-your-first-device'
-
- supportsBlink: false
-
- yocto:
- machine: 'jetson-xavier-nx-devkit'
- image: 'balena-image'
- fstype: 'balenaos-img'
- version: 'yocto-honister'
- deployArtifact: 'balena-image-jetson-xavier-nx-devkit.balenaos-img'
- compressed: true
-
- options: [ networkOptions.group ]
-
- configuration:
- config:
- partition:
- primary: 9
- path: '/config.json'
-
- initialization: commonImg.initialization
diff --git a/jetson-xavier.coffee b/jetson-xavier.coffee
deleted file mode 100644
index c43ed29c4..000000000
--- a/jetson-xavier.coffee
+++ /dev/null
@@ -1,44 +0,0 @@
-deviceTypesCommon = require '@resin.io/device-types/common'
-{ networkOptions, commonImg, instructions } = deviceTypesCommon
-
-BOARD_PREPARE = 'Put the NVidia Jetson Xavier board in recovery mode'
-FLASH_TOOL = 'Unzip BalenaOS image and use Jetson Flash to provision the device.'
-DONE_FLASHING = 'After flashing is completed, please wait until the board is rebooted'
-module.exports =
- version: 1
- slug: 'jetson-xavier'
- aliases: [ 'jetson-xavier' ]
- name: 'Nvidia Jetson Xavier AGX'
- arch: 'aarch64'
- state: 'released'
-
- instructions: [
- BOARD_PREPARE
- FLASH_TOOL
- DONE_FLASHING
- ]
-
- gettingStartedLink:
- windows: 'https://docs.balena.io/jetson-xavier/nodejs/getting-started/#adding-your-first-device'
- osx: 'https://docs.balena.io/jetson-xavier/nodejs/getting-started/#adding-your-first-device'
- linux: 'https://docs.balena.io/jetson-xavier/nodejs/getting-started/#adding-your-first-device'
-
- supportsBlink: false
-
- yocto:
- machine: 'jetson-xavier'
- image: 'balena-image'
- fstype: 'balenaos-img'
- version: 'yocto-honister'
- deployArtifact: 'balena-image-jetson-xavier.balenaos-img'
- compressed: true
-
- options: [ networkOptions.group ]
-
- configuration:
- config:
- partition:
- primary: 37
- path: '/config.json'
-
- initialization: commonImg.initialization
diff --git a/layers/meta-balena-jetson/recipes-bsp/cboot/cboot-t19x_32.7.3.bbappend b/layers/meta-balena-jetson/recipes-bsp/cboot/cboot-t19x_32.7.3.bbappend
deleted file mode 100644
index 04dee138b..000000000
--- a/layers/meta-balena-jetson/recipes-bsp/cboot/cboot-t19x_32.7.3.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-
-SRC_URI:append:jetson-xavier-nx-devkit = " \
- file://0030-removable_boot-Reset-if-SD-CARD-not-found-or-loading.patch \
-"
-
-SRC_URI:append = " file://0031-tegra194-Set-SD-eMMC-boot-order-as-default-priority.patch "
diff --git a/layers/meta-balena-jetson/recipes-bsp/cboot/files/0030-removable_boot-Reset-if-SD-CARD-not-found-or-loading.patch b/layers/meta-balena-jetson/recipes-bsp/cboot/files/0030-removable_boot-Reset-if-SD-CARD-not-found-or-loading.patch
deleted file mode 100644
index 2ff12e915..000000000
--- a/layers/meta-balena-jetson/recipes-bsp/cboot/files/0030-removable_boot-Reset-if-SD-CARD-not-found-or-loading.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 5a29c3d4ab353fb4923edee497663d120fc66456 Mon Sep 17 00:00:00 2001
-From: Alexandru Costache
-Date: Sat, 5 Feb 2022 18:24:42 +0100
-Subject: [PATCH] Reset if medium not found or loading kernel/dtb failed
-
-After multiple reboots it may happen that cboot can't find
-the kernel and dtb partitions on the SD-CARD.
-
-Let's reset in these cases.
-
-Upstream-status: Inappropriate [configuration]
-Signed-off-by: Alexandru Costache
----
- bootloader/partner/t18x/cboot/platform/tegra_shared/debug.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/bootloader/partner/t18x/cboot/platform/tegra_shared/debug.c b/bootloader/partner/t18x/cboot/platform/tegra_shared/debug.c
-index a1cc9ca..b174854 100644
---- a/bootloader/partner/t18x/cboot/platform/tegra_shared/debug.c
-+++ b/bootloader/partner/t18x/cboot/platform/tegra_shared/debug.c
-@@ -15,6 +15,7 @@
- #include
- #include
- #include
-+#include
- #include
-
- #if defined(CONFIG_DEBUG_TIMESTAMP)
-@@ -91,7 +92,9 @@ int platform_dgetc(char *c, bool wait)
-
- void platform_halt(void)
- {
-- dprintf(ALWAYS, "HALT: spinning forever...\n");
-+ dprintf(ALWAYS, "Will reset in 10 seconds...\n");
-+ tegrabl_mdelay(10 * 1000);
-+ tegrabl_reset();
- for(;;);
- }
-
---
-2.17.1
-
diff --git a/layers/meta-balena-jetson/recipes-bsp/cboot/files/0031-tegra194-Set-SD-eMMC-boot-order-as-default-priority.patch b/layers/meta-balena-jetson/recipes-bsp/cboot/files/0031-tegra194-Set-SD-eMMC-boot-order-as-default-priority.patch
deleted file mode 100644
index 357ae3829..000000000
--- a/layers/meta-balena-jetson/recipes-bsp/cboot/files/0031-tegra194-Set-SD-eMMC-boot-order-as-default-priority.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 47cbf8ebeaf0961eaff051e52ec1eb7640957a60 Mon Sep 17 00:00:00 2001
-From: Alexandru Costache
-Date: Mon, 2 May 2022 11:35:31 +0200
-Subject: [PATCH 1/2] tegra194: Set SD/eMMC boot order as default priority
-
-We don't disable the rest, just in case users need to do
-quick tests with another distribution like ubuntu,
-for comparison.
-
-Upstream-status: Inappropriate[configuration]
-Signed-off-by: Alexandru Costache
----
- bootloader/partner/common/lib/cbo/tegrabl_cbo.c | 6 +++---
- bootloader/partner/t18x/cboot/platform/t194/platform.c | 7 ++++---
- 2 files changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/bootloader/partner/common/lib/cbo/tegrabl_cbo.c b/bootloader/partner/common/lib/cbo/tegrabl_cbo.c
-index cbc7e52..c3c913d 100644
---- a/bootloader/partner/common/lib/cbo/tegrabl_cbo.c
-+++ b/bootloader/partner/common/lib/cbo/tegrabl_cbo.c
-@@ -36,18 +36,18 @@ static char **p_boot_dev_order;
- static const char *default_boot_dev_order[] = {
- /* Specified in the order of priority from top to bottom */
- "sd",
-+ "emmc",
- "usb",
- "nvme",
-- "emmc",
- "net",
- };
-
- static uint8_t default_boot_order[NUM_SECONDARY_STORAGE_DEVICES] = {
- /* Specified in the order of priority from top to bottom */
- BOOT_FROM_SD,
-+ BOOT_FROM_BUILTIN_STORAGE,
- BOOT_FROM_USB,
- BOOT_FROM_NVME,
-- BOOT_FROM_BUILTIN_STORAGE,
- BOOT_FROM_NETWORK,
- BOOT_DEFAULT,
- };
-@@ -64,9 +64,9 @@ char *boot_cfg_vars[] = {
-
- static struct boot_devices g_boot_devices[] = {
- {"sd", BOOT_FROM_SD},
-+ {"emmc", BOOT_FROM_BUILTIN_STORAGE},
- {"usb", BOOT_FROM_USB},
- {"net", BOOT_FROM_NETWORK},
-- {"emmc", BOOT_FROM_BUILTIN_STORAGE},
- {"ufs", BOOT_FROM_BUILTIN_STORAGE},
- {"sata", BOOT_FROM_BUILTIN_STORAGE},
- {"nvme", BOOT_FROM_NVME},
-diff --git a/bootloader/partner/t18x/cboot/platform/t194/platform.c b/bootloader/partner/t18x/cboot/platform/t194/platform.c
-index 815f90e..537649d 100644
---- a/bootloader/partner/t18x/cboot/platform/t194/platform.c
-+++ b/bootloader/partner/t18x/cboot/platform/t194/platform.c
-@@ -669,14 +669,15 @@ void platform_init(void)
- }
- #endif
-
-- pr_info("Load in CBoot Boot Options partition and parse it\n");
-+ pr_info("Ensure no boot option file is read from any raw partition and use default balenaOS boot order\n");
-+ /*
- err = tegrabl_read_cbo(CBO_PARTITION);
- if (err != TEGRABL_NO_ERROR) {
- pr_warn("%s: tegrabl_read_cbo failed with error %#x\n", __func__, err);
- is_cbo_read = false;
- }
--
-- (void)tegrabl_cbo_parse_info(is_cbo_read);
-+ */
-+ (void)tegrabl_cbo_parse_info(false);
-
- #if defined(CONFIG_ENABLE_SHELL)
- enter_shell_upon_user_request();
---
-2.17.1
-
diff --git a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/boot0_t194.bin.gz b/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/boot0_t194.bin.gz
deleted file mode 100644
index 43eb61cc0..000000000
Binary files a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/boot0_t194.bin.gz and /dev/null differ
diff --git a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/boot0_t194_nx_sd.bindiff b/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/boot0_t194_nx_sd.bindiff
deleted file mode 100644
index 8fb8ab1fb..000000000
Binary files a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/boot0_t194_nx_sd.bindiff and /dev/null differ
diff --git a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/partition_specification194.txt b/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/partition_specification194.txt
deleted file mode 100644
index 5e91dc0fe..000000000
--- a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/partition_specification194.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-mts-mce:mce_c10_prod_cr_sigheader.bin.encrypt:512000
-mts-mce_b:mce_c10_prod_cr_sigheader.bin.encrypt:512000
-mts-proper:mts_c10_prod_cr_sigheader.bin.encrypt:4194304
-mts-proper_b:mts_c10_prod_cr_sigheader.bin.encrypt:4194304
-cpu-bootloader:cboot_t194_sigheader.bin.encrypt:524288
-cpu-bootloader_b:cboot_t194_sigheader.bin.encrypt:524288
-bootloader-dtb:[DTB_NAME]_sigheader.dtb.encrypt:393216
-bootloader-dtb_b:[DTB_NAME]_sigheader.dtb.encrypt:393216
-secure-os:tos-trusty_t194_sigheader.img.encrypt:2097152
-secure-os_b:tos-trusty_t194_sigheader.img.encrypt:2097152
-eks:eks_sigheader.img.encrypt:131072
-eks_b:eks_sigheader.img.encrypt:131072
-bpmp-fw:bpmp_t194_sigheader.bin.encrypt:1048576
-bpmp-fw_b:bpmp_t194_sigheader.bin.encrypt:1048576
-bpmp-fw-dtb:tegra194-a02-bpmp-p2888-a04_sigheader.dtb.encrypt:1048576
-bpmp-fw-dtb_b:tegra194-a02-bpmp-p2888-a04_sigheader.dtb.encrypt:1048576
-xusb-fw:xusb_sil_rel_fw:262144
-xusb-fw_b:xusb_sil_rel_fw:262144
-rce-fw:camera-rtcpu-rce_sigheader.img.encrypt:524288
-rce-fw_b:camera-rtcpu-rce_sigheader.img.encrypt:524288
-adsp-fw:adsp-fw_sigheader.bin.encrypt:4194304
-adsp-fw_b:adsp-fw_sigheader.bin.encrypt:4194304
-sce-fw:none.bin:524288
-sce-fw_b:none.bin:524288
-sc7:warmboot_t194_prod_sigheader.bin.encrypt:6291456
-sc7_b:warmboot_t194_prod_sigheader.bin.encrypt:6291456
-BMP:bmp.blob:134217728
-BMP_b:bmp.blob:134217728
-kernel:boot_sigheader.img.encrypt:67108864
-kernel_b:boot_sigheader.img.encrypt:67108864
-kernel-dtb:[DTB_NAME]_sigheader.dtb.encrypt:524288
-kernel-dtb_b:[DTB_NAME]_sigheader.dtb.encrypt:524288
-CPUBL-CFG:none.bin:1048576
-RP1:none.bin:8388608
-RP2:none.bin:8388608
-PADDING:none.bin:4722688
diff --git a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/partition_specification194_nxde.txt b/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/partition_specification194_nxde.txt
deleted file mode 100644
index e27ff932c..000000000
--- a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/partition_specification194_nxde.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-kernel:boot_sigheader.img.encrypt:67108864
-kernel_b:boot_sigheader.img.encrypt:67108864
-kernel-dtb:[DTBNAME]_sigheader.dtb.encrypt:524288
-kernel-dtb_b:[DTBNAME]_sigheader.dtb.encrypt:524288
-recovery-dtb:[DTBNAME]_sigheader.dtb.encrypt:524288
-kernel-bootctrl:none.bin:262144
-kernel-bootctrl_b:none.bin:262144
-PADDING:none.bin:333426688
diff --git a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/partition_specification194_nxde_sdcard.txt b/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/partition_specification194_nxde_sdcard.txt
deleted file mode 100644
index e27ff932c..000000000
--- a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/partition_specification194_nxde_sdcard.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-kernel:boot_sigheader.img.encrypt:67108864
-kernel_b:boot_sigheader.img.encrypt:67108864
-kernel-dtb:[DTBNAME]_sigheader.dtb.encrypt:524288
-kernel-dtb_b:[DTBNAME]_sigheader.dtb.encrypt:524288
-recovery-dtb:[DTBNAME]_sigheader.dtb.encrypt:524288
-kernel-bootctrl:none.bin:262144
-kernel-bootctrl_b:none.bin:262144
-PADDING:none.bin:333426688
diff --git a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/resinOS-flash194.xml b/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/resinOS-flash194.xml
deleted file mode 100644
index 747fd6b94..000000000
--- a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/resinOS-flash194.xml
+++ /dev/null
@@ -1,526 +0,0 @@
-
-
-
- sequential
- basic
- 32768
- 0
- 8
- 0
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- mb1_t194_prod.bin
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- mb1_t194_prod.bin
-
-
- sequential
- basic
- 81920
- 0
- 8
- 0
-
-
- sequential
- basic
- 81920
- 0
- 8
- 0
-
-
- sequential
- basic
- 204800
- 0
- 8
- 0
-
-
- sequential
- basic
- 204800
- 0
- 8
- 0
-
-
- sequential
- basic
- 131072
- 0
- 8
- 0
- spe_t194.bin
-
-
- sequential
- basic
- 131072
- 0
- 8
- 0
- spe_t194.bin
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- nvtboot_t194.bin
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- nvtboot_t194.bin
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- preboot_c10_prod_cr.bin
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- preboot_c10_prod_cr.bin
-
-
- sequential
- basic
- 4096
- 0
- 0x8
- 0
- slot_metadata.bin
-
-
- sequential
- basic
- 4096
- 0
- 0x8
- 0
- slot_metadata.bin
-
-
- sequential
- basic
- 0xFFFFFFFFFFFFFFFF
- 0
- 8
- 0
-
-
-
-
- sequential
- basic
- 512
- 0
- 8
- 0
-
-
- sequential
- basic
- 19968
- 0
- 8
- 0
-
-
- sequential
- basic
- 512000
- 0
- 8
- 0
- mce_c10_prod_cr.bin
-
-
- sequential
- basic
- 512000
- 0
- 8
- 0
- mce_c10_prod_cr.bin
-
-
- sequential
- basic
- 4194304
- 0
- 8
- 0
- mts_c10_prod_cr.bin
-
-
- sequential
- basic
- 4194304
- 0
- 8
- 0
- mts_c10_prod_cr.bin
-
-
- sequential
- basic
- 524288
- 0
- 8
- 0
- cboot_t194.bin
-
-
- sequential
- basic
- 524288
- 0
- 8
- 0
- cboot_t194.bin
-
-
- sequential
- basic
- 393216
- 0
- 8
- 0
- DTB_NAME
-
-
- sequential
- basic
- 393216
- 0
- 8
- 0
- DTB_NAME
-
-
- sequential
- basic
- 2097152
- 0
- 8
- 0
- tos-trusty_t194.img
-
-
- sequential
- basic
- 2097152
- 0
- 8
- 0
- tos-trusty_t194.img
-
-
- sequential
- basic
- 131072
- 0
- 8
- 0
- eks.img
-
-
- sequential
- basic
- 131072
- 0
- 8
- 0
- eks.img
-
-
- sequential
- basic
- 1048576
- 0
- 8
- 0
- bpmp_t194.bin
-
-
- sequential
- basic
- 1048576
- 0
- 8
- 0
- bpmp_t194.bin
-
-
- sequential
- basic
- 1048576
- 0
- 8
- 0
- tegra194-a02-bpmp-p2888-a04.dtb
-
-
- sequential
- basic
- 1048576
- 0
- 8
- 0
- tegra194-a02-bpmp-p2888-a04.dtb
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- xusb_sil_rel_fw
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- xusb_sil_rel_fw
-
-
- sequential
- basic
- 524288
- 0
- 8
- 0
- camera-rtcpu-rce.img
-
-
- sequential
- basic
- 524288
- 0
- 8
- 0
- camera-rtcpu-rce.img
-
-
- sequential
- basic
- 4194304
- 0
- 8
- 0
- adsp-fw.bin
-
-
- sequential
- basic
- 4194304
- 0
- 8
- 0
- adsp-fw.bin
-
-
- sequential
- basic
- 524288
- 0
- 8
- 0
-
-
- sequential
- basic
- 524288
- 0
- 8
- 0
-
-
- sequential
- basic
- 6291456
- 0
- 8
- 0
- warmboot_t194_prod.bin
-
-
- sequential
- basic
- 6291456
- 0
- 8
- 0
- warmboot_t194_prod.bin
-
-
- sequential
- basic
- 134217728
- 0
- 0x8
- 0
- bmp.blob
-
-
- sequential
- basic
- 134217728
- 0
- 0x8
- 0
- bmp.blob
-
-
- sequential
- basic
- 67108864
- 0
- 8
- 0
- boot.img
-
-
- sequential
- basic
- 67108864
- 0
- 8
- 0
- boot.img
-
-
- sequential
- basic
- 524288
- 0
- 8
- 0
- DTB_NAME
-
-
- sequential
- basic
- 524288
- 0
- 8
- 0
- DTB_NAME
-
-
- sequential
- basic
- 1048576
- 0
- 0x8
- 0
-
-
- sequential
- basic
- 8388608
- 0
- 0x8
- 0
-
-
- sequential
- basic
- 8388608
- 0
- 0x8
- 0
-
-
- sequential
- basic
- 4722688
- 0
- 0x8
- 0
-
-
- sequential
- basic
- 125829120
- 0
- 0x8
- 0
-
-
- sequential
- basic
- 499122176
- 0
- 0x8
- 0
-
-
- sequential
- basic
- 499122176
- 0
- 0x8
- 0
-
-
- sequential
- basic
- 20971520
- 0
- 0x8
- 0
-
-
- sequential
- basic
- 212860928
- 0
- 0x808
- 0
-
-
- sequential
- basic
- 0xFFFFFFFFFFFFFFFF
- 0
- 8
- 0
-
-
-
diff --git a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/resinOS-flash194_nxde.xml b/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/resinOS-flash194_nxde.xml
deleted file mode 100644
index 683b71a2a..000000000
--- a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/resinOS-flash194_nxde.xml
+++ /dev/null
@@ -1,652 +0,0 @@
-
-
-
- sequential
- basic
- 131072
- 0
- 8
- 0
- **Required.** Contains Boot Configuration Table (BCT).
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- MB1FILE
- **Required.** Slot A; contains NVIDIA signed MB1 binary.
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- MB1FILE
- **Required.** Slot B; contains NVIDIA signed MB1 binary.
-
-
- sequential
- basic
- 65536
- 0
- 8
- 0
- **Required.** Slot A; contains MB1 boot configuration table.
-
-
- sequential
- basic
- 65536
- 0
- 8
- 0
- **Required.** Slot B; contains MB1 boot configuration table.
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- **Required.** Slot A; contains memory configuration table.
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- **Required.** Slot B; contains memory configuration table.
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- SPEFILE
- **Required.** Slot A; contains BPMP SPE-FW binary.
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- SPEFILE
- **Required.** Slot B; contains BPMP SPE-FW binary.
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- TEGRABOOT
- **Required.** Slot A; contains TegraBoot binary.
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- TEGRABOOT
- **Required.** Slot B; contains TegraBoot binary.
-
-
- sequential
- basic
- 65536
- 0
- 8
- 0
- MTSPREBOOT
- **Required.** Slot A; contains Denver preboot firmware.
-
-
- sequential
- basic
- 65536
- 0
- 8
- 0
- MTSPREBOOT
- **Required.** Slot B; contains Denver preboot firmware.
-
-
-
- sequential
- basic
- 196608
- 0
- 8
- 0
- MTS_MCE
- **Required.** Slot A; contains microcode associated with boot, power management,
- and clocks.
-
-
- sequential
- basic
- 196608
- 0
- 8
- 0
- MTS_MCE
- **Required.** Slot B; contains microcode associated with boot, power management,
- and clocks.
-
-
- sequential
- basic
- 4194304
- 0
- 8
- 0
- MTSPROPER
- **Required.** Slot A; contains microcode associated with execution
- and optimization of ARM code.
-
-
- sequential
- basic
- 4194304
- 0
- 8
- 0
- MTSPROPER
- **Required.** Slot B; contains microcode associated with execution
- and optimization of ARM code.
-
-
- sequential
- basic
- 131072
- 0
- 8
- 0
- WB0BOOT
- **Required.** Slot A; contains warm boot firmware.
-
-
- sequential
- basic
- 131072
- 0
- 8
- 0
- WB0BOOT
- **Required.** Slot B; contains warm boot firmware.
-
-
- sequential
- basic
- 4096
- 65536
- 0
- 0x8
- 0
- slot_metadata.bin
- **Required.** Slot A; contains slot status for A/B boot and A/B
- update.
-
-
- sequential
- basic
- 4096
- 65536
- 0
- 0x8
- 0
- slot_metadata.bin
- **Required.** Slot B; contains slot status for A/B boot and A/B
- update.
-
-
- sequential
- basic
- 196608
- 65536
- 0
- 8
- 0
- xusb_sil_rel_fw
- **Required.** Slot A; contains XUSB module’s firmware file, making XUSB
- a true USB 3.0 compliant host controller.
-
-
- sequential
- basic
- 196608
- 0
- 8
- 0
- xusb_sil_rel_fw
- **Required.** Slot B; contains XUSB module’s firmware file, making XUSB
- a true USB 3.0 compliant host controller.
-
-
- sequential
- basic
- 1441792
- 0
- 8
- 0
- TBCFILE
- **Required.** Slot A; contains CBoot, the final boot stage CPU Bootloader
- binary that loads the binary in the kernel partition.
-
-
- sequential
- basic
- 1441792
- 0
- 8
- 0
- TBCFILE
- **Required.** Slot B; contains CBoot, the final boot stage CPU Bootloader
- binary that loads the binary in the kernel partition.
-
-
- sequential
- basic
- 458752
- 0
- 8
- 0
- TBCDTB-FILE
- **Required.** Slot A; contains Bootloader device tree blob
- (DTB).
-
-
- sequential
- basic
- 458752
- 0
- 8
- 0
- TBCDTB-FILE
- **Required.** Slot B; contains Bootloader device tree blob
- (DTB).
-
-
- sequential
- basic
- 196608
- 0
- 0x8
- 0
- bmp.blob
- **Optional.** Slot A; contains BMP images for splash screen display during
- boot.
-
-
- sequential
- basic
- 196608
- 0
- 0x8
- 0
- bmp.blob
- **Optional.** Slot B; contains BMP images for splash screen display during
- boot.
-
-
- sequential
- basic
- 2621440
- 0
- 8
- 0
- TOSFILE
- **Required.** Slot A; contains the trusted OS.
-
-
- sequential
- basic
- 2621440
- 0
- 8
- 0
- TOSFILE
- **Required.** Slot B; contains the trusted OS.
-
-
- sequential
- basic
- 65536
- 0
- 8
- 0
- EKSFILE
- **Optional.** Slot A; contains the encrypted keys.
-
-
- sequential
- basic
- 65536
- 0
- 8
- 0
- EKSFILE
- **Optional.** Slot B; contains the encrypted keys.
-
-
- sequential
- basic
- 1048576
- 0
- 8
- 0
- adsp-fw.bin
- **Required.** Slot A; contains ADSP software.
-
-
- sequential
- basic
- 1048576
- 0
- 8
- 0
- adsp-fw.bin
- **Required.** Slot B; contains ADSP software.
-
-
- sequential
- basic
- 1048576
- 0
- 8
- 0
- CAMERAFW
- **Required.** Slot A; contains `camera-rtcpu-rce` firmware.
-
-
- sequential
- basic
- 1048576
- 0
- 8
- 0
- CAMERAFW
- **Required.** Slot B; contains `camera-rtcpu-rce` firmware.
-
-
- sequential
- basic
- 1048576
- 0
- 8
- 0
-
- **Required.** Contains `camera-rtcpu-sce` firmware.
-
-
- sequential
- basic
- 1048576
- 0
- 8
- 0
-
- **Required.** Contains `camera-rtcpu-sce` firmware.
-
-
- sequential
- basic
- 1572864
- 0
- 8
- 0
- BPFFILE
- **Required.** Slot A; contains BPMP firmware.
-
-
- sequential
- basic
- 1572864
- 0
- 8
- 0
- BPFFILE
- **Required.** Slot B; contains BPMP firmware.
-
-
- sequential
- basic
- 1048576
- 0
- 8
- 0
- BPFDTB_FILE
- **Required.** Slot A; contains BPMP firmware device tree blob
- (DTB).
-
-
- sequential
- basic
- 1048576
- 0
- 8
- 0
- BPFDTB_FILE
- **Required.** Slot B; contains BPMP firmware device tree blob
- (DTB).
-
-
- sequential
- basic
- 65536
- 0
- 0x8
- 0
- **Optional.** Contains boot device selection priority list.
-
-
- sequential
- basic
- 65536
- 0
- 0x8
- 0
- **Optional.** Contains boot device selection priority list.
-
-
- sequential
- basic
- 65536
- 0
- 0
- 8
- 0
- VERFILE
- **Required.** Contains BSP version information.
-
-
- sequential
- basic
- 65536
- 0
- 0
- 8
- 0
- VERFILE
- **Required.** Contains a redundant copy of BSP version information.
-
-
- sequential
- basic
- 0xFFFFFFFFFFFFFFFF
- 0
- 8
- 0
- **Required.** Contains secondary GPT of the `spi`
- device.
-
-
-
-
- sequential
- basic
- 512
- 0
- 8
- 0
- **Required.** Contains protective MBR.
-
-
- sequential
- basic
- 19968
- 0
- 8
- 0
- **Required.** Contains primary GPT of the `sdmmc_user` device. All
- partitions defined after this entry are configured in the kernel, and are
- accessible by standard partition tools such as gdisk and parted.
-
-
- sequential
- basic
- 67108864
- 0
- 8
- 0
- LNXFILE
- **Required.** Slot A; contains U-Boot, which loads and launches the kernel
- from the rootfs at `/boot`.
-
-
- sequential
- basic
- 67108864
- 0
- 8
- 0
- LNXFILE
- **Required.** Slot B; contains U-Boot, which loads and launches the kernel
- from the rootfs at `/boot`.
-
-
- sequential
- basic
- 524288
- 0
- 8
- 0
- DTB_FILE
- **Required.** Slot A; contains kernel device tree blob.
-
-
- sequential
- basic
- 524288
- 0
- 8
- 0
- DTB_FILE
- **Required.** Slot B; contains kernel device tree blob.
-
-
- sequential
- basic
- 524288
- 0
- 8
- 0
- RECDTB-FILE
- **Required.** Contains recovery DTB image.
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- BOOTCTRL-FILE
- **Required.** Slot A; contains boot control data.
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- BOOTCTRL-FILE
- **Required.** Slot B; contains boot control data.
-
-
- sequential
- basic
- 333426688
- 0
- 8
- 0
- Allows for adding new partitions before resin-boot in the future.
-
-
- sequential
- basic
- 125829120
- 0
- 0x8
- 0
-
-
- sequential
- basic
- 750780416
- 0
- 0x8
- 0
-
-
- sequential
- basic
- 750780416
- 0
- 0x8
- 0
-
-
- sequential
- basic
- 20971520
- 0
- 0x8
- 0
-
-
- sequential
- basic
- 212860928
- 0
- 0x808
- 0
-
-
- sequential
- basic
- 0xFFFFFFFFFFFFFFFF
- 0
- 8
- 0
- **Required.** Contains secondary GPT of the `sdmmc_user`
- device.
-
-
-
diff --git a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/resinOS-flash194_nxde_sdcard.xml b/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/resinOS-flash194_nxde_sdcard.xml
deleted file mode 100644
index 427e3f19f..000000000
--- a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/files/resinOS-flash194_nxde_sdcard.xml
+++ /dev/null
@@ -1,651 +0,0 @@
-
-
-
- sequential
- basic
- 131072
- 0
- 8
- 0
- **Required.** Contains Boot Configuration Table (BCT).
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- MB1FILE
- **Required.** Slot A; contains NVIDIA signed MB1 binary.
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- MB1FILE
- **Required.** Slot B; contains NVIDIA signed MB1 binary.
-
-
- sequential
- basic
- 65536
- 0
- 8
- 0
- **Required.** Slot A; contains MB1 boot configuration table.
-
-
- sequential
- basic
- 65536
- 0
- 8
- 0
- **Required.** Slot B; contains MB1 boot configuration table.
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- **Required.** Slot A; contains memory configuration table.
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- **Required.** Slot B; contains memory configuration table.
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- SPEFILE
- **Required.** Slot A; contains BPMP SPE-FW binary.
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- SPEFILE
- **Required.** Slot B; contains BPMP SPE-FW binary.
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- TEGRABOOT
- **Required.** Slot A; contains TegraBoot binary.
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- TEGRABOOT
- **Required.** Slot B; contains TegraBoot binary.
-
-
- sequential
- basic
- 65536
- 0
- 8
- 0
- MTSPREBOOT
- **Required.** Slot A; contains Denver preboot firmware.
-
-
- sequential
- basic
- 65536
- 0
- 8
- 0
- MTSPREBOOT
- **Required.** Slot B; contains Denver preboot firmware.
-
-
- sequential
- basic
- 196608
- 0
- 8
- 0
- MTS_MCE
- **Required.** Slot A; contains microcode associated with boot, power management,
- and clocks.
-
-
- sequential
- basic
- 196608
- 0
- 8
- 0
- MTS_MCE
- **Required.** Slot B; contains microcode associated with boot, power management,
- and clocks.
-
-
- sequential
- basic
- 4194304
- 0
- 8
- 0
- MTSPROPER
- **Required.** Slot A; contains microcode associated with execution
- and optimization of ARM code.
-
-
- sequential
- basic
- 4194304
- 0
- 8
- 0
- MTSPROPER
- **Required.** Slot B; contains microcode associated with execution
- and optimization of ARM code.
-
-
- sequential
- basic
- 131072
- 0
- 8
- 0
- WB0BOOT
- **Required.** Slot A; contains warm boot firmware.
-
-
- sequential
- basic
- 131072
- 0
- 8
- 0
- WB0BOOT
- **Required.** Slot B; contains warm boot firmware.
-
-
- sequential
- basic
- 4096
- 65536
- 0
- 0x8
- 0
- slot_metadata.bin
- **Required.** Slot A; contains slot status for A/B boot and A/B
- update.
-
-
- sequential
- basic
- 4096
- 65536
- 0
- 0x8
- 0
- slot_metadata.bin
- **Required.** Slot B; contains slot status for A/B boot and A/B
- update.
-
-
- sequential
- basic
- 196608
- 65536
- 0
- 8
- 0
- xusb_sil_rel_fw
- **Required.** Slot A; contains XUSB module’s firmware file, making XUSB
- a true USB 3.0 compliant host controller.
-
-
- sequential
- basic
- 196608
- 0
- 8
- 0
- xusb_sil_rel_fw
- **Required.** Slot B; contains XUSB module’s firmware file, making XUSB
- a true USB 3.0 compliant host controller.
-
-
- sequential
- basic
- 1441792
- 0
- 8
- 0
- TBCFILE
- **Required.** Slot A; contains CBoot, the final boot stage CPU Bootloader
- binary that loads the binary in the kernel partition.
-
-
- sequential
- basic
- 1441792
- 0
- 8
- 0
- TBCFILE
- **Required.** Slot B; contains CBoot, the final boot stage CPU Bootloader
- binary that loads the binary in the kernel partition.
-
-
- sequential
- basic
- 458752
- 0
- 8
- 0
- TBCDTB-FILE
- **Required.** Slot A; contains Bootloader device tree blob
- (DTB).
-
-
- sequential
- basic
- 458752
- 0
- 8
- 0
- TBCDTB-FILE
- **Required.** Slot B; contains Bootloader device tree blob
- (DTB).
-
-
- sequential
- basic
- 196608
- 0
- 0x8
- 0
- bmp.blob
- **Optional.** Slot A; contains BMP images for splash screen display during
- boot.
-
-
- sequential
- basic
- 196608
- 0
- 0x8
- 0
- bmp.blob
- **Optional.** Slot B; contains BMP images for splash screen display during
- boot.
-
-
- sequential
- basic
- 2621440
- 0
- 8
- 0
- TOSFILE
- **Required.** Slot A; contains the trusted OS.
-
-
- sequential
- basic
- 2621440
- 0
- 8
- 0
- TOSFILE
- **Required.** Slot B; contains the trusted OS.
-
-
- sequential
- basic
- 65536
- 0
- 8
- 0
- EKSFILE
- **Optional.** Slot A; contains the encrypted keys.
-
-
- sequential
- basic
- 65536
- 0
- 8
- 0
- EKSFILE
- **Optional.** Slot B; contains the encrypted keys.
-
-
- sequential
- basic
- 1048576
- 0
- 8
- 0
- adsp-fw.bin
- **Required.** Slot A; contains ADSP software.
-
-
- sequential
- basic
- 1048576
- 0
- 8
- 0
- adsp-fw.bin
- **Required.** Slot B; contains ADSP software.
-
-
- sequential
- basic
- 1048576
- 0
- 8
- 0
- CAMERAFW
- **Required.** Slot A; contains `camera-rtcpu-rce` firmware.
-
-
- sequential
- basic
- 1048576
- 0
- 8
- 0
- CAMERAFW
- **Required.** Slot B; contains `camera-rtcpu-rce` firmware.
-
-
- sequential
- basic
- 1048576
- 0
- 8
- 0
-
- **Required.** Contains `camera-rtcpu-sce` firmware.
-
-
- sequential
- basic
- 1048576
- 0
- 8
- 0
-
- **Required.** Contains `camera-rtcpu-sce` firmware.
-
-
- sequential
- basic
- 1572864
- 0
- 8
- 0
- BPFFILE
- **Required.** Slot A; contains BPMP firmware.
-
-
- sequential
- basic
- 1572864
- 0
- 8
- 0
- BPFFILE
- **Required.** Slot B; contains BPMP firmware.
-
-
- sequential
- basic
- 1048576
- 0
- 8
- 0
- BPFDTB_FILE
- **Required.** Slot A; contains BPMP firmware device tree blob
- (DTB).
-
-
- sequential
- basic
- 1048576
- 0
- 8
- 0
- BPFDTB_FILE
- **Required.** Slot B; contains BPMP firmware device tree blob
- (DTB).
-
-
- sequential
- basic
- 65536
- 0
- 0x8
- 0
- **Optional.** Contains boot device selection priority list.
-
-
- sequential
- basic
- 65536
- 0
- 0x8
- 0
- **Optional.** Contains boot device selection priority list.
-
-
- sequential
- basic
- 65536
- 0
- 0
- 8
- 0
- VERFILE
- **Required.** Contains BSP version information.
-
-
- sequential
- basic
- 65536
- 0
- 0
- 8
- 0
- VERFILE
- **Required.** Contains a redundant copy of BSP version information.
-
-
- sequential
- basic
- 0xFFFFFFFFFFFFFFFF
- 0
- 8
- 0
- **Required.** Contains secondary GPT of the `spi`
- device.
-
-
-
-
- sequential
- basic
- 512
- 0
- 8
- 0
- **Required.** Contains protective MBR.
-
-
- sequential
- basic
- 19968
- 0
- 8
- 0
- **Required.** Contains primary GPT of the `sdcard` device. All
- partitions defined after this entry are configured in the kernel, and are
- accessible by standard partition tools such as gdisk and parted.
-
-
- sequential
- basic
- 67108864
- 0
- 8
- 0
- LNXFILE
- **Required.** Slot A; contains U-Boot, which loads and launches the kernel
- from the rootfs at `/boot`.
-
-
- sequential
- basic
- 67108864
- 0
- 8
- 0
- LNXFILE
- **Required.** Slot B; contains U-Boot, which loads and launches the kernel
- from the rootfs at `/boot`.
-
-
- sequential
- basic
- 524288
- 0
- 8
- 0
- DTB_FILE
- **Required.** Slot A; contains kernel device tree blob.
-
-
- sequential
- basic
- 524288
- 0
- 8
- 0
- DTB_FILE
- **Required.** Slot B; contains kernel device tree blob.
-
-
- sequential
- basic
- 524288
- 0
- 8
- 0
- RECDTB-FILE
- **Required.** Contains recovery DTB image.
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- BOOTCTRL-FILE
- **Required.** Slot A; contains boot control data.
-
-
- sequential
- basic
- 262144
- 0
- 8
- 0
- BOOTCTRL-FILE
- **Required.** Slot B; contains boot control data.
-
-
- sequential
- basic
- 333426688
- 0
- 8
- 0
- Allows for adding new partitions before resin-boot in the future.
-
-
- sequential
- basic
- 125829120
- 0
- 0x8
- 0
-
-
- sequential
- basic
- 750780416
- 0
- 0x8
- 0
-
-
- sequential
- basic
- 750780416
- 0
- 0x8
- 0
-
-
- sequential
- basic
- 20971520
- 0
- 0x8
- 0
-
-
- sequential
- basic
- 212860928
- 0
- 0x808
- 0
-
-
- sequential
- basic
- 0xFFFFFFFFFFFFFFFF
- 0
- 8
- 0
- **Required.** Contains secondary GPT of the `sdcard`
- device.
-
-
-
diff --git a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/tegra-bootfiles_32.7.3.bbappend b/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/tegra-bootfiles_32.7.3.bbappend
deleted file mode 100644
index b22b2683c..000000000
--- a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/tegra-bootfiles_32.7.3.bbappend
+++ /dev/null
@@ -1,13 +0,0 @@
-do_compile:prepend:tegra194() {
- for f in ${S}/bootloader/${NVIDIA_BOARD}/tegra194-*-bpmp-*.dtb;
- do
- if [ $(basename "$f") = "tegra194-a02-bpmp-p2888-a04.dtb" ]; then
- echo "Changing parents for can1 and can2 in file $f"
- for dtnode in can1 can2
- do
- fdtput -t x ${f} "/clocks/clock@$dtnode" "allowed-parents" "121" "5b" "13a" "5e"
- done
- fi
- done
-}
-
diff --git a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/tegra194-flash-dry_32.7.3.bb b/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/tegra194-flash-dry_32.7.3.bb
deleted file mode 100644
index 6099a167e..000000000
--- a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/tegra194-flash-dry_32.7.3.bb
+++ /dev/null
@@ -1,264 +0,0 @@
-SUMMARY = "Create flash artifacts without flashing"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${BALENA_COREBASE}/COPYING.Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-IMAGE_ROOTFS_ALIGNMENT ?= "4"
-
-BOOT_BLOB="boot0_t194.bin.gz"
-
-DEPENDS = " \
- coreutils-native \
- virtual/bootloader \
- virtual/kernel \
- tegra-binaries \
- tegra-bootfiles \
- tegra194-flashtools-native \
- dtc-native \
- virtual/bootlogo \
- "
-
-inherit deploy python3native perlnative l4t_bsp
-
-SRC_URI = " \
- file://resinOS-flash194.xml \
- file://partition_specification194.txt \
- file://${BOOT_BLOB};unpack=0 \
-"
-
-PINMUXCFG = "tegra19x-mb1-pinmux-p2888-0000-a04-p2822-0000-b01.cfg"
-LNXSIZE ?= "67108864"
-DTBNAME = "tegra194-p2888-0001-p2822-0000"
-KERNEL_DEVICETREE = "${DEPLOY_DIR_IMAGE}/${DTBNAME}.dtb"
-DTBFILE ?= "${@os.path.basename(d.getVar('KERNEL_DEVICETREE', True).split()[0])}"
-
-IMAGE_TEGRAFLASH_FS_TYPE ??= "ext4"
-IMAGE_TEGRAFLASH_ROOTFS ?= "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${IMAGE_TEGRAFLASH_FS_TYPE}"
-
-LDK_DIR = "${TMPDIR}/work-shared/L4T-${SOC_FAMILY}-${PV}-${PR}/Linux_for_Tegra"
-B = "${WORKDIR}/build"
-S = "${WORKDIR}"
-LNXFILE="${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin"
-IMAGE_TEGRAFLASH_KERNEL ?= "${DEPLOY_DIR_IMAGE}/${LNXFILE}"
-BINARY_INSTALL_PATH = "/opt/tegra-binaries"
-
-OS_KERNEL_CMDLINE = "${@bb.utils.contains('DISTRO_FEATURES','osdev-image','console=ttyTHS0,115200n8 console=tty1 ','console=null quiet splash vt.global_cursor_default=0 consoleblank=0',d)} l4tver=${L4T_VERSION}"
-ROOTA_ARGS="root=LABEL=resin-rootA ro rootwait rootfstype=ext4 ${KERNEL_ARGS} ${OS_KERNEL_CMDLINE}"
-ROOTB_ARGS="root=LABEL=resin-rootB ro rootwait rootfstype=ext4 ${KERNEL_ARGS} ${OS_KERNEL_CMDLINE}"
-
-BOOTFILES=" \
- bpmp_t194.bin \
- camera-rtcpu-rce.img \
- eks.img \
- mb1_t194_prod.bin \
- nvtboot_applet_t194.bin \
- nvtboot_t194.bin \
- preboot_c10_prod_cr.bin \
- mce_c10_prod_cr.bin \
- mts_c10_prod_cr.bin \
- nvtboot_cpu_t194.bin \
- nvtboot_recovery_t194.bin \
- nvtboot_recovery_cpu_t194.bin \
- preboot_d15_prod_cr.bin \
- slot_metadata.bin \
- spe_t194.bin \
- warmboot_t194_prod.bin \
- xusb_sil_rel_fw \
- adsp-fw.bin \
-"
-
-signfile() {
- local destdir="${WORKDIR}/tegraflash"
- local lnxfile="${LNXFILE}"
- local f
- PATH="${STAGING_BINDIR_NATIVE}/tegra186-flash:${PATH}"
- export cbootfilename=cboot_t194.bin
-
- export BOARDID=${TEGRA_BOARDID}
- export FAB=${TEGRA_FAB}
- export localbootfile=boot.img
-
- if [ "${SOC_FAMILY}" = "tegra194" ]; then
- export CHIPREV=${TEGRA_CHIPREV}
- export sdramcfg=${MACHINE}.cfg,${MACHINE}-override.cfg
- else
- export sdramcfg=${MACHINE}.cfg
- fi
-
- export bins="mb2_bootloader nvtboot_recovery_t194.bin; \
- mts_preboot preboot_c10_prod_cr.bin; \
- mts_mce mce_c10_prod_cr.bin; \
- mts_proper mts_c10_prod_cr.bin;
- bpmp_fw bpmp_t194.bin; \
- bpmp_fw_dtb tegra194-a02-bpmp-p2888-a04.dtb; \
- spe_fw spe_t194.bin; \
- tlk tos-trusty_t194.img; \
- eks eks.img; \
- bootloader_dtb ${DTBFILE}"
-
- tegraflashpy=$(which tegraflash.py)
- python3 $tegraflashpy --chip 0x19 \
- --bl nvtboot_recovery_cpu_t194.bin \
- --sdram_config ${sdramcfg} \
- --odmdata ${ODMDATA} \
- --applet mb1_t194_prod.bin \
- --soft_fuses tegra194-mb1-soft-fuses-l4t.cfg \
- --cmd "sign$1" \
- --cfg flash.xml.in \
- --uphy_config tegra194-mb1-uphy-lane-p2888-0000-p2822-0000.cfg \
- --device_config tegra19x-mb1-bct-device-sdmmc.cfg \
- --misc_config tegra194-mb1-bct-misc-flash.cfg \
- --misc_cold_boot_config tegra194-mb1-bct-misc-l4t.cfg \
- --pinmux_config ${PINMUXCFG} \
- --gpioint_config tegra194-mb1-bct-gpioint-p2888-0000-p2822-0000.cfg \
- --pmic_config tegra194-mb1-bct-pmic-p2888-0001-a04-p2822-0000.cfg \
- --pmc_config tegra19x-mb1-padvoltage-p2888-0000-a00-p2822-0000-a00.cfg \
- --prod_config tegra19x-mb1-prod-p2888-0000-p2822-0000.cfg \
- --scr_config tegra194-mb1-bct-scr-cbb-mini.cfg \
- --scr_cold_boot_config tegra194-mb1-bct-scr-cbb-mini.cfg \
- --br_cmd_config tegra194-mb1-bct-reset-p2888-0000-p2822-0000.cfg \
- --dev_params tegra194-br-bct-sdmmc.cfg --bins "${bins}"
-}
-
-do_configure() {
- local destdir="${WORKDIR}/tegraflash"
- local lnxfile="${LNXFILE}"
- local f
- PATH="${STAGING_BINDIR_NATIVE}/tegra186-flash:${PATH}"
- rm -rf "${WORKDIR}/tegraflash"
- mkdir -p "${WORKDIR}/tegraflash"
- oldwd=`pwd`
- cd "${WORKDIR}/tegraflash"
- ln -s "${STAGING_DATADIR}/tegraflash/${MACHINE}.cfg" .
- ln -s "${STAGING_DATADIR}/tegraflash/${MACHINE}-override.cfg" .
- ln -s "${DEPLOY_DIR_IMAGE}/cboot-${MACHINE}.bin" ./cboot_t194.bin
- ln -s "${DEPLOY_DIR_IMAGE}/tos-${MACHINE}.img" ./tos-trusty_t194.img
-
- cp "${DEPLOY_DIR_IMAGE}/bootlogo-${MACHINE}.blob" ./bmp.blob
- mkdir -p ${DEPLOY_DIR_IMAGE}/bootfiles
- cp ./cboot_t194.bin ${DEPLOY_DIR_IMAGE}/bootfiles/
- cp ./bmp.blob ${DEPLOY_DIR_IMAGE}/bootfiles/
-
- for f in ${BOOTFILES}; do
- ln -s "${STAGING_DATADIR}/tegraflash/$f" .
- cp "${STAGING_DATADIR}/tegraflash/$f" ${DEPLOY_DIR_IMAGE}/bootfiles/
- done
-
- for f in ${STAGING_DATADIR}/tegraflash/tegra19[4x]-*.cfg; do
- ln -s $f .
- cp $f ${DEPLOY_DIR_IMAGE}/bootfiles/
- done
-
- for f in ${STAGING_DATADIR}/tegraflash/tegra194-*-bpmp-*.dtb; do
- cp $f .
- cp $f ${DEPLOY_DIR_IMAGE}/bootfiles/
- done
-
- ln -s ${STAGING_BINDIR_NATIVE}/tegra186-flash .
-
- cp "${DEPLOY_DIR_IMAGE}/${DTBFILE}" ./${DTBFILE}
- cp ./${DTBFILE} ./${DTBNAME}-rootA.dtb
- cp ./${DTBFILE} ./${DTBNAME}-rootB.dtb
-
- # Add rootA/rootB and save as separate dtbs to be used when
- # switching partitions
- bootargs="`fdtget ./${DTBFILE} /chosen bootargs 2>/dev/null`"
- fdtput -t s ./${DTBNAME}-rootA.dtb /chosen bootargs "$bootargs ${ROOTA_ARGS}"
- fdtput -t s ./${DTBNAME}-rootB.dtb /chosen bootargs "$bootargs ${ROOTB_ARGS}"
-
- # Make bootable image from kernel and sign it
- cp ${DEPLOY_DIR_IMAGE}/${LNXFILE} ${LNXFILE}
- ln -sf ${STAGING_BINDIR_NATIVE}/tegra186-flash/mkbootimg ./
-
- # mkbootimg really needs initrd, even if empty
- touch initrd
- ./mkbootimg --kernel ${LNXFILE} --ramdisk initrd --board mmcblk0p1 --output boot.img
-
- # prepare flash.xml.in to be used in signing
- cp ${WORKDIR}/resinOS-flash194.xml flash.xml.in
- sed -i "s, DTB_NAME, ${DTBFILE},g" flash.xml.in
-
- sed -i -e "s/\[DTB_NAME\]/$(echo ${DTBFILE} | cut -d '.' -f 1)/g" ${WORKDIR}/partition_specification194.txt
-
- # prep env for tegraflash
- rm -f ./slot_metadata.bin
- cp ${STAGING_DATADIR}/tegraflash/slot_metadata.bin ./
- mkdir ./rollback
-
- ln -sf ${STAGING_BINDIR_NATIVE}/tegra186-flash/rollback_parser.py ./rollback/
- ln -snf ${STAGING_DATADIR}/nv_tegra/rollback/t${@d.getVar('NVIDIA_CHIP')[2:]}x ./rollback/
- ln -sf ${STAGING_BINDIR_NATIVE}/tegra186-flash/BUP_generator.py ./
- ln -sf ${STAGING_BINDIR_NATIVE}/tegra186-flash/${SOC_FAMILY}-flash-helper.sh ./
- ln -sf ${STAGING_BINDIR_NATIVE}/tegra186-flash/tegraflash.py ./
-
- # bup is based on the rootfs, which is not built at this point
- # not using it for the moment
- # sed -e 's,^function ,,' ${STAGING_BINDIR_NATIVE}/tegra186-flash/l4t_bup_gen.func > ./l4t_bup_gen.func
- rm -rf signed
-
- # Sign all tegra bins
- signfile ""
-
- # any binary written to a partition that
- # has signing mandatory needs to be signed
- signfile " ${DTBNAME}-rootA.dtb"
- signfile " ${DTBNAME}-rootB.dtb"
-
- # Needed to embedd plain initramfs kernel and dtb to main image
- cp ${LNXFILE} ${DEPLOY_DIR_IMAGE}/bootfiles/Image
- cp -r ${DTBNAME}-root*.dtb ${DEPLOY_DIR_IMAGE}/bootfiles/
- cp ${WORKDIR}/resinOS-flash194.xml ${DEPLOY_DIR_IMAGE}/bootfiles/flash.xml
- cp -r signed/* ${DEPLOY_DIR_IMAGE}/bootfiles/
- cp -r ${DTBNAME}-root*_sigheader.dtb.encrypt ${DEPLOY_DIR_IMAGE}/bootfiles/
- dd if=/dev/zero of="${DEPLOY_DIR_IMAGE}/bootfiles/bmp.blob" bs=1K count=1
-
- # This is the Xavier boot0, which wasn't necessary for HUP from L4T 31.x to 32.3.1,
- # but becomes when moving to L4T 32.4.2 or newer.
- cp ${WORKDIR}/${BOOT_BLOB} ${DEPLOY_DIR_IMAGE}/bootfiles/
-}
-
-
-do_install() {
- install -d ${D}/${BINARY_INSTALL_PATH}
- cp -r ${S}/tegraflash/signed/* ${D}/${BINARY_INSTALL_PATH}
- rm ${D}/${BINARY_INSTALL_PATH}/boot*im*
- cp ${S}/tegraflash/${DTBNAME}-rootA.dtb ${D}/${BINARY_INSTALL_PATH}/
- cp ${DEPLOY_DIR_IMAGE}/bootfiles/boot_sigheader.img.encrypt ${D}/${BINARY_INSTALL_PATH}/
- cp ${WORKDIR}/partition_specification194.txt ${D}/${BINARY_INSTALL_PATH}/
- cp -r ${S}/tegraflash/${DTBNAME}-root*sigheader.dtb.encrypt ${D}/${BINARY_INSTALL_PATH}
- # When generating image, this will be default dtb containing cmdline with root set to resin-rootA
- cp ${S}/tegraflash/${DTBNAME}-rootA_sigheader.dtb.encrypt ${DEPLOY_DIR_IMAGE}/bootfiles/${DTBNAME}_sigheader.dtb.encrypt
-}
-
-do_deploy() {
- rm -rf ${DEPLOYDIR}/$(basename ${BINARY_INSTALL_PATH})
- mkdir -p ${DEPLOYDIR}/$(basename ${BINARY_INSTALL_PATH})
- cp -r ${D}/${BINARY_INSTALL_PATH}/* ${DEPLOYDIR}/$(basename ${BINARY_INSTALL_PATH})
-}
-
-FILES:${PN} += "${BINARY_INSTALL_PATH}"
-
-INHIBIT_PACKAGE_STRIP = "1"
-INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-
-# Binaries copied to DEPLOY_DIR_IMAGE
-# to be included in the boot partition
-# need to be redeployed on each build
-# as this path is not cached
-do_install[nostamp] = "1"
-do_deploy[nostamp] = "1"
-do_configure[nostamp] = "1"
-
-do_configure[depends] += " tegra-binaries:do_preconfigure"
-do_configure[depends] += " virtual/kernel:do_deploy \
- virtual/bootloader:do_deploy \
-"
-do_configure[depends] += " cboot:do_deploy"
-do_configure[depends] += " tos-prebuilt:do_deploy"
-
-do_install[depends] += " virtual/kernel:do_deploy"
-do_populate_lic[depends] += "tegra-binaries:do_unpack"
-
-addtask do_deploy before do_package after do_install
-
-COMPATIBLE_MACHINE = "jetson-xavier"
diff --git a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/tegra194-nxde-flash-dry_32.7.3.bb b/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/tegra194-nxde-flash-dry_32.7.3.bb
deleted file mode 100644
index c3db8a61a..000000000
--- a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/tegra194-nxde-flash-dry_32.7.3.bb
+++ /dev/null
@@ -1,310 +0,0 @@
-SUMMARY = "Create flash artifacts without flashing the Jetson NX Devkit eMMC"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${BALENA_COREBASE}/COPYING.Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-IMAGE_ROOTFS_ALIGNMENT ?= "4"
-
-BOOT_BLOB = "boot0xavier_nx_emmc.bin.gz"
-
-DEPENDS = " \
- coreutils-native \
- virtual/bootloader \
- virtual/kernel \
- tegra-binaries \
- tegra-bootfiles \
- tegra194-flashtools-native \
- dtc-native \
- virtual/bootlogo \
- "
-
-inherit deploy python3native perlnative
-
-SRC_URI = " \
- file://resinOS-flash194_nxde.xml \
- file://partition_specification194_nxde.txt \
- file://${BOOT_BLOB};;unpack=0 \
-"
-
-FLASHXML = "resinOS-flash194_nxde.xml"
-DTBNAME = "tegra194-p3668-all-p3509-0000"
-DTBNAME:photon-xavier-nx = "tegra194-xavier-nx-cti-NGX003"
-DTBNAME_cnx100-xavier-nx = "tegra194-xavier-nx-cnx100"
-KERNEL_DEVICETREE = "${DEPLOY_DIR_IMAGE}/${DTBNAME}.dtb"
-DTBFILE ?= "${@os.path.basename(d.getVar('KERNEL_DEVICETREE', True).split()[0])}"
-LNXSIZE ?= "67108864"
-
-IMAGE_TEGRAFLASH_FS_TYPE ??= "ext4"
-IMAGE_TEGRAFLASH_ROOTFS ?= "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${IMAGE_TEGRAFLASH_FS_TYPE}"
-
-LDK_DIR = "${TMPDIR}/work-shared/L4T-${SOC_FAMILY}-${PV}-${PR}/Linux_for_Tegra"
-B = "${WORKDIR}/build"
-S = "${WORKDIR}"
-LNXFILE="${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin"
-IMAGE_TEGRAFLASH_KERNEL ?= "${DEPLOY_DIR_IMAGE}/${LNXFILE}"
-BINARY_INSTALL_PATH = "/opt/tegra-binaries"
-
-OS_KERNEL_CMDLINE = "${@bb.utils.contains('DISTRO_FEATURES','osdev-image','console=ttyTHS0,115200n8 console=tty1 debug loglevel=7','console=null quiet splash vt.global_cursor_default=0 consoleblank=0',d)}"
-ROOTA_ARGS="root=LABEL=resin-rootA ro rootwait rootfstype=ext4 ${KERNEL_ARGS} ${OS_KERNEL_CMDLINE}"
-ROOTB_ARGS="root=LABEL=resin-rootB ro rootwait rootfstype=ext4 ${KERNEL_ARGS} ${OS_KERNEL_CMDLINE}"
-
-BOOTFILES = "\
- adsp-fw.bin \
- bpmp_t194.bin \
- camera-rtcpu-rce.img \
- eks.img \
- mb1_t194_prod.bin \
- nvtboot_applet_t194.bin \
- nvtboot_t194.bin \
- preboot_c10_prod_cr.bin \
- mce_c10_prod_cr.bin \
- mts_c10_prod_cr.bin \
- nvtboot_cpu_t194.bin \
- nvtboot_recovery_t194.bin \
- nvtboot_recovery_cpu_t194.bin \
- preboot_d15_prod_cr.bin \
- slot_metadata.bin \
- spe_t194.bin \
- warmboot_t194_prod.bin \
- xusb_sil_rel_fw \
-"
-
-signfile() {
- local destdir="${WORKDIR}/tegraflash"
- local lnxfile="${LNXFILE}"
- local f
- PATH="${STAGING_BINDIR_NATIVE}/tegra186-flash:${PATH}"
- export cbootfilename=cboot_t194.bin
-
- export BOARDID=${TEGRA_BOARDID}
- export FAB=${TEGRA_FAB}
- export localbootfile=boot.img
-
- cp ${STAGING_DATADIR}/tegraflash/flashvars .
- . ./flashvars
-
- export bins=" mb2_bootloader nvtboot_recovery_t194.bin; \
- mts_preboot preboot_c10_prod_cr.bin; \
- mts_mce mce_c10_prod_cr.bin; \
- mts_proper mts_c10_prod_cr.bin; \
- bpmp_fw bpmp_t194.bin; \
- bpmp_fw_dtb tegra194-a02-bpmp-p3668-a00.dtb; \
- spe_fw spe_t194.bin; \
- tlk tos-trusty_t194.img; \
- eks eks.img; \
- bootloader_dtb ${DTBFILE}"
-
- cat flash.xml.in | sed \
- -e"s,LNXFILE,${localbootfile}," -e"s,LNXSIZE,${LNXSIZE}," \
- -e"s,TEGRABOOT,nvtboot_t194.bin," \
- -e"s,MTSPREBOOT,preboot_c10_prod_cr.bin," \
- -e"s,MTS_MCE,mce_c10_prod_cr.bin," \
- -e"s,MTSPROPER,mts_c10_prod_cr.bin," \
- -e"s,MB1FILE,mb1_t194_prod.bin," \
- -e"s,BPFFILE,bpmp_t194.bin," \
- -e"s,BPFDTB_FILE,tegra194-a02-bpmp-p3668-a00.dtb," \
- -e"s,TBCFILE,$cbootfilename," \
- -e"s,TBCDTB-FILE,${DTBFILE}," \
- -e"s,CAMERAFW,camera-rtcpu-rce.img," \
- -e"s,SPEFILE,spe_t194.bin," \
- -e"s,VERFILE,bsp_version," \
- -e"s,WB0BOOT,warmboot_t194_prod.bin," \
- -e"s,TOSFILE,tos-trusty_t194.img," \
- -e"s,EKSFILE,eks.img," \
- -e"s, DTB_FILE, ${DTBFILE}," \
- -e"s,RECNAME,recovery," -e"s,RECSIZE,66060288," -e"s,RECDTB-NAME,recovery-dtb," -e"s,BOOTCTRLNAME,kernel-bootctrl," \
- -e"/RECFILE/d" -e"/RECDTB-FILE/d" -e"/BOOTCTRL-FILE/d" \
- > $destdir/flash.xml
-
-
- tegraflashpy=$(which tegraflash.py)
-
- python3 $tegraflashpy --bl nvtboot_recovery_cpu_t194.bin \
- --sdram_config tegra194-mb1-bct-memcfg-p3668-0001-a00.cfg,tegra194-memcfg-sw-override.cfg \
- --odmdata 0xB8190000 \
- --applet mb1_t194_prod.bin \
- --cmd "sign$1" \
- --soft_fuses tegra194-mb1-soft-fuses-l4t.cfg \
- --cfg flash.xml \
- --chip 0x19 \
- --device_config tegra19x-mb1-bct-device-qspi-p3668.cfg \
- --misc_cold_boot_config tegra194-mb1-bct-misc-l4t.cfg \
- --misc_config tegra194-mb1-bct-misc-flash.cfg \
- --pinmux_config tegra19x-mb1-pinmux-p3668-a01.cfg \
- --gpioint_config tegra194-mb1-bct-gpioint-p3668-0001-a00.cfg \
- --pmic_config tegra194-mb1-bct-pmic-p3668-0001-a00.cfg \
- --pmc_config tegra19x-mb1-padvoltage-p3668-a01.cfg \
- --prod_config tegra19x-mb1-prod-p3668-0001-a00.cfg \
- --scr_config tegra194-mb1-bct-scr-cbb-mini-p3668.cfg \
- --scr_cold_boot_config tegra194-mb1-bct-scr-cbb-mini-p3668.cfg \
- --br_cmd_config tegra194-mb1-bct-reset-p3668-0001-a00.cfg \
- --dev_params tegra194-br-bct-qspi.cfg \
- --bin "${bins}"
-}
-
-do_configure() {
- local destdir="${WORKDIR}/tegraflash"
- local lnxfile="${LNXFILE}"
- local f
- PATH="${STAGING_BINDIR_NATIVE}/tegra186-flash:${PATH}"
- rm -rf "${WORKDIR}/tegraflash"
- mkdir -p "${WORKDIR}/tegraflash"
- oldwd=`pwd`
- cd "${WORKDIR}/tegraflash"
- ln -sf "${STAGING_DATADIR}/tegraflash/bsp_version" .
- ln -s "${STAGING_DATADIR}/tegraflash/${MACHINE}.cfg" .
- ln -s "${STAGING_DATADIR}/tegraflash/${MACHINE}-override.cfg" .
- ln -s "${DEPLOY_DIR_IMAGE}/cboot-${MACHINE}.bin" ./cboot_t194.bin
- ln -s "${DEPLOY_DIR_IMAGE}/tos-${MACHINE}.img" ./tos-trusty_t194.img
-
- cp "${DEPLOY_DIR_IMAGE}/bootlogo-${MACHINE}.blob" ./bmp.blob
- mkdir -p ${DEPLOY_DIR_IMAGE}/bootfiles
- cp ./cboot_t194.bin ${DEPLOY_DIR_IMAGE}/bootfiles/
- cp ./bmp.blob ${DEPLOY_DIR_IMAGE}/bootfiles/
-
- for f in ${BOOTFILES}; do
- ln -s "${STAGING_DATADIR}/tegraflash/$f" .
- cp "${STAGING_DATADIR}/tegraflash/$f" ${DEPLOY_DIR_IMAGE}/bootfiles/
- done
-
- cp ${STAGING_DATADIR}/tegraflash/flashvars .
- . ./flashvars
-
- for f in ${STAGING_DATADIR}/tegraflash/tegra19[4x]-*.cfg; do
- ln -s $f .
- cp $f ${DEPLOY_DIR_IMAGE}/bootfiles/
- done
-
- for f in ${STAGING_DATADIR}/tegraflash/tegra194-*-bpmp-*.dtb; do
- cp $f .
- done
-
- if [ -n "${NVIDIA_BOARD_CFG}" ]; then
- ln -s "${STAGING_DATADIR}/tegraflash/board_config_${MACHINE}.xml" .
- boardcfg=board_config_${MACHINE}.xml
- else
- boardcfg=
- fi
- export boardcfg
-
- sed -i -e "s/\[DTBNAME\]/${DTBNAME}/g" ${WORKDIR}/partition_specification194_nxde.txt
-
- ln -s ${STAGING_BINDIR_NATIVE}/tegra186-flash .
-
- cp "${DEPLOY_DIR_IMAGE}/${DTBFILE}" ./${DTBFILE}
-
- # This one is used to ensure carrier boards have
- # the same bldtb, so that the generated boot0.img
- # has valid signatures.
- cp "${DEPLOY_DIR_IMAGE}/tegra194-p3668-all-p3509-0000.dtb" .
-
- # These reside on the eMMC, can differ from bldtb
- cp ./${DTBFILE} ./${DTBNAME}-rootA.dtb
- cp ./${DTBFILE} ./${DTBNAME}-rootB.dtb
-
- # Add rootA/rootB and save as separate dtbs to be used when
- # switching partitions
- bootargs="`fdtget ./${DTBFILE} /chosen bootargs 2>/dev/null`"
- fdtput -t s ./${DTBNAME}-rootA.dtb /chosen bootargs "$bootargs ${ROOTA_ARGS} "
- fdtput -t s ./${DTBNAME}-rootB.dtb /chosen bootargs "$bootargs ${ROOTB_ARGS} "
-
- # Need to switch back to default values from flashing, otherwise bootloader dtb offset inside boot0.img will
- # change and will generate signature failure in MB2.
- bldtbchosenargs="console=ttyTCU0,115200"
- bldtbdtsname="/dvs/git/dirty/git-master_linux/kernel/kernel-4.9/arch/arm64/boot/dts/../../../../../../hardware/nvidia/platform/t19x/jakku/kernel-dts/tegra194-p3668-all-p3509-0000.dts"
-
- # Do not overide this hardcoded dtb for carrier boards, this is used for bldtb in boot0.img
- fdtput -t s ./tegra194-p3668-all-p3509-0000.dtb / "nvidia,dtsfilename" $bldtbdtsname
- fdtput -t s ./tegra194-p3668-all-p3509-0000.dtb /chosen bootargs $bldtbchosenargs
-
- # Make bootable image from kernel and sign it
- cp ${DEPLOY_DIR_IMAGE}/${LNXFILE} ${LNXFILE}
- ln -sf ${STAGING_BINDIR_NATIVE}/tegra186-flash/mkbootimg ./
-
- # mkbootimg really needs initrd, even if empty
- touch initrd
- ./mkbootimg --kernel ${LNXFILE} --ramdisk initrd --board mmcblk0p1 --output boot.img
-
- # prepare flash.xml.in to be used in signing
- cp ${WORKDIR}/${FLASHXML} flash.xml.in
-
- # prep env for tegraflash
- rm -f ./slot_metadata.bin
- cp ${STAGING_DATADIR}/tegraflash/slot_metadata.bin ./
- mkdir ./rollback
-
- ln -sf ${STAGING_BINDIR_NATIVE}/tegra186-flash/rollback_parser.py ./rollback/
- ln -snf ${STAGING_DATADIR}/nv_tegra/rollback/t${@d.getVar('NVIDIA_CHIP')[2:]}x ./rollback/
- ln -sf ${STAGING_BINDIR_NATIVE}/tegra186-flash/BUP_generator.py ./
- ln -sf ${STAGING_BINDIR_NATIVE}/tegra186-flash/${SOC_FAMILY}-flash-helper.sh ./
- ln -sf ${STAGING_BINDIR_NATIVE}/tegra186-flash/tegraflash.py ./
-
- # bup is based on the rootfs, which is not built at this point
- # not using it for the moment
- # sed -e 's,^function ,,' ${STAGING_BINDIR_NATIVE}/tegra186-flash/l4t_bup_gen.func > ./l4t_bup_gen.func
- rm -rf signed
-
- # Sign all tegra bins
- signfile
-
- signfile " ${DTBNAME}-rootA.dtb"
- signfile " ${DTBNAME}-rootB.dtb"
-
- # Used in boot0.img
- signfile " tegra194-p3668-all-p3509-0000.dtb"
-
- # Needed to embedd plain initramfs kernel and dtb to main image
- cp $localbootfile ${DEPLOY_DIR_IMAGE}/bootfiles/Image
-
- cp -r ${DTBNAME}-root*.dtb* ${DEPLOY_DIR_IMAGE}/bootfiles/
- cp ${WORKDIR}/${FLASHXML} ${DEPLOY_DIR_IMAGE}/bootfiles/flash.xml
- cp -r signed/* ${DEPLOY_DIR_IMAGE}/bootfiles/
- cp tegra194-p3668-all-p3509-0000_sigheader.dtb.encrypt ${DEPLOY_DIR_IMAGE}/bootfiles/
-
- zcat ${WORKDIR}/${BOOT_BLOB} > boot0.img
-}
-
-do_install() {
- install -d ${D}/${BINARY_INSTALL_PATH}
- cp -r ${S}/tegraflash/signed/* ${D}/${BINARY_INSTALL_PATH}
-
- cp ${S}/tegraflash/${DTBNAME}-rootA.dtb ${D}/${BINARY_INSTALL_PATH}/
- cp ${WORKDIR}/partition_specification194_nxde.txt ${D}/${BINARY_INSTALL_PATH}/
- cp -r ${S}/tegraflash/${DTBNAME}-root*sigheader.dtb.encrypt ${D}/${BINARY_INSTALL_PATH}
- cp ${S}/tegraflash/boot0.img ${D}/${BINARY_INSTALL_PATH}
- # When generating image, this will be default dtb containing cmdline with root set to resin-rootA
- cp ${S}/tegraflash/${DTBNAME}-rootA_sigheader.dtb.encrypt ${DEPLOY_DIR_IMAGE}/bootfiles/${DTBNAME}_sigheader.dtb.encrypt
-}
-
-do_deploy() {
- rm -rf ${DEPLOYDIR}/$(basename ${BINARY_INSTALL_PATH})
- mkdir -p ${DEPLOYDIR}/$(basename ${BINARY_INSTALL_PATH})
- cp -r ${D}/${BINARY_INSTALL_PATH}/* ${DEPLOYDIR}/$(basename ${BINARY_INSTALL_PATH})
-}
-
-FILES:${PN} += "${BINARY_INSTALL_PATH}"
-
-INHIBIT_PACKAGE_STRIP = "1"
-INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-
-# Binaries copied to DEPLOY_DIR_IMAGE
-# to be included in the boot partition
-# need to be redeployed on each build
-# as this path is not cached
-do_install[nostamp] = "1"
-do_deploy[nostamp] = "1"
-do_configure[nostamp] = "1"
-
-do_configure[depends] += " tegra-binaries:do_preconfigure"
-do_configure[depends] += " virtual/kernel:do_deploy \
- virtual/bootloader:do_deploy \
-"
-do_configure[depends] += " cboot:do_deploy"
-do_configure[depends] += " tos-prebuilt:do_deploy"
-
-do_install[depends] += " virtual/kernel:do_deploy"
-do_populate_lic[depends] += "tegra-binaries:do_unpack"
-
-addtask do_deploy before do_package after do_install
-
-COMPATIBLE_MACHINE = "jetson-xavier-nx-devkit-emmc"
diff --git a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/tegra194-nxde-sdcard-flash_32.7.3.bb b/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/tegra194-nxde-sdcard-flash_32.7.3.bb
deleted file mode 100644
index 6490bea18..000000000
--- a/layers/meta-balena-jetson/recipes-bsp/tegra-binaries/tegra194-nxde-sdcard-flash_32.7.3.bb
+++ /dev/null
@@ -1,418 +0,0 @@
-SUMMARY = "Create flash artifacts without flashing the Jetson NX Devkit SD-CARD"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${BALENA_COREBASE}/COPYING.Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-IMAGE_ROOTFS_ALIGNMENT ?= "4"
-
-DEPENDS = " \
- coreutils-native \
- virtual/bootloader \
- virtual/kernel \
- tegra-binaries \
- tegra-bootfiles \
- tegra194-flashtools-native \
- dtc-native \
- virtual/bootlogo \
- "
-
-inherit deploy python3native perlnative
-
-BOOT_BINDIFF="boot0_t194_nx_sd.bindiff"
-
-SRC_URI = " \
- file://resinOS-flash194_nxde_sdcard.xml \
- file://partition_specification194_nxde_sdcard.txt \
- file://boot0_t194_nx_sd.bindiff \
-"
-
-FLASHXML = "resinOS-flash194_nxde_sdcard.xml"
-DTBNAME = "tegra194-p3668-all-p3509-0000"
-DTBNAME:jetson-xavier-nx-devkit-seeed-2mic-hat = "tegra194-p3668-all-p3509-0000-seeed-2mic-hat"
-KERNEL_DEVICETREE = "${DEPLOY_DIR_IMAGE}/${DTBNAME}.dtb"
-DTBFILE ?= "${@os.path.basename(d.getVar('KERNEL_DEVICETREE', True).split()[0])}"
-LNXSIZE ?= "67108864"
-
-IMAGE_TEGRAFLASH_FS_TYPE ??= "ext4"
-IMAGE_TEGRAFLASH_ROOTFS ?= "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${IMAGE_TEGRAFLASH_FS_TYPE}"
-
-LDK_DIR = "${TMPDIR}/work-shared/L4T-${SOC_FAMILY}-${PV}-${PR}/Linux_for_Tegra"
-B = "${WORKDIR}/build"
-S = "${WORKDIR}"
-LNXFILE="${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin"
-IMAGE_TEGRAFLASH_KERNEL ?= "${DEPLOY_DIR_IMAGE}/${LNXFILE}"
-BINARY_INSTALL_PATH = "/opt/tegra-binaries"
-
-OS_KERNEL_CMDLINE = "${@bb.utils.contains('DISTRO_FEATURES','osdev-image','console=ttyTHS0,115200n8 console=tty1 debug loglevel=7','console=null quiet splash vt.global_cursor_default=0 consoleblank=0',d)}"
-ROOTA_ARGS="root=LABEL=resin-rootA ro rootwait rootfstype=ext4 ${KERNEL_ARGS} ${OS_KERNEL_CMDLINE}"
-ROOTB_ARGS="root=LABEL=resin-rootB ro rootwait rootfstype=ext4 ${KERNEL_ARGS} ${OS_KERNEL_CMDLINE}"
-
-BOOTFILES = "\
- adsp-fw.bin \
- bpmp_t194.bin \
- camera-rtcpu-rce.img \
- eks.img \
- mb1_t194_prod.bin \
- nvtboot_applet_t194.bin \
- nvtboot_t194.bin \
- preboot_c10_prod_cr.bin \
- mce_c10_prod_cr.bin \
- mts_c10_prod_cr.bin \
- nvtboot_cpu_t194.bin \
- nvtboot_recovery_t194.bin \
- nvtboot_recovery_cpu_t194.bin \
- preboot_d15_prod_cr.bin \
- slot_metadata.bin \
- spe_t194.bin \
- warmboot_t194_prod.bin \
- xusb_sil_rel_fw \
-"
-
-signfile() {
- local destdir="${WORKDIR}/tegraflash"
- local lnxfile="${LNXFILE}"
- local f
- PATH="${STAGING_BINDIR_NATIVE}/tegra186-flash:${PATH}"
- export cbootfilename=cboot_t194.bin
-
- export BOARDID=${TEGRA_BOARDID}
- export FAB=${TEGRA_FAB}
- export localbootfile=boot.img
-
- cp ${STAGING_DATADIR}/tegraflash/flashvars .
- . ./flashvars
-
- export bins=" mb2_bootloader nvtboot_recovery_t194.bin; \
- mts_preboot preboot_c10_prod_cr.bin; \
- mts_mce mce_c10_prod_cr.bin; \
- mts_proper mts_c10_prod_cr.bin; \
- bpmp_fw bpmp_t194.bin; \
- bpmp_fw_dtb tegra194-a02-bpmp-p3668-a00.dtb; \
- spe_fw spe_t194.bin; \
- tlk tos-trusty_t194.img; \
- eks eks.img; \
- bootloader_dtb ${DTBFILE}"
-
- cat flash.xml.in | sed \
- -e"s,LNXFILE,${localbootfile}," -e"s,LNXSIZE,${LNXSIZE}," \
- -e"s,TEGRABOOT,nvtboot_t194.bin," \
- -e"s,MTSPREBOOT,preboot_c10_prod_cr.bin," \
- -e"s,MTS_MCE,mce_c10_prod_cr.bin," \
- -e"s,MTSPROPER,mts_c10_prod_cr.bin," \
- -e"s,MB1FILE,mb1_t194_prod.bin," \
- -e"s,BPFFILE,bpmp_t194.bin," \
- -e"s,BPFDTB_FILE,tegra194-a02-bpmp-p3668-a00.dtb," \
- -e"s,TBCFILE,$cbootfilename," \
- -e"s,TBCDTB-FILE,${DTBFILE}," \
- -e"s,CAMERAFW,camera-rtcpu-rce.img," \
- -e"s,SPEFILE,spe_t194.bin," \
- -e"s,VERFILE,bsp_version," \
- -e"s,WB0BOOT,warmboot_t194_prod.bin," \
- -e"s,TOSFILE,tos-trusty_t194.img," \
- -e"s,EKSFILE,eks.img," \
- -e"s, DTB_FILE, ${DTBFILE}," \
- -e"s,RECNAME,recovery," \
- -e"s,RECSIZE,66060288," \
- -e"s,RECDTB-NAME,recovery-dtb," \
- -e"s,BOOTCTRLNAME,kernel-bootctrl," \
- -e"/RECFILE/d" -e"/RECDTB-FILE/d" -e"/BOOTCTRL-FILE/d" \
- > $destdir/flash.xml
-
- tegraflashpy=$(which tegraflash.py)
-
- python3 $tegraflashpy --bl nvtboot_recovery_cpu_t194.bin \
- --sdram_config tegra194-mb1-bct-memcfg-p3668-0001-a00.cfg,tegra194-memcfg-sw-override.cfg \
- --odmdata 0xB8190000 \
- --applet mb1_t194_prod.bin \
- --cmd "sign$1" \
- --soft_fuses tegra194-mb1-soft-fuses-l4t.cfg \
- --cfg flash.xml \
- --chip 0x19 \
- --device_config tegra19x-mb1-bct-device-qspi-p3668.cfg \
- --misc_cold_boot_config tegra194-mb1-bct-misc-l4t.cfg \
- --misc_config tegra194-mb1-bct-misc-flash.cfg \
- --pinmux_config tegra19x-mb1-pinmux-p3668-a01.cfg \
- --gpioint_config tegra194-mb1-bct-gpioint-p3668-0001-a00.cfg \
- --pmic_config tegra194-mb1-bct-pmic-p3668-0001-a00.cfg \
- --pmc_config tegra19x-mb1-padvoltage-p3668-a01.cfg \
- --prod_config tegra19x-mb1-prod-p3668-0001-a00.cfg \
- --scr_config tegra194-mb1-bct-scr-cbb-mini-p3668.cfg \
- --scr_cold_boot_config tegra194-mb1-bct-scr-cbb-mini-p3668.cfg \
- --br_cmd_config tegra194-mb1-bct-reset-p3668-0001-a00.cfg \
- --dev_params tegra194-br-bct-qspi.cfg \
- --bin "${bins}"
-}
-
-do_configure() {
- local destdir="${WORKDIR}/tegraflash"
- local lnxfile="${LNXFILE}"
- local f
- PATH="${STAGING_BINDIR_NATIVE}/tegra186-flash:${PATH}"
- rm -rf "${WORKDIR}/tegraflash"
- mkdir -p "${WORKDIR}/tegraflash"
- oldwd=`pwd`
- cd "${WORKDIR}/tegraflash"
- ln -sf "${STAGING_DATADIR}/tegraflash/bsp_version" .
- ln -s "${STAGING_DATADIR}/tegraflash/${MACHINE}.cfg" .
- ln -s "${STAGING_DATADIR}/tegraflash/${MACHINE}-override.cfg" .
- ln -s "${DEPLOY_DIR_IMAGE}/cboot-${MACHINE}.bin" ./cboot_t194.bin
- ln -s "${DEPLOY_DIR_IMAGE}/tos-${MACHINE}.img" ./tos-trusty_t194.img
- cp "${DEPLOY_DIR_IMAGE}/bootlogo-${MACHINE}.blob" ./bmp.blob
- mkdir -p ${DEPLOY_DIR_IMAGE}/bootfiles
- cp ./cboot_t194.bin ${DEPLOY_DIR_IMAGE}/bootfiles/
- cp ./bmp.blob ${DEPLOY_DIR_IMAGE}/bootfiles/
-
- for f in ${BOOTFILES}; do
- ln -s "${STAGING_DATADIR}/tegraflash/$f" .
- cp "${STAGING_DATADIR}/tegraflash/$f" ${DEPLOY_DIR_IMAGE}/bootfiles/
- done
-
- cp ${STAGING_DATADIR}/tegraflash/flashvars .
- . ./flashvars
-
- for f in ${STAGING_DATADIR}/tegraflash/tegra19[4x]-*.cfg; do
- ln -s $f .
- cp $f ${DEPLOY_DIR_IMAGE}/bootfiles/
- done
-
- for f in ${STAGING_DATADIR}/tegraflash/tegra194-*-bpmp-*.dtb; do
- cp $f .
- done
-
- if [ -n "${NVIDIA_BOARD_CFG}" ]; then
- ln -s "${STAGING_DATADIR}/tegraflash/board_config_${MACHINE}.xml" .
- boardcfg=board_config_${MACHINE}.xml
- else
- boardcfg=
- fi
- export boardcfg
-
- sed -i -e "s/\[DTBNAME\]/${DTBNAME}/g" ${WORKDIR}/partition_specification194_nxde_sdcard.txt
-
- ln -s ${STAGING_BINDIR_NATIVE}/tegra186-flash .
-
- cp "${DEPLOY_DIR_IMAGE}/${DTBFILE}" ./${DTBFILE}
-
- # This one is used to ensure carrier boards have
- # the same bldtb, so that the generated boot0.img
- # has valid signatures.
- cp "${DEPLOY_DIR_IMAGE}/tegra194-p3668-all-p3509-0000.dtb" .
-
- # These reside on the eMMC, can differ from bldtb
- cp ./${DTBFILE} ./${DTBNAME}-rootA.dtb
- cp ./${DTBFILE} ./${DTBNAME}-rootB.dtb
-
- # Add rootA/rootB and save as separate dtbs to be used when
- # switching partitions
- bootargs="`fdtget ./${DTBFILE} /chosen bootargs 2>/dev/null`"
- fdtput -t s ./${DTBNAME}-rootA.dtb /chosen bootargs "$bootargs ${ROOTA_ARGS} "
- fdtput -t s ./${DTBNAME}-rootB.dtb /chosen bootargs "$bootargs ${ROOTB_ARGS} "
-
- # Need to switch back to default values from flashing, otherwise bootloader dtb offset inside boot0.img will
- # change and will generate signature failure in MB2.
- bldtbchosenargs="console=ttyTCU0,115200"
- bldtbdtsname="/dvs/git/dirty/git-master_linux/kernel/kernel-4.9/arch/arm64/boot/dts/../../../../../../hardware/nvidia/platform/t19x/jakku/kernel-dts/tegra194-p3668-all-p3509-0000.dts"
-
- # Do not overide this hardcoded dtb for any carrier boards, because it is used for bldtb in boot0.img
- fdtput -t s ./tegra194-p3668-all-p3509-0000.dtb / "nvidia,dtsfilename" $bldtbdtsname
- fdtput -t s ./tegra194-p3668-all-p3509-0000.dtb /chosen bootargs $bldtbchosenargs
-
- # Make bootable image from kernel and sign it
- cp ${DEPLOY_DIR_IMAGE}/${LNXFILE} ${LNXFILE}
- ln -sf ${STAGING_BINDIR_NATIVE}/tegra186-flash/mkbootimg ./
- # mkbootimg really needs initrd, even if empty
- touch initrd
- ./mkbootimg --kernel ${LNXFILE} --ramdisk initrd --board mmcblk0p1 --output boot.img
-
- # prepare flash.xml.in to be used in signing
- cp ${WORKDIR}/${FLASHXML} flash.xml.in
-
- # prep env for tegraflash
- rm -f ./slot_metadata.bin
- cp ${STAGING_DATADIR}/tegraflash/slot_metadata.bin ./
- mkdir ./rollback
-
- ln -sf ${STAGING_BINDIR_NATIVE}/tegra186-flash/rollback_parser.py ./rollback/
- ln -snf ${STAGING_DATADIR}/nv_tegra/rollback/t${@d.getVar('NVIDIA_CHIP')[2:]}x ./rollback/
- ln -sf ${STAGING_BINDIR_NATIVE}/tegra186-flash/BUP_generator.py ./
- ln -sf ${STAGING_BINDIR_NATIVE}/tegra186-flash/${SOC_FAMILY}-flash-helper.sh ./
- ln -sf ${STAGING_BINDIR_NATIVE}/tegra186-flash/tegraflash.py ./
-
- rm -rf signed
-
- # Sign all tegra bins
- signfile
-
- signfile " ${DTBNAME}-rootA.dtb"
- signfile " ${DTBNAME}-rootB.dtb"
-
- # Used in boot0.img
- signfile " tegra194-p3668-all-p3509-0000.dtb"
-
- # Needed to embedd plain initramfs kernel and dtb to main image
- cp $localbootfile ${DEPLOY_DIR_IMAGE}/bootfiles/Image
-
- cp -r ${DTBNAME}-root*.dtb* ${DEPLOY_DIR_IMAGE}/bootfiles/
- cp ${WORKDIR}/${FLASHXML} ${DEPLOY_DIR_IMAGE}/bootfiles/flash.xml
- cp -r signed/* ${DEPLOY_DIR_IMAGE}/bootfiles/
- cp tegra194-p3668-all-p3509-0000_sigheader.dtb.encrypt ${DEPLOY_DIR_IMAGE}/bootfiles/
-
- dd if=/dev/zero count=1 bs=33554432 | tr "\000" "\377" > boot0.img
- dd if=/dev/zero bs=2887 count=1 of=boot0.img conv=notrunc
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/br_bct_BR.bct of=boot0.img conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/br_bct_BR.bct of=boot0.img seek=4096 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/br_bct_BR.bct of=boot0.img seek=32768 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/br_bct_BR.bct of=boot0.img seek=65536 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/br_bct_BR.bct of=boot0.img seek=98304 bs=1 conv=notrunc
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/mb1_t194_prod_sigheader.bin.encrypt of=boot0.img seek=131072 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/mb1_t194_prod_sigheader.bin.encrypt of=boot0.img seek=393216 bs=1 conv=notrunc
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/mb1_cold_boot_bct_MB1_sigheader.bct.encrypt of=boot0.img seek=655360 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/mb1_cold_boot_bct_MB1_sigheader.bct.encrypt of=boot0.img seek=720896 bs=1 conv=notrunc
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/mem_coldboot_sigheader.bct.encrypt of=boot0.img seek=786432 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/mem_coldboot_sigheader.bct.encrypt of=boot0.img seek=1048576 bs=1 conv=notrunc
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/spe_t194_sigheader.bin.encrypt of=boot0.img seek=1310720 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/spe_t194_sigheader.bin.encrypt of=boot0.img seek=1572864 bs=1 conv=notrunc
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/nvtboot_t194_sigheader.bin.encrypt of=boot0.img seek=1835008 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/nvtboot_t194_sigheader.bin.encrypt of=boot0.img seek=2097152 bs=1 conv=notrunc
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/preboot_c10_prod_cr_sigheader.bin.encrypt of=boot0.img seek=2359296 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/preboot_c10_prod_cr_sigheader.bin.encrypt of=boot0.img seek=2424832 bs=1 conv=notrunc
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/mce_c10_prod_cr_sigheader.bin.encrypt of=boot0.img seek=2490368 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/mce_c10_prod_cr_sigheader.bin.encrypt of=boot0.img seek=2686976 bs=1 conv=notrunc
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/mts_c10_prod_cr_sigheader.bin.encrypt of=boot0.img seek=2883584 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/mts_c10_prod_cr_sigheader.bin.encrypt of=boot0.img seek=7077888 bs=1 conv=notrunc
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/warmboot_t194_prod_sigheader.bin.encrypt of=boot0.img seek=11272192 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/warmboot_t194_prod_sigheader.bin.encrypt of=boot0.img seek=11403264 bs=1 conv=notrunc
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/slot_metadata.bin of=boot0.img seek=11534336 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/slot_metadata.bin of=boot0.img seek=11599872 bs=1 conv=notrunc
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/xusb_sil_rel_fw of=boot0.img seek=11665408 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/xusb_sil_rel_fw of=boot0.img seek=11862016 bs=1 conv=notrunc
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/cboot_t194_sigheader.bin.encrypt of=boot0.img seek=12058624 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/cboot_t194_sigheader.bin.encrypt of=boot0.img seek=13500416 bs=1 conv=notrunc
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/tegra194-p3668-all-p3509-0000_sigheader.dtb.encrypt of=boot0.img seek=14942208 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/tegra194-p3668-all-p3509-0000_sigheader.dtb.encrypt of=boot0.img seek=15400960 bs=1 conv=notrunc
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/bmp.blob of=boot0.img seek=15859712 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/bmp.blob of=boot0.img seek=16056320 bs=1 conv=notrunc
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/tos-trusty_t194_sigheader.img.encrypt of=boot0.img seek=16252928 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/tos-trusty_t194_sigheader.img.encrypt of=boot0.img seek=18874368 bs=1 conv=notrunc
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/eks_sigheader.img.encrypt of=boot0.img seek=21495808 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/eks_sigheader.img.encrypt of=boot0.img seek=21561344 bs=1 conv=notrunc
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/adsp-fw_sigheader.bin.encrypt of=boot0.img seek=21626880 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/adsp-fw_sigheader.bin.encrypt of=boot0.img seek=22675456 bs=1 conv=notrunc
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/camera-rtcpu-rce_sigheader.img.encrypt of=boot0.img seek=23724032 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/camera-rtcpu-rce_sigheader.img.encrypt of=boot0.img seek=24772608 bs=1 conv=notrunc
-
- # sce-fw empty both a+b
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/bpmp_t194_sigheader.bin.encrypt of=boot0.img seek=27918336 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/bpmp_t194_sigheader.bin.encrypt of=boot0.img seek=29491200 bs=1 conv=notrunc
-
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/tegra194-a02-bpmp-p3668-a00_sigheader.dtb.encrypt of=boot0.img seek=31064064 bs=1 conv=notrunc
- dd if=${DEPLOY_DIR_IMAGE}/bootfiles/tegra194-a02-bpmp-p3668-a00_sigheader.dtb.encrypt of=boot0.img seek=32112640 bs=1 conv=notrunc
-
- # boot option file is empty on a clean flashed board, will leave it here
- # for offset refference
- #dd if=${DEPLOY_DIR_IMAGE}/bootfiles/cbo.dtb seek=33161216 bs=1 conv=notrunc
- #dd if=${DEPLOY_DIR_IMAGE}/bootfiles/cbo.dtb seek=33226752 bs=1 conv=notrunc
-
- # For 32.6.1 /opt/tegra-binaries/boot0.img MD5 should have the same MD5
- # even if building images for compatible carrier boards. If it isn't identical,
- # then board won't boot after HUP.
- cp ${WORKDIR}/${BOOT_BINDIFF} .
- dd if=${BOOT_BINDIFF} of=boot0.img seek=14942224 bs=1 count=32 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=14945200 skip=32 bs=1 count=80 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=15400976 skip=112 bs=1 count=32 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=15400992 skip=144 bs=1 count=32 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=15403952 skip=176 bs=1 count=80 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=16252944 skip=256 bs=1 count=32 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=16255920 skip=288 bs=1 count=4 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=18874384 skip=292 bs=1 count=64 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=18877360 skip=356 bs=1 count=4 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=21495824 skip=360 bs=1 count=64 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=21498800 skip=424 bs=1 count=4 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=21561360 skip=428 bs=1 count=64 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=21564336 skip=492 bs=1 count=4 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=27918352 skip=496 bs=1 count=64 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=27921328 skip=560 bs=1 count=4 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=29491216 skip=564 bs=1 count=64 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=29494192 skip=628 bs=1 count=4 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=31064080 skip=632 bs=1 count=64 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=31067056 skip=696 bs=1 count=4 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=32112656 skip=700 bs=1 count=64 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=32115632 skip=764 bs=1 count=4 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=33292288 skip=768 bs=1 count=256 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=33357824 skip=1024 bs=1 count=256 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=33537536 skip=1280 bs=1 count=16896 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=14946816 skip=18176 bs=1 count=48 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=15101952 skip=18224 bs=1 count=128 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=15405568 skip=18352 bs=1 count=48 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=15560704 skip=18400 bs=1 count=128 conv=notrunc
-
- # Needed starting with 32.6.1
- dd if=${BOOT_BINDIFF} of=boot0.img seek=31067056 skip=18528 bs=1 count=16 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=31067104 skip=18544 bs=1 count=32 conv=notrunc
- dd if=${BOOT_BINDIFF} of=boot0.img seek=31068160 skip=18576 bs=1 count=64 conv=notrunc
-}
-
-do_install() {
- install -d ${D}/${BINARY_INSTALL_PATH}
- cp -r ${S}/tegraflash/signed/* ${D}/${BINARY_INSTALL_PATH}
-
- cp ${S}/tegraflash/${DTBNAME}-rootA.dtb ${D}/${BINARY_INSTALL_PATH}/
- cp ${WORKDIR}/partition_specification194_nxde_sdcard.txt ${D}/${BINARY_INSTALL_PATH}/
- cp -r ${S}/tegraflash/${DTBNAME}-root*sigheader.dtb.encrypt ${D}/${BINARY_INSTALL_PATH}
- cp ${S}/tegraflash/boot0.img ${D}/${BINARY_INSTALL_PATH}
- # When generating image, this will be default dtb containing cmdline with root set to resin-rootA
- cp ${S}/tegraflash/${DTBNAME}-rootA_sigheader.dtb.encrypt ${DEPLOY_DIR_IMAGE}/bootfiles/${DTBNAME}_sigheader.dtb.encrypt
-}
-
-do_deploy() {
- rm -rf ${DEPLOYDIR}/$(basename ${BINARY_INSTALL_PATH})
- mkdir -p ${DEPLOYDIR}/$(basename ${BINARY_INSTALL_PATH})
- cp -r ${D}/${BINARY_INSTALL_PATH}/* ${DEPLOYDIR}/$(basename ${BINARY_INSTALL_PATH})
-}
-
-FILES:${PN} += "${BINARY_INSTALL_PATH}"
-
-INHIBIT_PACKAGE_STRIP = "1"
-INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-
-# Binaries copied to DEPLOY_DIR_IMAGE
-# to be included in the boot partition
-# need to be redeployed on each build
-# as this path is not cached
-do_install[nostamp] = "1"
-do_deploy[nostamp] = "1"
-do_configure[nostamp] = "1"
-
-do_configure[depends] += " tegra-binaries:do_preconfigure"
-do_configure[depends] += " virtual/kernel:do_deploy \
- virtual/bootloader:do_deploy \
-"
-do_configure[depends] += " cboot:do_deploy"
-do_configure[depends] += " tos-prebuilt:do_deploy"
-
-do_install[depends] += " virtual/kernel:do_deploy"
-do_populate_lic[depends] += "tegra-binaries:do_unpack"
-
-addtask do_deploy before do_package after do_install
-
-COMPATIBLE_MACHINE = "jetson-xavier-nx-devkit"
diff --git a/layers/meta-balena-jetson/recipes-core/images/balena-image-initramfs.bbappend b/layers/meta-balena-jetson/recipes-core/images/balena-image-initramfs.bbappend
index 891ef0cb3..1260a76e0 100644
--- a/layers/meta-balena-jetson/recipes-core/images/balena-image-initramfs.bbappend
+++ b/layers/meta-balena-jetson/recipes-core/images/balena-image-initramfs.bbappend
@@ -5,9 +5,6 @@ PACKAGE_INSTALL:append = " tegra-firmware-xusb"
# the kernel size to allow for host extensions support for now.
#PACKAGE_INSTALL:append:jetson-tx1 = " kernel-module-bcmdhd"
PACKAGE_INSTALL:remove:jetson-tx1 = "tegra-firmware-xusb"
-PACKAGE_INSTALL:append:jetson-xavier = " util-linux-blockdev initramfs-module-blockdev"
-PACKAGE_INSTALL:append:jetson-xavier-nx-devkit-emmc = " util-linux-blockdev initramfs-module-blockdev"
-PACKAGE_INSTALL:append:jetson-xavier-nx-devkit = " util-linux-blockdev initramfs-module-blockdev"
PACKAGE_INSTALL:remove:astro-tx2 = " mdraid"
PACKAGE_INSTALL:remove:blackboard-tx2 = " mdraid"
diff --git a/layers/meta-balena-jetson/recipes-core/images/balena-image.bbappend b/layers/meta-balena-jetson/recipes-core/images/balena-image.bbappend
index 3d072671a..9b4d5db72 100644
--- a/layers/meta-balena-jetson/recipes-core/images/balena-image.bbappend
+++ b/layers/meta-balena-jetson/recipes-core/images/balena-image.bbappend
@@ -73,41 +73,6 @@ device_specific_configuration:jetson-nano-2gb-devkit() {
done
}
-# We leave this space way larger than currently
-# needed because other larger partitions are
-# added from one Jetpack release to another
-DEVICE_SPECIFIC_SPACE:jetson-xavier = "458752"
-
-# Binaries are signed and packed into
-# a partition and the flaser script
-# gets them from there. Can't store them
-# raw due to partition alignments which
-# trigger checksum mismatches during flash
-
-do_image:balenaos-img:jetson-xavier[depends] += " tegra194-flash-dry:do_deploy"
-device_specific_configuration:jetson-xavier() {
- partitions=$(cat ${DEPLOY_DIR_IMAGE}/tegra-binaries/partition_specification194.txt)
- NVIDIA_PART_OFFSET=20480
- START=${NVIDIA_PART_OFFSET}
- for n in ${partitions}; do
- part_name=$(echo $n | cut -d ':' -f 1)
- file_name=$(echo $n | cut -d ':' -f 2)
- part_size=$(echo $n | cut -d ':' -f 3)
- file_path=$(find ${DEPLOY_DIR_IMAGE}/bootfiles -name $file_name)
- END=$(expr ${START} \+ ${part_size} \- 1)
- echo "Will write $part_name from ${START} to ${END} part size: $part_size"
- parted -s ${BALENA_RAW_IMG} unit B mkpart $part_name ${START} ${END}
- # The padding partition exists to allow for the device specific space to
- # be a multiple of 4096. We don't write anything to it for the moment.
- if [ ! "$file_name" = "none.bin" ]; then
- check_size ${file_path} ${part_size}
- dd if=$file_path of=${BALENA_RAW_IMG} conv=notrunc seek=$(expr ${START} \/ 512) bs=512
- fi
- START=$(expr ${END} \+ 1)
- done
-
-}
-
NVIDIA_PART_OFFSET:jetson-tx2="4097"
DEVICE_SPECIFIC_SPACE:jetson-tx2="49152"
@@ -196,18 +161,3 @@ write_jetson_nx_partitions() {
START=$(expr ${END} \+ 1)
done
}
-
-# We leave this space way larger than currently
-# needed because other larger partitions can be
-# added from one Jetpack release to another
-DEVICE_SPECIFIC_SPACE:jetson-xavier-nx-devkit-emmc = "458752"
-do_image:balenaos-img:jetson-xavier-nx-devkit-emmc[depends] += " tegra194-nxde-flash-dry:do_deploy"
-device_specific_configuration:jetson-xavier-nx-devkit-emmc() {
- write_jetson_nx_partitions "partition_specification194_nxde.txt"
-}
-
-DEVICE_SPECIFIC_SPACE:jetson-xavier-nx-devkit = "458752"
-do_image:balenaos-img:jetson-xavier-nx-devkit[depends] += " tegra194-nxde-sdcard-flash:do_deploy"
-device_specific_configuration:jetson-xavier-nx-devkit() {
- write_jetson_nx_partitions "partition_specification194_nxde_sdcard.txt"
-}
diff --git a/layers/meta-balena-jetson/recipes-core/images/balena-image.inc b/layers/meta-balena-jetson/recipes-core/images/balena-image.inc
index 0567bb103..9b8cc6591 100644
--- a/layers/meta-balena-jetson/recipes-core/images/balena-image.inc
+++ b/layers/meta-balena-jetson/recipes-core/images/balena-image.inc
@@ -20,10 +20,7 @@ DTBFILE:jn30b-nano = "tegra210-p3448-0002-p3449-0000-b00-jn30b.dtb"
DTBFILE:photon-nano = "tegra210-nano-cti-NGX003.dtb"
DTBFILE:photon-tx2-nx = "tegra186-tx2-nx-cti-NGX003-IMX219-2CAM.dtb"
DTBFILE:floyd-nano="tegra210-p3448-0002-p3449-0000-b00-floyd-nano.dtb"
-DTBFILE:photon-xavier-nx = "tegra194-xavier-nx-cti-NGX003.dtb"
DTBFILE:cnx100-xavier-nx = "tegra194-xavier-nx-cnx100.dtb"
-DTBNAME:jetson-xavier="tegra194-p2888-0001-p2822-0000"
-DTBNAME:jetson-xavier-nx-devkit-seeed-2mic-hat="tegra194-p3668-all-p3509-0000-seeed-2mic-hat"
BALENA_BOOT_PARTITION_FILES:append = " \
dispatcher.d/50-sample-script:/dispatcher.d/50-sample-script \
@@ -48,54 +45,17 @@ BALENA_BOOT_PARTITION_FILES:append:jetson-nano = " ${NANO_BOOT_PARTITION_FILES}
BALENA_BOOT_PARTITION_FILES:append:jetson-nano-emmc = "${NANO_BOOT_PARTITION_FILES}"
BALENA_BOOT_PARTITION_FILES:append:jetson-nano-2gb-devkit = "${NANO_BOOT_PARTITION_FILES}"
-
-do_rootfs:balenaos-img:jetson-xavier[depends] += " tegra194-flash-dry:do_deploy "
-
-BALENA_BOOT_PARTITION_FILES:append:jetson-xavier = " \
- bootfiles/mb1_t194_prod_sigheader.bin.encrypt:/bootfiles/mb1_t194_prod_sigheader.bin.encrypt \
- bootfiles/spe_t194_sigheader.bin.encrypt:/bootfiles/spe_t194_sigheader.bin.encrypt \
- bootfiles/nvtboot_t194_sigheader.bin.encrypt:/bootfiles/nvtboot_t194_sigheader.bin.encrypt \
- bootfiles/preboot_c10_prod_cr_sigheader.bin.encrypt:/bootfiles/preboot_c10_prod_cr_sigheader.bin.encrypt \
- bootfiles/slot_metadata.bin:/bootfiles/slot_metadata.bin \
- bootfiles/bmp.blob:/bootfiles/bmp.blob \
- bootfiles/mce_c10_prod_cr_sigheader.bin.encrypt:/bootfiles/mce_c10_prod_cr_sigheader.bin.encrypt \
- bootfiles/mts_c10_prod_cr_sigheader.bin.encrypt:/bootfiles/mts_c10_prod_cr_sigheader.bin.encrypt \
- bootfiles/cboot_t194_sigheader.bin.encrypt:/bootfiles/cboot_t194_sigheader.bin.encrypt \
- bootfiles/tos-trusty_t194_sigheader.img.encrypt:/bootfiles/tos-trusty_t194_sigheader.img.encrypt \
- bootfiles/eks_sigheader.img.encrypt:/bootfiles/eks_sigheader.img.encrypt \
- bootfiles/bpmp_t194_sigheader.bin.encrypt:/bootfiles/bpmp_t194_sigheader.bin.encrypt \
- bootfiles/tegra194-a02-bpmp-p2888-a04_sigheader.dtb.encrypt:/bootfiles/tegra194-a02-bpmp-p2888-a04_sigheader.dtb.encrypt \
- bootfiles/xusb_sil_rel_fw:/bootfiles/xusb_sil_rel_fw \
- bootfiles/camera-rtcpu-rce_sigheader.img.encrypt:/bootfiles/camera-rtcpu-rce_sigheader.img.encrypt \
- bootfiles/adsp-fw_sigheader.bin.encrypt:/bootfiles/adsp-fw_sigheader.bin.encrypt \
- bootfiles/warmboot_t194_prod_sigheader.bin.encrypt:/bootfiles/warmboot_t194_prod_sigheader.bin.encrypt \
- bootfiles/${DTBNAME}-rootA_sigheader.dtb.encrypt:/bootfiles/${DTBNAME}-rootA_sigheader.dtb.encrypt \
- bootfiles/${DTBNAME}-rootB_sigheader.dtb.encrypt:/bootfiles/${DTBNAME}-rootB_sigheader.dtb.encrypt \
- bootfiles/boot0_t194.bin.gz:/bootfiles/boot0_t194.bin.gz \
- tegra-binaries/partition_specification194.txt:/bootfiles/partition_specification194.txt \
-"
-
do_rootfs:balenaos-img:jetson-tx2[depends] += " tegra186-flash-dry:do_deploy \
linux-tegra:do_deploy \
"
-do_rootfs:balenaos-img:jetson-xavier-nx-devkit-emmc[depends] += " tegra194-nxde-flash-dry:do_deploy "
-do_rootfs:balenaos-img:jetson-xavier-nx-devkit[depends] += " tegra194-nxde-sdcard-flash:do_deploy "
-
# The space resinOS takes will amount to 1GiB
IMAGE_ROOTFS_SIZE = "487424"
-# Bootloader blob is 32MB on the NX
-IMAGE_ROOTFS_SIZE:jetson-xavier-nx-devkit-emmc = "733184"
-IMAGE_ROOTFS_SIZE:jetson-xavier-nx-devkit = "733184"
-
# Need space for all the above signed update binaries
BALENA_BOOT_SIZE:jetson-nano = "80960"
BALENA_BOOT_SIZE:jetson-nano-2gb-devkit = "80960"
BALENA_BOOT_SIZE:jetson-nano-emmc = "80960"
-BALENA_BOOT_SIZE:jetson-xavier = "121440"
-BALENA_BOOT_SIZE:jetson-xavier-nx-devkit-emmc = "121440"
-BALENA_BOOT_SIZE:jetson-xavier-nx-devkit = "121440"
BALENA_BOOT_SIZE:jetson-tx2="80960"
BALENA_BOOT_SIZE:jetson-tx1="80960"
@@ -112,48 +72,6 @@ IMAGE_INSTALL:append:jetson-nano = "${IMAGE_PACKAGES_NANO}"
IMAGE_INSTALL:append:jetson-nano-emmc = "${IMAGE_PACKAGES_NANO}"
IMAGE_INSTALL:append:jetson-nano-2gb-devkit = "${IMAGE_PACKAGES_NANO}"
-IMAGE_INSTALL:append:jetson-xavier = " \
- tegra194-flash-dry \
- fan-startup \
- parted \
- gptfdisk \
- tegra-nvpmodel \
- tegra-configs-nvstartup \
- tegra-configs-udev \
- tegra-boot-tools \
-"
-
-IMAGE_INSTALL:append:jetson-xavier-nx-devkit-emmc = " \
- tegra194-nxde-flash-dry \
- parted \
- gptfdisk \
- tegra-nvpmodel \
- tegra-configs-nvstartup \
- tegra-configs-udev \
- tegra-wifi \
- tegra-bluetooth \
- tegra-firmware-rtl8822 \
- tegra-udrm-probeconf \
- mtd-utils \
- tegra-boot-tools \
-"
-
-IMAGE_INSTALL:append:jetson-xavier-nx-devkit = " \
- tegra194-nxde-sdcard-flash \
- fan-startup \
- parted \
- gptfdisk \
- tegra-nvpmodel \
- tegra-configs-nvstartup \
- tegra-configs-udev \
- mtd-utils \
- tegra-bluetooth \
- tegra-wifi \
- tegra-firmware-rtl8822 \
- tegra-udrm-probeconf \
- tegra-boot-tools \
-"
-
IMAGE_INSTALL:append:jetson-tx2 = " \
tegra186-flash-dry \
parted \
diff --git a/layers/meta-balena-jetson/recipes-core/initrdscripts/initramfs-framework_%.bbappend b/layers/meta-balena-jetson/recipes-core/initrdscripts/initramfs-framework_%.bbappend
index 3c759f24e..1d1ada7ac 100644
--- a/layers/meta-balena-jetson/recipes-core/initrdscripts/initramfs-framework_%.bbappend
+++ b/layers/meta-balena-jetson/recipes-core/initrdscripts/initramfs-framework_%.bbappend
@@ -1,41 +1,5 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-SRC_URI:append:jetson-xavier = " \
- file://blockdev \
-"
-
-SRC_URI:append:jetson-xavier-nx-devkit-emmc = " \
- file://blockdev \
-"
-
-SRC_URI:append:jetson-xavier-nx-devkit = " \
- file://blockdev \
-"
-
-do_install:append:jetson-xavier() {
- install -m 0755 ${WORKDIR}/blockdev ${D}/init.d/02-blockdev
-}
-
-do_install:append:jetson-xavier-nx-devkit-emmc() {
- install -m 0755 ${WORKDIR}/blockdev ${D}/init.d/02-blockdev
-}
-
-do_install:append:jetson-xavier-nx-devkit() {
- install -m 0755 ${WORKDIR}/blockdev ${D}/init.d/02-blockdev
-}
-
-PACKAGES:append:jetson-xavier = " \
- initramfs-module-blockdev \
-"
-
-PACKAGES:append:jetson-xavier-nx-devkit-emmc = " \
- initramfs-module-blockdev \
-"
-
-PACKAGES:append:jetson-xavier-nx-devkit = " \
- initramfs-module-blockdev \
-"
-
# Run this script after 01-udev
# to populate /dev with emmc partitions
SUMMARY:initramfs-module-blockdev = "Trigger ioctl to force re-read emmc partitions"
diff --git a/layers/meta-balena-jetson/recipes-kernel/linux/kernel-image-initramfs.bbappend b/layers/meta-balena-jetson/recipes-kernel/linux/kernel-image-initramfs.bbappend
index 6a872187a..7d3a9cfa3 100644
--- a/layers/meta-balena-jetson/recipes-kernel/linux/kernel-image-initramfs.bbappend
+++ b/layers/meta-balena-jetson/recipes-kernel/linux/kernel-image-initramfs.bbappend
@@ -1,20 +1,3 @@
-# For Xavier devices, which don't use
-# u-boot and load the kernel from a raw
-# partition, we can free up some rootfs
-# space that would otherwise be taken up by
-# the kernel image.
-do_install:append:jetson-xavier() {
- echo "" > ${D}/boot/${type}
-}
-
-do_install:append:jetson-xavier-nx-devkit-emmc() {
- echo "" > ${D}/boot/${type}
-}
-
-do_install:append:jetson-xavier-nx-devkit() {
- echo "" > ${D}/boot/${type}
-}
-
# Fixes error: packages already installed
# by kernel-image-initramfs
do_install:append() {
diff --git a/layers/meta-balena-jetson/recipes-support/hostapp-update-hooks/files/99-resin-bootfiles-xavier b/layers/meta-balena-jetson/recipes-support/hostapp-update-hooks/files/99-resin-bootfiles-xavier
deleted file mode 100644
index 41ed2b31a..000000000
--- a/layers/meta-balena-jetson/recipes-support/hostapp-update-hooks/files/99-resin-bootfiles-xavier
+++ /dev/null
@@ -1,185 +0,0 @@
-#!/bin/sh
-set -o errexit
-
-# Script which writes the appropriate
-# device tree with embedded cmdline
-# and updates the kernel, as well as
-# the rest of the bootloader binaries
-
-. /usr/libexec/os-helpers-fs
-. /usr/libexec/os-helpers-logging
-
-DURING_UPDATE=${DURING_UPDATE:-0}
-bootloader_device="/dev/mmcblk0boot0"
-partspec="/resin-boot/bootfiles/partition_specification194.txt"
-bootloader_blob="/resin-boot/bootfiles/boot0_t194.bin.gz"
-bootpart_kernel="/mnt/boot/bootfiles/boot_sigheader.img.encrypt"
-
-# Check if old release made use of
-# DURING_UPDATE flag and backport rollback-altboot
-# fix to old hook if necessary.
-backport_rollback_altboot_fix()
-{
- inactive_hook=$(find /mnt/sysroot/active/ | grep "99-resin-bootfiles-xavier")
- if grep -q "DURING_UPDATE" "${inactive_hook}"; then
- info "No need to backport altboot fix to old hook"
- else
- info "Will backport rollback-altboot fix to old hook"
- sed -i 's/os-helpers-fs/os-helpers-fs \nDURING_UPDATE=${DURING_UPDATE:-0}\nif [ "$DURING_UPDATE" = "0" ]; then target_sysroot="active"; else target_sysroot="inactive"; fi; /g' ${inactive_hook}
- sed -i 's|/mnt/sysroot/inactive|/mnt/sysroot/${target_sysroot}|g' ${inactive_hook}
- info "Applied rollback-altboot fix to old hostapp-update hook"
- fi
-
- if [ -e ${bootpart_kernel} ]; then
- rm ${bootpart_kernel}
- info "Removed signed kernel binary from boot partition, it is now located in the rootfs"
- else
- info "No need to remove kernel binary from boot partition"
- fi
-}
-
-get_label_suffix_by_slot()
-{
- if [ $1 -eq 0 ]; then
- echo ''
- else
- echo '_b'
- fi
-}
-
-if ! command -v tegra-boot-control &> /dev/null
-then
- info "Could not find tegra-boot-control!"
- exit 1
-fi
-
-redundancy_state=$(/usr/bin/tegra-boot-control -s | awk -F 'Redundancy:' '{print $2}' | awk '{print $1}' | tr -d '\n')
-info "Redundancy is currently ${redundancy_state}"
-
-# Enable boot slot redundancy if not enabled already
-tegra-boot-control -e
-curr_slot=$(/usr/bin/tegra-boot-control -c)
-info "Current active slot is ${curr_slot}"
-
-if [ "$DURING_UPDATE" = "1" ]; then
- backport_rollback_altboot_fix
- info "Target active slot is $((target_slot = ! curr_slot))"
- target_sysroot="inactive"
-else
- info "Target active slot stays $((target_slot = curr_slot))"
- target_sysroot="active"
-fi
-
-target_part=$(findmnt --noheadings --canonicalize --output SOURCE "/mnt/sysroot/${target_sysroot}" -t ext4)
-info "New rootfs partition is ${target_part}"
-
-target_label_suffix=$(get_label_suffix_by_slot ${target_slot})
-rootstr=$(get_dev_label "${target_part}")
-rootl=""
-
-update_needed() {
- current_update_file=${1}
- device=${2}
- update_size=$(ls -al $current_update_file | awk '{print $5}')
- update_md5sum=$(md5sum $current_update_file | awk '{print $1'})
- existing_md5sum=$(dd if=$device bs=1 count=$update_size status=none | md5sum | awk '{print $1}')
-
- if [ ! "$existing_md5sum" = "$update_md5sum" ]; then
- echo 1
- else
- echo 0
- fi
-}
-
-case "$rootstr" in
- *resin-rootA*)
- rootl="A"
- ;;
- *resin-rootB*)
- rootl="B"
- ;;
- *)
- rootl="Undefined"
- ;;
-esac
-
-info "New root is resin-root${rootl}"
-
-dtbname=$(cat "$partspec" | grep "kernel-dtb_b" | cut -d ':' -f 2 | awk -F'_sigheader' '{print $1}')
-dtbfile="${dtbname}-root${rootl}_sigheader.dtb.encrypt"
-kernel="boot_sigheader.img.encrypt"
-partitions=$(cat "${partspec}")
-
-for n in ${partitions}; do
- part_name=$(echo $n | cut -d ':' -f 1)
- file_name=$(echo $n | cut -d ':' -f 2)
-
- if [ -z "${part_name##*kernel*}" ] || [ -z "${part_name##*bootloader-dtb*}" ] || [ $file_name = "none.bin" ]; then
- continue
- fi
-
- file_path=$(get_state_path_from_label $part_name)
-
- if [ "x$file_path" = "x" ]; then
- continue
- fi
-
- # On the Xavier AGX, MB1 on 32.6.1 wants both slots _a and _b to have
- # 32.6.1 binaries, otherwise it enters debug mode as soon as the retry
- # count goes down to 0. We have tried updating only _b slots inside boot0 blob,
- # marking old slot as successfull too before switching to the new one, but without
- # success. The only solution is to update everything to 32.6.1 and just leave
- # the old kernel and kernel dtb in place, for the fallback to take place.
- # See: https://github.com/OE4T/meta-tegra/issues/879#issuecomment-1034908517
- dst="${file_path}"
- src="/resin-boot/bootfiles/$file_name"
- if [ -e ${dst} ]; then
- if [ $(update_needed $src $dst) -eq 1 ]; then
- info "Will update ${dst} ..."
- dd if=${src} of="${dst}" bs=64K conv=fsync
- info "Updated ${dst}"
- else
- info "No need to update ${dst}"
- fi
- else
- info "Partition ${dst} not found"
- fi
-done
-
-# DTB contains root partition label, update is mandatory on the new boot slot, before switching it to active
-info "Writing ${dtbfile} to specific to bootloader-dtb partition."
-dd if=/resin-boot/bootfiles/${dtbfile} of=$(get_state_path_from_label "bootloader-dtb") bs=64K conv=fsync
-
-info "Writing ${dtbfile} to specific to bootloader-dtb_b partition."
-dd if=/resin-boot/bootfiles/${dtbfile} of=$(get_state_path_from_label "bootloader-dtb_b") bs=64K conv=fsync
-
-dd if=/resin-boot/bootfiles/${dtbfile} of=$(get_state_path_from_label "kernel-dtb${target_label_suffix}") bs=64K conv=fsync
-
-info "Writing kernel ${kernel} to specific partitions..."
-
-dd if=/opt/tegra-binaries/${kernel} of=$(get_state_path_from_label "kernel${target_label_suffix}") bs=64K conv=fsync
-info "Updating boot image on hw partition mmcblk0boot0..."
-
-existing_bootloader_md5sum=$(dd if=$bootloader_device bs=1M status=none | md5sum | awk '{print $1}')
-update_bootloader_md5sum=$(zcat $bootloader_blob | md5sum | awk '{print $1}')
-
-if [ ! "$existing_bootloader_md5sum" = "$update_bootloader_md5sum" ]; then
- echo 0 > /sys/block/mmcblk0boot0/force_ro
- zcat $bootloader_blob | dd of=$bootloader_device bs=64K conv=fsync
- echo 1 > /sys/block/mmcblk0boot0/force_ro
-fi
-
-# Update slot selection after the qspi was updated, otherwise
-# scratch register contents will be lost
-info "Setting active slot to ${target_slot}"
-/usr/bin/tegra-boot-control -e
-/usr/bin/tegra-boot-control -a ${target_slot}
-
-if [ "$DURING_UPDATE" = "0" ]; then
- /usr/bin/tegra-boot-control -m
- info "Running in rollback-altboot, next boot will be from the same slot. Marked boot as successful."
-fi
-
-info "Done."
-
-sync
diff --git a/layers/meta-balena-jetson/recipes-support/hostapp-update-hooks/files/99-resin-bootfiles-xavier-nx-devkit b/layers/meta-balena-jetson/recipes-support/hostapp-update-hooks/files/99-resin-bootfiles-xavier-nx-devkit
deleted file mode 100644
index d75139b5f..000000000
--- a/layers/meta-balena-jetson/recipes-support/hostapp-update-hooks/files/99-resin-bootfiles-xavier-nx-devkit
+++ /dev/null
@@ -1,173 +0,0 @@
-#!/bin/sh
-set -o errexit
-
-# Script which writes the appropriate
-# device tree with embedded cmdline
-# and updates the kernel, as well as
-# the rest of the bootloader binaries
-
-. /usr/libexec/os-helpers-fs
-. /usr/libexec/os-helpers-logging
-
-DURING_UPDATE=${DURING_UPDATE:-0}
-declare -a UPDATED_PARTITIONS=()
-bootloader_device="/dev/mtdblock0"
-bootloader_blob="/opt/tegra-binaries/boot0.img"
-partspec=$(find "/opt/tegra-binaries/" | grep "partition_specification194_nx")
-
-# Check if old hook made use of DURING_UPDATE
-# and if not, backport rollback-altboot fix
-# to it if necessary.
-backport_rollback_altboot_fix()
-{
- inactive_hook=$(find /mnt/sysroot/active/ | grep "99-resin-bootfiles-xavier-nx-devkit")
- if grep -q "DURING_UPDATE" "${inactive_hook}"; then
- info "No need to backport altboot fix to old hook"
- else
- info "Will backport rollback-altboot fix to old hook"
- sed -i 's/os-helpers-fs/os-helpers-fs \nDURING_UPDATE=${DURING_UPDATE:-0}\nif [ "$DURING_UPDATE" = "0" ]; then target_sysroot="active"; else target_sysroot="inactive"; fi; /g' ${inactive_hook}
- sed -i 's|/mnt/sysroot/inactive|/mnt/sysroot/${target_sysroot}|g' ${inactive_hook}
- info "Applied rollback-altboot fix to old hostapp-update hook"
- fi
-}
-
-get_label_suffix_by_slot()
-{
- if [ $1 -eq 0 ]; then
- echo ''
- else
- echo '_b'
- fi
-}
-
-if ! command -v tegra-boot-control &> /dev/null
-then
- info "Could not find tegra-boot-control!"
- exit 1
-fi
-
-redundancy_state=$(/usr/bin/tegra-boot-control -s | awk -F 'Redundancy:' '{print $2}' | awk '{print $1}' | tr -d '\n')
-info "Redundancy is currently ${redundancy_state}"
-
-# Enable boot slot redundancy if not enabled already
-tegra-boot-control -e
-curr_slot=$(/usr/bin/tegra-boot-control -c)
-info "Current active slot is ${curr_slot}"
-
-if [ "$DURING_UPDATE" = "1" ]; then
- backport_rollback_altboot_fix
- info "Target active slot is $((target_slot = ! curr_slot))"
- target_sysroot="inactive"
-else
- info "Target active slot stays $((target_slot = curr_slot))"
- target_sysroot="active"
-fi
-
-target_part=$(findmnt --noheadings --canonicalize --output SOURCE "/mnt/sysroot/${target_sysroot}" -t ext4)
-info "New rootfs partition is ${target_part}"
-
-target_label_suffix=$(get_label_suffix_by_slot ${target_slot})
-rootstr=$(get_dev_label "${target_part}")
-rootl=""
-
-update_needed() {
- current_update_file=${1}
- device=${2}
- if [[ " ${UPDATED_PARTITIONS[*]} " =~ " ${device} " ]]; then
- echo 0
- else
- update_size=$(ls -al $current_update_file | awk '{print $5}')
- update_md5sum=$(md5sum $current_update_file | awk '{print $1'})
- existing_md5sum=$(dd if=$device count=1 bs=$update_size status=none | md5sum | awk '{print $1}')
-
- if [ ! "$existing_md5sum" = "$update_md5sum" ]; then
- echo 1
- else
- echo 0
- fi
- fi
-}
-
-case "$rootstr" in
- *resin-rootA*)
- rootl="A"
- ;;
- *resin-rootB*)
- rootl="B"
- ;;
- *)
- rootl="Undefined"
- ;;
-esac
-
-info "New root is resin-root${rootl}"
-
-dtbname=$(cat "$partspec" | grep "kernel-dtb_b" | cut -d ':' -f 2 | awk -F'_sigheader' '{print $1}')
-dtbfile="${dtbname}-root${rootl}_sigheader.dtb.encrypt"
-kernel="boot_sigheader.img.encrypt"
-partitions=$(cat ${partspec})
-
-for n in ${partitions}; do
- part_name=$(echo $n | cut -d ':' -f 1 | cut -d '_' -f 1)
- file_name=$(echo $n | cut -d ':' -f 2)
-
- if [ -z "${part_name##*kernel*}" ] || [ -z "${part_name##*bootloader-dtb*}" ] || [ $file_name = "none.bin" ]; then
- continue
- fi
-
- file_path=$(get_state_path_from_label $part_name)
-
- if [ "x$file_path" = "x" ]; then
- continue
- fi
-
- dst="${file_path}${target_label_suffix}"
- src="/opt/tegra-binaries/${file_name}"
-
- if [ -e ${dst} ]; then
- if [ $(update_needed $src $dst) -eq 1 ]; then
- info "Will update ${dst} ..."
- dd if=${src} of="${dst}" bs=64K conv=fsync
- UPDATED_PARTITIONS+=(${dst})
- info "Updated ${dst}"
- else
- info "No need to update ${dst}"
- fi
- else
- info "Duplicate slot for target partition ${dst} not available, ignoring."
- fi
-done
-
-# DTB contains root partition, update is mandatory on the new boot slot, before switching it to active
-info "Writing ${dtbfile} to specific partitions..."
-dd if=/opt/tegra-binaries/${dtbfile} of=$(get_state_path_from_label "kernel-dtb${target_label_suffix}") bs=64K conv=fsync
-
-info "Writing kernel ${kernel} to specific partitions..."
-dd if=/opt/tegra-binaries/${kernel} of=$(get_state_path_from_label "kernel${target_label_suffix}") bs=64K conv=fsync
-
-existing_bootloader_md5sum=$(dd if=$bootloader_device bs=1M status=none | md5sum | awk '{print $1}')
-update_bootloader_md5sum=$(md5sum $bootloader_blob | awk '{print $1}')
-
-if [ ! "$existing_bootloader_md5sum" = "$update_bootloader_md5sum" ]; then
- info "Will update bootloader device"
- flash_erase /dev/mtd0 0 0 || true
- dd if=$bootloader_blob of=$bootloader_device bs=1M conv=fsync
-else
- info "No need to update bootloader device"
-fi
-
-# Sync internal memory
-sync /dev/mmcblk0
-
-# Update slot selection after the qspi was updated, otherwise
-# scratch register contents will be lost
-info "Setting active slot to ${target_slot}"
-/usr/bin/tegra-boot-control -e
-/usr/bin/tegra-boot-control -a ${target_slot}
-
-if [ "$DURING_UPDATE" = "0" ]; then
- /usr/bin/tegra-boot-control -m
- info "Running in rollback-altboot, next boot will be from the same slot. Marked boot as successful."
-fi
-
-info "Done."
diff --git a/layers/meta-balena-jetson/recipes-support/hostapp-update-hooks/hostapp-update-hooks.bbappend b/layers/meta-balena-jetson/recipes-support/hostapp-update-hooks/hostapp-update-hooks.bbappend
index bd436f6ef..b6da44cb1 100644
--- a/layers/meta-balena-jetson/recipes-support/hostapp-update-hooks/hostapp-update-hooks.bbappend
+++ b/layers/meta-balena-jetson/recipes-support/hostapp-update-hooks/hostapp-update-hooks.bbappend
@@ -18,25 +18,6 @@ HOSTAPP_HOOKS:append:jetson-nano-2gb-devkit = " 99-resin-uboot \
99-resin-bootfiles-nano \
"
-DEPENDS:append:jetson-xavier = " tegra194-flash-dry"
-DEPENDS:append:jetson-xavier-nx-devkit-emmc = " tegra194-nxde-flash-dry"
-DEPENDS:append:jetson-xavier-nx-devkit = " tegra194-nxde-sdcard-flash"
-
-# Xaviers do not use u-boot, but for rollbacks to work
-# we need to update the resinOS_uEnv.txt file
-HOSTAPP_HOOKS:append:jetson-xavier = " \
- 99-resin-uboot \
- 99-resin-bootfiles-xavier \
-"
-
-XAVIER_NX_HOOKS = " \
- 99-resin-uboot \
- 99-resin-bootfiles-xavier-nx-devkit \
-"
-
-HOSTAPP_HOOKS:append:jetson-xavier-nx-devkit-emmc = " ${XAVIER_NX_HOOKS}"
-HOSTAPP_HOOKS:append:jetson-xavier-nx-devkit = " ${XAVIER_NX_HOOKS}"
-
DEPENDS:append:jetson-tx2 = " tegra186-flash-dry"
HOSTAPP_HOOKS:append:jetson-tx2 = " \