Svyatoslav Ryhel | 7a25c38 | 2023-06-30 10:29:03 +0300 | [diff] [blame^] | 1 | .. SPDX-License-Identifier: GPL-2.0+ |
| 2 | |
| 3 | U-Boot for the ASUS Transformer device family |
| 4 | ============================================= |
| 5 | |
| 6 | ``DISCLAMER!`` Moving your ASUS Transformer to use U-Boot |
| 7 | assumes replacement of the vendor ASUS bootloader. Vendor |
| 8 | android firmwares will no longer be able to run on the device. |
| 9 | This replacement IS reversible. |
| 10 | |
| 11 | Quick Start |
| 12 | ----------- |
| 13 | |
| 14 | - Build U-Boot |
| 15 | - Pack U-Boot into repart-block |
| 16 | - Flash repart-block into the eMMC |
| 17 | - Flash repart-block into TF600T SPI flash |
| 18 | - Boot |
| 19 | - Self Upgrading |
| 20 | |
| 21 | Build U-Boot |
| 22 | ------------ |
| 23 | |
| 24 | Device support is implemented by applying config fragment |
| 25 | to a generic board defconfig. Valid fragments are ``tf201.config``, |
| 26 | ``tf300t.config``, ``tf300tg.config``, ``tf300tl.config``, |
| 27 | ``tf700t.config``, ``tf600t.config`` and ``p1801-t.config``. |
| 28 | |
| 29 | .. code-block:: bash |
| 30 | |
| 31 | $ export CROSS_COMPILE=arm-linux-gnueabi- |
| 32 | $ make transformer_t30_defconfig tf201.config # For TF201 |
| 33 | $ make |
| 34 | |
| 35 | After the build succeeds, you will obtain the final ``u-boot-dtb-tegra.bin`` |
| 36 | image, ready for flashing (but check the next section for additional |
| 37 | adjustments). |
| 38 | |
| 39 | Pack U-Boot into repar-block |
| 40 | ---------------------------- |
| 41 | |
| 42 | ``DISCLAMER!`` All questions related to re-crypt work should be asked |
| 43 | in re-crypt repo issues. NOT HERE! |
| 44 | |
| 45 | re-crypt is a small script which packs ``u-boot-dtb-tegra.bin`` in |
| 46 | form usable by device. This process is required only on the first |
| 47 | installation or to recover the device in case of a failed update. |
| 48 | You need to know your tablet's individual SBK to continue. |
| 49 | |
| 50 | .. code-block:: bash |
| 51 | |
| 52 | $ git clone https://github.com/clamor-s/re-crypt.git |
| 53 | $ cd re-crypt # place your u-boot-dtb-regra.bin here |
| 54 | $ ./re-crypt.sh -d tf201 -k deadbeefdeadc0dedeadd00dfee1dead |
| 55 | |
| 56 | Script will produce you a `repart-block.bin` ready to flash. |
| 57 | |
| 58 | Flash repart-block into the eMMC |
| 59 | -------------------------------- |
| 60 | |
| 61 | ``DISCLAMER!`` All questions related to NvFlash should be asked |
| 62 | in the proper place. NOT HERE! Flashing repart-block will erase |
| 63 | all your eMMC, so make a backup before! |
| 64 | |
| 65 | ``repart-block.bin`` contains BCT and bootloader in encrypted state |
| 66 | in form which can just be written RAW at the start of eMMC. |
| 67 | |
| 68 | .. code-block:: bash |
| 69 | |
| 70 | $ wheelie --blob blob.bin |
| 71 | $ nvflash --resume --rawdevicewrite 0 1024 repart-block.bin |
| 72 | |
| 73 | Flash repart-block into TF600T SPI flash |
| 74 | ---------------------------------------- |
| 75 | |
| 76 | Unlike other transformers TF600T uses separate 4 MB SPI flash which |
| 77 | contains all data required for boot. It is flashed from within u-boot |
| 78 | itself preloaded into RAM using fusee gelee. After creating your |
| 79 | ``repart-block.bin`` you have to place it on a 1st partition of microSD |
| 80 | card formated in fat. Then insert this microSD card into your tablet |
| 81 | and boot it using fusee gelee and u-boot which was included into |
| 82 | repart-block.bin, while booting you must hold volume down button. |
| 83 | Process should take less then a minute, if everything goes correct, |
| 84 | on microSD will appear ``spi-flash-backup.bin`` file, which is dump of |
| 85 | your spi flash content and can be used to restore UEFI, do not loose it, |
| 86 | tablet will power itself off. |
| 87 | |
| 88 | Self-updating of u-boot is performed by placing ``u-boot-dtb-tegra.bin`` |
| 89 | on 1st partition of microSD, inserting it into tablet and booting with |
| 90 | pressed volume down button. |
| 91 | |
| 92 | Boot |
| 93 | ---- |
| 94 | |
| 95 | After flashing ``repart-block.bin`` the device should reboot and turn |
| 96 | itself off. This is normal behavior if no boot configuration is |
| 97 | found. |
| 98 | |
| 99 | To boot Linux, U-Boot will look for an ``extlinux.conf`` on MicroSD |
| 100 | and then on eMMC. Additionally if Volume Down button is pressed |
| 101 | while booting device will enter bootmenu. Bootmenu contains entries |
| 102 | to mount MicroSD and eMMC as mass storage, fastboot, reboot, reboot |
| 103 | RCM, poweroff, enter U-Boot console and update bootloader (check next |
| 104 | chapter). |
| 105 | |
| 106 | Flashing ``repart-block.bin`` eliminates vendor restriction on eMMC |
| 107 | and allows the user to use/partition it in any way the user desires. |
| 108 | |
| 109 | Self Upgrading |
| 110 | -------------- |
| 111 | |
| 112 | Place your ``u-boot-dtb-tegra.bin`` on the first partition of the |
| 113 | MicroSD card and insert it into the tablet. Enter bootmenu, choose |
| 114 | update bootloader option with Power button and U-Boot should update |
| 115 | itself. Once the process is completed, U-Boot will ask to press any |
| 116 | button to reboot. |