HCL:GeekBox
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