Das U-Boot Logo
  • Build U-Boot
  • Learn about U-Boot
  • Use U-Boot
  • Develop U-Boot
  • U-Boot API documentation
  • Architecture-specific doc
  • Board-specific doc
    • ACER
    • Actions
    • Advantech
    • Andes Tech
    • Allwinner (sunxi) boards
    • Amlogic
      • Hardware Support Matrix
      • Boot Documentation
      • Board Documentation
        • U-Boot for Libre Computer AML-A311D-CC ‘Alta’ (A311D)
        • U-Boot for Libre Computer AML-S905D3-CC ‘Solitude’ (S905D3)
        • U-Boot for BananaPi CM4 with CM4IO (A311D)
        • U-Boot for BananaPi BPI-M2-PRO (S905X3)
        • U-Boot for BananaPi M2S (A311D & S922X)
        • U-Boot for BananaPi BPI-M5 (S905X3)
        • U-Boot for Beelink GS-King-X (S922X)
        • U-Boot for Beelink GT1 Ultimate (S912)
        • U-Boot for Beelink GT-King (S922X)
        • U-Boot for Beelink GT-King Pro (S922X)
        • U-Boot for JetHub J80 (S905W)
        • U-Boot for JetHub J100/J110 (A113X)
        • U-Boot for Khadas VIM (S905X)
        • U-Boot for Khadas VIM2 (S912)
        • U-Boot for Khadas VIM3 (A311D)
        • U-Boot for Khadas VIM3L (S905D3)
        • U-Boot for LibreTech-AC ‘LaFrite’ (S805X)
        • U-Boot for LibreTech CC ‘LePotato’ (S905X)
        • U-Boot for NanoPi-K2 (S905)
        • U-Boot for ODROID-C2 (S905)
        • U-Boot for ODROID-C4 (S905X3)
        • U-Boot for ODROID-HC4 (S905X3)
        • U-Boot for ODROID-N2/N2+ (S922X)
        • U-Boot for ODROID-N2L (S922X)
        • U-Boot for ODROID-GO-ULTRA (S922X)
        • U-Boot for Amlogic P200 (S905)
        • U-Boot for Amlogic P201 (S905)
        • U-Boot for Amlogic P212
        • U-Boot for Amlogic Q200 (S912)
        • U-Boot for Radxa Zero (S905Y2)
        • U-Boot for Radxa Zero2 (A311D)
        • U-Boot for Amlogic SEI510 (S905X2)
        • U-Boot for Amlogic SEI610 (S905X3)
        • U-Boot for Amlogic S400 (A113X)
        • U-Boot for Amlogic U200 (S905X2)
        • U-Boot for Videostrong KII Pro (S905)
        • U-Boot for WeTek Core2 (S912)
        • U-Boot for WeTek Hub (S905)
        • U-Boot for WeTek Play2 (S905)
        • U-Boot for Amlogic W400 (S922X)
    • Anbernic
    • Apple
    • Arm Ltd
    • Aspeed
    • ASUS
    • Atmel
    • Beacon
    • BeagleBoard.org
    • Broadcom
    • BSH Hausgeraete GmbH
    • Canaan
    • Cloos
    • Congatec
    • Cool Pi
    • Coreboot
    • Emcraft
    • Emulation
    • Gateworks
    • Google
    • Highbank
    • HiSilicon
    • HTC
    • Intel
    • Kontron
    • Lenovo
    • LG
    • Mediatek
    • Microchip
    • Microsoft
    • Motorola
    • NVIDIA
    • NXP Semiconductors
    • OpenPiton
    • OUYA
    • PHYTEC
    • Purism SPC
    • Qualcomm
    • Qnap
    • Renesas
    • Rockchip
    • Samsung
    • Schneider Electric
    • Sielaff
    • Siemens
    • SiFive
    • Sipeed
    • Socionext
    • Sophgo
    • SpacemiT
    • STMicroelectronics
    • StarFive
    • ST-Ericsson
    • TBS
    • T-HEAD
    • Theobroma Systems
    • Texas Instruments
    • Toradex
    • Variscite
    • WEXLER
    • XenGuestARM64
    • Xiaomi
    • Xilinx
  • Android-specific doc
  • Chromium OS-specific doc
  • Index
