Das U-BootLogo
latest
  • Build U-Boot
  • Learn about U-Boot
  • Use U-Boot
  • Develop U-Boot
  • U-Boot API documentation
  • Architecture-specific doc
  • Board-specific doc
    • Actions
    • Advantech
    • Andes Tech
    • Allwinner (sunxi) boards
    • Amlogic
      • Hardware Support Matrix
      • Boot Documentation
      • Board Documentation
        • U-Boot for Beelink GT-King
        • U-Boot for Beelink GT-King Pro
        • U-Boot for JetHub J100
        • U-Boot for JetHub J80
        • U-Boot for Khadas VIM2
        • U-Boot for Khadas VIM3L
        • U-Boot for Khadas VIM3
        • U-Boot for Khadas VIM
        • U-Boot for LibreTech AC
        • U-Boot for LibreTech CCs
        • U-Boot for NanoPi-K2
        • U-Boot for ODROID-C2
        • U-Boot for ODROID-C4
        • U-Boot for ODROID-N2
        • U-Boot for ODROID-N2L
        • U-Boot for ODROID-GO-ULTRA
        • U-Boot for Amlogic P200
        • U-Boot for Amlogic P201
        • U-Boot for Amlogic P212
        • U-Boot for Amlogic Q200
        • U-Boot for Radxa Zero
        • U-Boot for Amlogic S400
        • U-Boot for Amlogic SEI510
        • U-Boot for Amlogic SEI610
        • U-Boot for Amlogic U200
        • U-Boot for WeTek Core2
        • U-Boot for Amlogic W400
    • Apple
    • Arm Ltd
    • Atmel
    • Broadcom
    • BSH Hausgeraete GmbH
    • Cloos
    • Congatec
    • Coreboot
    • Emulation
    • Gateworks
    • Google
    • Highbank
    • Intel
    • Kontron
    • Mediatek
    • Microchip
    • Nokia
    • NXP Semiconductors
    • OpenPiton
    • Purism SPC
    • Qualcomm
    • Rockchip
    • Samsung
    • Siemens
    • SiFive
    • Sipeed
    • Socionext
    • STMicroelectronics
    • ST-Ericsson
    • TBS
    • Texas Instruments
    • Toradex
    • Variscite
    • XenGuestARM64
    • Xilinx
  • Android-specific doc
  • Chromium OS-specific doc
Das U-Boot
  • »
  • Board-specific doc »
  • Amlogic »
  • U-Boot for Beelink GT-King Pro
  • Edit on GitHub

U-Boot for Beelink GT-King Pro¶

The Shenzen AZW (Beelink) GT-King Pro is based on the Amlogic W400 reference board with an S922X-H chip.

  • 4GB LPDDR4 RAM

  • 64GB eMMC storage

  • 10/100/1000 Base-T Ethernet

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

  • HDMI 2.1 video

  • Analogue audio output

  • 1x RS232 port

  • 2x USB 2.0 port

  • 2x USB 3.0 ports

  • IR receiver

  • 1x SD card slot

  • 1x Power on/off button

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-gtkingpro_defconfig
$ make

Image creation¶

Amlogic does not provide sources for the firmware and for tools needed to create the bootloader image. Beelink have provided the Amlogic “SDK” in their forums, but the u-boot sources included result in 2GB RAM being detected. The following FIPs were generated with newer private sources and give correct (4GB) RAM detection:

https://github.com/LibreELEC/amlogic-boot-fip/tree/master/beelink-s922x

NB: Beelink use a common board config for GT-King, GT-King Pro and the GS-King-X model, hence the “beelink-s922x” name.

For simplified usage, pleaser refer to Pre-Generated FIP file set with codename beelink-s922x

$ wget https://github.com/LibreELEC/amlogic-boot-fip/archive/master.zip
$ unzip master.zip
$ export FIPDIR=$PWD/amlogic-boot-fip/beelink-s922x

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

$ mkdir fip
$ cp $FIPDIR/* fip/
$ cp u-boot.bin fip/bl33.bin

$ sh fip/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

$ sh fip/blx_fix.sh \
    fip/bl2.bin \
    fip/zero_tmp \
    fip/bl2_zero.bin \
    fip/acs.bin \
    fip/bl21_zero.bin \
    fip/bl2_new.bin \
    bl2

$ fip/aml_encrypt_g12b --bl30sig --input fip/bl30_new.bin \
                            --output fip/bl30_new.bin.g12a.enc \
                            --level v3
$ fip/aml_encrypt_g12b --bl3sig --input fip/bl30_new.bin.g12a.enc \
                            --output fip/bl30_new.bin.enc \
                            --level v3 --type bl30
$ fip/aml_encrypt_g12b --bl3sig --input fip/bl31.img \
                            --output fip/bl31.img.enc \
                            --level v3 --type bl31
$ fip/aml_encrypt_g12b --bl3sig --input fip/bl33.bin --compress lz4 \
                            --output fip/bl33.bin.enc \
                            --level v3 --type bl33
$ fip/aml_encrypt_g12b --bl2sig --input fip/bl2_new.bin \
                            --output fip/bl2.n.bin.sig
$ fip/aml_encrypt_g12b --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 \
            --ddrfw1 fip/ddr4_1d.fw \
            --ddrfw2 fip/ddr4_2d.fw \
            --ddrfw3 fip/ddr3_1d.fw \
            --ddrfw4 fip/piei.fw \
            --ddrfw5 fip/lpddr4_1d.fw \
            --ddrfw6 fip/lpddr4_2d.fw \
            --ddrfw7 fip/diag_lpddr4.fw \
            --ddrfw8 fip/aml_ddr.fw \
            --level v3

and then write the image to SD with:

$ DEV=/dev/your_sd_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=444
Previous Next

© Copyright The U-Boot development community. Revision c84a00a6.

Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: latest
Versions
latest
stable
v2023.01
v2022.10
v2022.07
v2022.04
v2022.01
v2021.10
v2021.07
v2021.04
v2021.01
v2020.10
v2020.07
v2020.04
Downloads
On Read the Docs
Project Home
Builds