blob: d4bc12d1619c7d16af85adbac0cd4df5897d28e7 [file] [log] [blame]
Svyatoslav Ryhel7a120092022-01-27 19:42:04 +02001.. SPDX-License-Identifier: GPL-2.0+
2
3U-Boot for the ASUS Eee Pad Transformer device family
4=====================================================
5
6``DISCLAMER!`` Moving your ASUS Eee Pad Transformer/Slider to use U-Boot
7assumes replacement of the vendor ASUS bootloader. Vendor Android firmwares
8will no longer be able to run on the device. This replacement IS reversible.
9
10Quick Start
11-----------
12
13- Build U-Boot
14- Process U-Boot
15- Flashing U-Boot into the eMMC
16- Boot
17- Self Upgrading
18
19Build U-Boot
20------------
21
22Device support is implemented by applying config fragment to a generic board
23defconfig. Valid fragments are ``tf101.config``, ``tf101g.config`` and
24``sl101.config``.
25
26.. code-block:: bash
27
28 $ export CROSS_COMPILE=arm-linux-gnueabi-
29 $ make transformer_t20_defconfig tf101.config # For TF101
30 $ make
31
32After the build succeeds, you will obtain the final ``u-boot-dtb-tegra.bin``
33image, ready for further processing.
34
35Process U-Boot
36--------------
37
38``DISCLAMER!`` All questions related to the re-crypt work should be asked
39in re-crypt repo issues. NOT HERE!
40
41re-crypt is a tool that processes the ``u-boot-dtb-tegra.bin`` binary into form
42usable by device. This process is required only on the first installation or
43to recover the device in case of a failed update.
44
45Permanent installation can be performed either by using the nv3p protocol or by
46pre-loading just built U-Boot into RAM.
47
48Processing for the NV3P protocol
49********************************
50
51.. code-block:: bash
52
53 $ git clone https://gitlab.com/grate-driver/re-crypt.git
54 $ cd re-crypt # place your u-boot-dtb-tegra.bin here
55 $ ./re-crypt.py --dev tf101
56
57The script will produce a ``repart-block.bin`` ready to flash.
58
59Processing for pre-loaded U-Boot
60********************************
61
62The procedure is the same, but the ``--split`` argument is used with the
63``re-crypt.py``. The script will produce ``bct.img`` and ``ebt.img`` ready
64to flash.
65
66Flashing U-Boot into the eMMC
67-----------------------------
68
69``DISCLAMER!`` All questions related to NvFlash should be asked in the proper
70place. NOT HERE! Flashing U-Boot will erase all eMMC, so make a backup before!
71
72Permanent installation can be performed either by using the nv3p protocol or by
73pre-loading just built U-Boot into RAM.
74
75Flashing with the NV3P protocol
76*******************************
77
78Nv3p is a custom Nvidia protocol used to recover bricked devices. Devices can
79enter it either by using ``wheelie`` with the correct ``blob.bin`` file or by
80pre-loading vendor bootloader with the Fusée Gelée.
81
82With nv3p, ``repart-block.bin`` is used. It contains BCT and a bootloader in
83encrypted state in form, which can just be written RAW at the start of eMMC.
84
85.. code-block:: bash
86
87 $ wheelie --blob blob.bin
88 $ nvflash --resume --rawdevicewrite 0 1024 repart-block.bin
89
90When flashing is done, reboot the device.
91
92Flashing with a pre-loaded U-Boot
93*********************************
94
95U-Boot pre-loaded into RAM acts the same as when it was booted "cold". Currently
96U-Boot supports bootmenu entry fastboot, which allows to write a processed copy
97of U-Boot permanently into eMMC.
98
99While pre-loading U-Boot, hold the ``volume down`` button which will trigger
100the bootmenu. There, select ``fastboot`` using the volume and power buttons.
101After, on host PC, do:
102
103.. code-block:: bash
104
105 $ fastboot flash 0.1 bct.img
106 $ fastboot flash 0.2 ebt.img
107 $ fastboot reboot
108
109Device will reboot.
110
111Boot
112----
113
114To boot Linux, U-Boot will look for an ``extlinux.conf`` on MicroSD and then on
115eMMC. Additionally, if the Volume Down button is pressed while booting, the
116device will enter bootmenu. Bootmenu contains entries to mount MicroSD and eMMC
117as mass storage, fastboot, reboot, reboot RCM, poweroff, enter U-Boot console
118and update bootloader (check the next chapter).
119
120Flashing ``repart-block.bin`` eliminates vendor restrictions on eMMC and allows
Tom Rinieb96db32024-07-05 08:09:23 -0600121the user to use/partition it in any way the user desires.
Svyatoslav Ryhel7a120092022-01-27 19:42:04 +0200122
123Self Upgrading
124--------------
125
126Place your ``u-boot-dtb-tegra.bin`` on the first partition of the MicroSD card
127and insert it into the tablet. Enter bootmenu, choose update the bootloader
128option with the Power button and U-Boot should update itself. Once the process
129is completed, U-Boot will ask to press any button to reboot.