.. SPDX-License-Identifier: GPL-2.0+: ebtupdate command ================= Synopsis -------- :: ebtupdate [ [] []] Description ----------- The "ebtupdate" command is used to self-update bootloader on Tegra 2 and Tegra 3 production devices which were processed using re-cryption. The "ebtupdate" performs encryption of new bootloader and decryption, patching and re-encryption of BCT "in situ". After BCT and bootloader can be written in their respective places. bct address of BCT block pre-loaded into RAM. ebt address of the bootloader pre-loaded into RAM. size size of the pre-loaded bootloader. Example ------- This is the boot log of a LG Optimus Vu: :: => mmc dev 0 1 switch to partitions #1, OK mmc0(part 1) is current device => mmc read $kernel_addr_r 0 $boot_block_size MMC read: dev # 0, block # 0, count 4096 ... 4096 blocks read: OK => load mmc 0:1 $ramdisk_addr_r $bootloader_file 684783 bytes read in 44 ms (14.8 MiB/s) => size mmc 0:1 $bootloader_file => ebtupdate $kernel_addr_r $ramdisk_addr_r $filesize => mmc dev 0 1 switch to partitions #1, OK mmc0(part 1) is current device => mmc write $kernel_addr_r 0 $boot_block_size MMC write: dev # 0, block # 0, count 4096 ... 4096 blocks written: OK => mmc dev 0 2 switch to partitions #2, OK mmc0(part 2) is current device => mmc write $ramdisk_addr_r 0 $boot_block_size MMC write: dev # 0, block # 0, count 4096 ... 4096 blocks written: OK Configuration ------------- The ebtupdate command is only available if CONFIG_CMD_EBTUPDATE=y and only on Tegra 2 and Tegra 3 configurations. Return value ------------ The return value $? is set to 0 (true) if everything went successfully. If an error occurs, the return value $? is set to 1 (false).