Home Wiki > HCL:GeekBox
Sign up | Login

HCL:GeekBox

tagline: From openSUSE

Landingship with GeekBox module

The GeekBox is a TV box with an MXM3 module inside. It can optionally be extended with the Landingship base board.

Technical details

  • Rockchip RK3368 SoC
    • 8x ARM Cortex-A53 CPU
  • Ethernet
  • HDMI
  • USB
  • MicroSD
  • SATA (on Landingship)

Manual installation

Prepare a parameter file with a CMDLINE such as this:

FIRMWARE_VER: 5.1.0
MACHINE_MODEL: Geekbox
MACHINE_ID: 007
MANUFACTURER: RK3368
MAGIC: 0x5041524B
ATAG: 0x00200800
MACHINE: 3368
CHECK_MASK: 0x80
PWR_HLD: 0,0,A,0,1
#KERNEL_IMG: 0x00280000
#FDT_NAME: rk-kernel.dtb
#RECOVER_KEY: 1,1,0,20,0
#in section; per section 512(0x200) bytes
CMDLINE: root=/dev/sda3 rw rootfstype=btrfs rootwait mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),0x00002000@0x00004000(trust),0x00008000@0x00006000(resource),0x00010000@0x0000E000(ramfs),-@0x0001E000(linuxroot)

Note: the mtdparts= parameter is used by the flash tools, even if your kernel doesn't care.

Flash this partitioning scheme:

# ./upgrade_tool di -p parameter.txt

Vendor U-Boot

To flash the Rockchip miniloader, ARM Trusted Firmware and U-Boot:

# ./upgrade_tool ul RK3368MiniLoaderAll_V2.40.bin
# ./upgrade_tool di trust trust.img
# ./upgrade_tool di uboot uboot.img

Mainline U-Boot

Initial patches for RK3368 and GeekBox have been sent to the mailing list post v2016.07.

Warning: Flashing mainline U-Boot means you can no longer enter rockusb mode by pressing the "Update" button! Instead you will need to short two pins on the bottom of the module to enter MaskRom mode for recovery.

To flash U-Boot as second-level bootloader:

$ ./loaderimage --pack u-boot.bin uboot.img
# ./upgrade_tool di uboot uboot.img

Recover via MaskRom mode:

# ./upgrade_tool ul RK3368MiniLoaderAll_V2.40.bin
# ./upgrade_tool di uboot uboot.img

Mainline kernel

Initial .dts patches have been sent to the mailing lists post v4.4 and made it into v4.7-rc1.

Prepare and flash Rockchip-format kernel image:

$ ./mkbootimg --kernel arch/arm64/boot/Image --ramdisk initrd.cpio.gz -o ramfs.img
# ./upgrade_tool di ramfs ramfs.img

Prepare and flash Rockchip-format resource partition:

$ ./resource_tool arch/arm64/boot/dts/rockchip/rk3368-geekbox.dtb
# ./upgrade_tool di resource resource.img

(or use rk3368-geekbox-landingship.dtb for the Landingship baseboard)

Reboot:

# ./upgrade_tool rd

See also