blob: d90474ccec3d8a4d30dfe7c97ed227f36fe417b0 [file] [log] [blame]
.. SPDX-License-Identifier: GPL-2.0+:
ebtupdate command
=================
Synopsis
--------
::
ebtupdate [<bct> [<ebt>] [<size>]]
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).