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