1.. SPDX-License-Identifier: GPL-2.0+:
2
3ebtupdate command
4=================
5
6Synopsis
7--------
8
9::
10
11    ebtupdate [<bct> [<ebt>] [<size>]]
12
13Description
14-----------
15
16The "ebtupdate" command is used to self-update bootloader on Tegra 2 and Tegra 3
17production devices which were processed using re-cryption.
18
19The "ebtupdate" performs encryption of new bootloader and decryption, patching
20and re-encryption of BCT "in situ". After BCT and bootloader can be written in
21their respective places.
22
23bct
24    address of BCT block pre-loaded into RAM.
25
26ebt
27    address of the bootloader pre-loaded into RAM.
28
29size
30    size of the pre-loaded bootloader.
31
32Example
33-------
34
35This is the boot log of a LG Optimus Vu:
36
37::
38
39    => mmc dev 0 1
40    switch to partitions #1, OK
41    mmc0(part 1) is current device
42    => mmc read $kernel_addr_r 0 $boot_block_size
43    MMC read: dev # 0, block # 0, count 4096 ... 4096 blocks read: OK
44    => load mmc 0:1 $ramdisk_addr_r $bootloader_file
45    684783 bytes read in 44 ms (14.8 MiB/s)
46    => size mmc 0:1 $bootloader_file
47    => ebtupdate $kernel_addr_r $ramdisk_addr_r $filesize
48    => mmc dev 0 1
49    switch to partitions #1, OK
50    mmc0(part 1) is current device
51    => mmc write $kernel_addr_r 0 $boot_block_size
52    MMC write: dev # 0, block # 0, count 4096 ... 4096 blocks written: OK
53    => mmc dev 0 2
54    switch to partitions #2, OK
55    mmc0(part 2) is current device
56    => mmc write $ramdisk_addr_r 0 $boot_block_size
57    MMC write: dev # 0, block # 0, count 4096 ... 4096 blocks written: OK
58
59Configuration
60-------------
61
62The ebtupdate command is only available if CONFIG_CMD_EBTUPDATE=y and
63only on Tegra 2 and Tegra 3 configurations.
64
65Return value
66------------
67
68The return value $? is set to 0 (true) if everything went successfully. If an
69error occurs, the return value $? is set to 1 (false).
70