forked from OERV-BSP/u-boot
ARM: tegra20: implement BCT patching
This function allows updating bootloader from u-boot on production devices without need in host PC. Be aware! It works only with re-crypt BCT. Tested-by: Robert Eckelmann <longnoserob@gmail.com> # ASUS TF101 T20 Signed-off-by: Ramin Khonsari <raminterex@yahoo.com> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Signed-off-by: Tom <twarren@nvidia.com>
This commit is contained in:
69
doc/usage/cmd/ebtupdate.rst
Normal file
69
doc/usage/cmd/ebtupdate.rst
Normal file
@@ -0,0 +1,69 @@
|
||||
.. 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).
|
||||
Reference in New Issue
Block a user