|
1 | | -# amlogic-boot-Armbian |
| 1 | +# Amlogic boot scripts for Armbian |
| 2 | + |
| 3 | +The Armbian images for Amlogic TV Boxes use secondary, chain loaded u-boot blobs to boot mainline kernel images. |
| 4 | +The vendor u-boot bootloaders can however boot mainline Linux perfectly without them. So they are not needed. |
| 5 | + |
| 6 | +All it takes are some simple modifications of some of the Armbian u-boot scripts. |
| 7 | + |
| 8 | +# Setup |
| 9 | +assumption: you have vendor u-boot (the one that came with the box) running on eMMC. If you don't, you can just restore the stock Android image with Amlogic USB Burning tool. |
| 10 | + |
| 11 | ++ **Step 1:** Download latest Armbian for s9xxx-box, let's use [bookworm minimal](https://dl.armbian.com/aml-s9xx-box/archive/Armbian_23.8.1_Aml-s9xx-box_bookworm_current_6.1.50_minimal.img.xz) |
| 12 | ++ **Step 2:** Burn the image to a USB flash drive |
| 13 | ++ **Step 3:** Copy the modified boot scripts (**[aml_autoscript](https://github.com/devmfc/amlogic-bootscripts-Armbian/blob/main/aml_autoscript)**, **[s905_autoscript](https://github.com/devmfc/amlogic-bootscripts-Armbian/blob/main/s905_autoscript)** to the fat partition on the USB drive. Overwrite the existing files. |
| 14 | ++ **Step 4:** If you have a GXBB (S905) or GXL (S905X/W/L) soc, you also need **[gxl-fixup.scr](https://github.com/devmfc/amlogic-bootscripts-Armbian/blob/main/gxl-fixup.scr)** |
| 15 | ++ **Step 5:** Add an armbianEnv.txt file with the following content (file is also on github): |
| 16 | +```bash |
| 17 | +extraargs=earlycon rootflags=data=writeback rw no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 |
| 18 | +bootlogo=false |
| 19 | +verbosity=7 |
| 20 | +usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u |
| 21 | +console=both |
| 22 | + |
| 23 | +# DTB file for this tvbox |
| 24 | +# fdtfile=amlogic/meson-gxl-s905x-nexbox-a95x.dtb |
| 25 | +fdtfile=amlogic/meson-sm1-x96-air-gbit.dtb |
| 26 | + |
| 27 | +# set this to the UUID of the root partition (value can be found |
| 28 | +# in /extlinux/extlinux.conf after APPEND root= or with blkid) |
| 29 | +rootdev=UUID=92139c84-3871-41d7-a3f2-e8a943cbfa87 |
| 30 | + |
| 31 | +# Enable ONLY for gxbb (S905) / gxl (S905X/L/W) to create fake u-boot header |
| 32 | +#soc_fixup=gxl- |
| 33 | +``` |
| 34 | ++ **Step 6:** Change *fdtfile* to the DTB for your box. |
| 35 | ++ **Step 7:** Change *rootdev* to the right UUID for the rootfs for your image or change to /dev/sda2 when booting from USB or /dev/mmcblk0p2 when booting from SDCARD |
| 36 | ++ **Step 8:** Only if your box has a GXBB (S905) or GXL (S905X/W/L) soc, uncomment the line *soc_fixup=gxl-* |
| 37 | ++ **Step 9:** Power off the the box. |
| 38 | ++ **Step 10:** Put the USB disk in your box. |
| 39 | ++ **Step 11:** Push the reset button and hold the button |
| 40 | ++ **Step 12:** power up your box while holding the reset button for approx 7 seconds. |
| 41 | ++ **Step 13:** If you're lucky, it will now boot Armbian with a mainline kernel. Without any secondary u-boot blobs. |
| 42 | + |
| 43 | +All used files and source files can be found on [Github](https://github.com/devmfc/amlogic-bootscripts-Armbian). |
| 44 | + |
| 45 | +This is tested on S905X, S905W, S912, S905X2, S922X, S905X3 and they all boot the kernel. |
| 46 | +I did test S905 also, but it boots only the first time for some reason. |
| 47 | +It will probably also work for S905X4 and S905W2, but did not test those. They are not supported by the Armbian kernel at this moment anyway. |
0 commit comments