HCL:ALL-H3-CC-H5

Jump to: navigation, search

The LibreTech ALL-H3-CC H5 (Tritium) by Libre Computer is a single-board computer.

Technical data

  • Allwinner H5 SoC
    • 4x ARM Cortex-A53 CPU
    • ARM Mali-450 GPU
  • 2 GB RAM
  • eMMC interface
  • 40-pin GPIO connector (not Raspberry Pi compatible)

Manual installation

U-Boot installation

LibreTech ALL-H3-CC H5 board is supported in official U-Boot since version v2018.05-rc3. Current version (v2019.01) support boot from eMMC and SD card.

Please follow the official README available here to generate the U-Boot's SPL, ATF and U-Boot firmware (the full firmware stack is Open Source on that board!).

Please note that your SD card or eMMC must use MBR partitions. GPT can be used but a workaround needs to be done to be able to embed U-Boot and the ATF firmware.

GRUB2 works with the EFI boot stack available in U-Boot.

openSUSE Tumbleweed installation using standard DVD

With TW and with the EFI boot protocol implemented in U-Boot, it is possible to directly install from DVD image.

Note this guide assumes:

  • that you already have a Leap/Tumbleweed OS installed on your PC
  • that you are familiar with the openSUSE installation procedure

To boot the DVD there are multiple ways:

  • burning the ISO on a USB key
  • booting the ISO through the network boot (PXE)

For each cases, it is still needed to use a SD card or USB key to load U-Boot (SD card is the preferred way).

The USB key installation method will be used here (with U-Boot on the SD card).

Graphical/textmode installation through HDMI partially works, but some issues can happen, so it is recommended to use textmode ssh installation if possible. Also, U-Boot shell is only accessible through serial console at that time.

Note: to be able to execute U-Boot from eMMC you need to use MBR disk scheme instead of the default GPT scheme. To do this you "simply" need to do a custom disk configuration. You can keep the default GPT partition scheme but you have to apply the workaround available at the end of this procedure AFTER the installation (through another computer if you aren't using the eMMC).

  1. Download the Tumbleweed ISO and "burn" it on the USB key - WARNING all previous data on the device will be lost!
    # dd if=[image].iso of=/dev/<usb_key> bs=4M iflag=direct,fullblock oflag=direct
    
  2. Insert the SD card and USB key into your board
  3. Connect the board to your PC via serial port (recommended; USB-TTL serial cable needed)
  4. Connect the board to your monitor (via DVI/HDMI, optional if you use the serial port)
  5. Power on the board
  6. Stop the U-boot procedure by pressing a key
  7. Force boot on the USB key
    Hit any key to stop autoboot:  0
    => run usb_boot
    
  8. Some parameters need to be set for installation, so you have to edit the boot option on GRUB and add the following options:
    console=ttyS0,115200 ssh=1 sshpassword=linux
    
  9. Some optional parameters are also useful:
    elevator=noop                # complex scheduling is not needed on flash drive
    splash=verbose               # can be useful to have all systemd messages on the console
    
  10. Your board is now booting the installation DVD!
  11. Connect to the board throught SSH and execute the installer (DISPLAY= is here to force textmode for YaST):
    # DISPLAY= yast.ssh
    
  12. Adapt your disk configuration if needed (GPT vs. MBR), normal installation is then expected!
  13. If you want to install U-Boot on the eMMC please pause the installation at the end before rebooting (Stop option) and follow the U-Boot installation on eMMC procedure

Note: after installation the serial console is by default reset to ttyAMA0, so you need to set it to ttyS0 again in /etc/defaut/grub (don't forget to re-generate grub.cfg file after!).

U-Boot installation on eMMC/SD card

After OS installation if you want to have U-Boot installed on the eMMC/SD card as well you just have to burn the u-boot-sunxi-with-spl.bin file in the "MBR gap" (can work on GPT with the workaround):

dd if=u-boot-sunxi-with-spl.bin of=/dev/mmcblk0 conv=fsync,notrunc bs=8k seek=1

And then reboot your board. U-Boot should be loaded directly from eMMC/SD card.

GPT workaround

  • "Save" the old GPT partitioning scheme
gdisk -l /dev/mmcblk0
  • Re-flash the whole SPL+ATF+U-Boot stack
dd if=u-boot-sunxi-with-spl.bin of=/dev/mmcblk0 conv=fsync,notrunc bs=8k seek=1
  • Move GPT partition table from sector 2 to sector 2016 (with gdisk)
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y

Command (? for help): x

Expert command (? for help): j
Currently, main partition table begins at sector 2 and ends at sector 33
Enter new starting location (2 to 2016; default is 2; 1 to abort): 2016

Expert command (? for help): m
  • Re-generate the partition table using the one previously saved