Das U-Boot
  • Board-specific doc
  • Amlogic
  • U-Boot for Beelink GT1 Ultimate (S912)
  • View page source

U-Boot for Beelink GT1 Ultimate (S912)

Beelink GT1 Ultimate is an Android STB manufactured by Shenzen AZW (Beelink) with the following specification:

  • 2GB or 3GB DDR3 RAM

  • 32GB eMMC

  • HDMI 2.1 video

  • S/PDIF optical output

  • 10/100/1000 Ethernet

  • AP6356S Wireless (802.11 a/b/g/n/ac, BT 4.2)

  • 3x USB 2.0 ports

  • IR receiver

  • 1x micro SD card slot

  • 1x Power LED (white)

  • 1x Reset button (internal)

The GT1 (non-ultimate) board has QCA9377 WiFi/BT but is otherwise identical and should be capable of booting images prepared for the Ultimate box (NB: there are known clones of both boxes which may differ in specifications).

Beelink do not provide public schematics, but have been willing to share them with known distro developers on request.

U-Boot Compilation


    $ export CROSS_COMPILE=aarch64-none-elf-     $ make beelink-gt1-ultimate_defconfig     $ make

U-Boot Signing with Pre-Built FIP repo


    $ git clone https://github.com/LibreELEC/amlogic-boot-fip –depth=1     $ cd amlogic-boot-fip     $ mkdir my-output-dir     $ ./build-fip.sh beelink-gt1 /path/to/u-boot/u-boot.bin my-output-dir

U-Boot Manual Signing

Amlogic does not provide firmware sources or tools needed to create the bootloader image and Beelink has not publicly shared the U-Boot sources needed to build the FIP binaries for signing. However you can download them from the amlogic-fip-repo.


    $ git clone https://github.com/LibreELEC/amlogic-boot-fip –depth=1     $ cd amlogic-boot-fip/beelink-gt1     $ export FIPDIR=$PWD

Go back to the mainline U-Boot source tree then:


    $ mkdir fip     $ cp $FIPDIR/bl2.bin fip/     $ cp $FIPDIR/acs.bin fip/     $ cp $FIPDIR/bl21.bin fip/     $ cp $FIPDIR/bl30.bin fip/     $ cp $FIPDIR/bl301.bin fip/     $ cp $FIPDIR/bl31.img fip/     $ cp u-boot.bin fip/bl33.bin

    $ $FIPDIR/blx_fix.sh               fip/bl30.bin               fip/zero_tmp               fip/bl30_zero.bin               fip/bl301.bin               fip/bl301_zero.bin               fip/bl30_new.bin               bl30

    $ python $FIPDIR/acs_tool.pyc fip/bl2.bin fip/bl2_acs.bin fip/acs.bin 0

    $ $FIPDIR/blx_fix.sh               fip/bl2_acs.bin               fip/zero_tmp               fip/bl2_zero.bin               fip/bl21.bin               fip/bl21_zero.bin               fip/bl2_new.bin               bl2

    $ $FIPDIR/aml_encrypt_gxl –bl3enc –input fip/bl30_new.bin     $ $FIPDIR/aml_encrypt_gxl –bl3enc –input fip/bl31.img     $ $FIPDIR/aml_encrypt_gxl –bl3enc –input fip/bl33.bin     $ $FIPDIR/aml_encrypt_gxl –bl2sig –input fip/bl2_new.bin –output fip/bl2.n.bin.sig     $ $FIPDIR/aml_encrypt_gxl –bootmk                               –output fip/u-boot.bin                               –bl2 fip/bl2.n.bin.sig                               –bl30 fip/bl30_new.bin.enc                               –bl31 fip/bl31.img.enc                               –bl33 fip/bl33.bin.enc

Then write U-Boot to SD or eMMC with:


    $ DEV=/dev/boot_device     $ dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=512 skip=1 seek=1     $ dd if=fip/u-boot.bin.sd.bin of=$DEV conv=fsync,notrunc bs=1 count=440

Previous Next

© Copyright The U-Boot development community.

Built with Sphinx using a theme provided by Read the Docs.