Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Revision and Notes

Date

Owner

Revision

Notes

26/10/2021

Josua Mayer

1.0

Initial release

26/06/2023

Josua Mayer

1.1

Production release

Table of Contents

Table of Contents
minLevel1
maxLevel7

Purpose

This guide provides basic instructions for operating the SolidRun AM64 HummingBoard-T and booting into Linux. Advanced usage scenarios are covered by separate technical documentation.

Hardware Setup

Connections

  • 12V DC Power Adapter (12V recommended, HummingBoard-T supports 9V-36V)

  • microUSB cable for serial console

  • microSD card for storing bootable SW

TODO: photo showing relevant connectors, with microUSB console and power only, and dip switchesImage AddedImage Added

Boot Select

Configure the boot-mode for microSD using onboard DIP switch S1:

Switch

1

2

3

4

5

6

microSD (FAT partition)

0

0

0

1

0

1

microSD (RAW)

1

0

0

0

1

1

eMMC

1

0

0

1

X

X

Info

Note: 0 = OFF, 1 = ON, X = don't care.

Console

Start an application for serial console - such as PuTTY or tio. Configure it for baud rate 115200 and the COMx or ttyUSBy interface representing the micro-USB console connection. For details also see Serial Connection.

Software Setup

Prepare bootable microSD Card

  1. Download prebuilt sdcard image based on debian: microsd-222ee6241a660b-debian-bullseye.img.xz-bookworm-sr1

  2. uncompress downloaded image file

  3. write image file to microSD card to create a byte-for-byte copy. https://etcher.io/ is recommended, professionals may use unix “dd” command.

Attention: The AM64x SOM modules are programmed with critical identifying information, including the product name and SKU, stored in an EEPROM at I2C bus 0, address 0x50. This data is structured according to the ONIE TLV standard and is essential for initializing the product and aligning the software accordingly. The tlv_eeprom command in U-Boot can be used to read this data.

Important: If this information is deleted or becomes corrupted, it will impact the correct initialization and functionality of the product. In such cases, please contact SolidRun support immediately for assistance.

First Steps with Debian reference system

Log-In

After inserting the programmed microSD card in the HummingBoard-T and after (re-)connecting the 12V power, the system should automatically boot to a login prompt displayed on the serial console:

...

Log in with user-name “root”, no password.

Networking

By default networking is not configured. For advanced or persistent configurations please refer to the Debian Documentation.

...

Code Block
languagebash
root@3f60b4ebfc7f:~# dhclient eth0
root@3f60b4ebfc7f:~# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 34:88:de:e3:c0:17 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.225/24 brd 192.168.1.255 scope global dynamic eth0
       valid_lft 552sec preferred_lft 552sec
    inet 192.168.1.226/24 brd 192.168.1.255 scope global secondary dynamic eth0
       valid_lft 552sec preferred_lft 552sec
    inet6 fe80::3688:deff:fee3:c017/64 scope link 
       valid_lft forever preferred_lft forever

Log-In via SSH

To log in via SSH, an ssh key must be installed first. Copy your favourite public key, e.g. from ~/.ssh/id_ed25519.pub, into a new file in the root users home directory at ~/.ssh/authorized_keys:

Code Block
languagebash
root@e7c450f97e59:~# mkdir .ssh
root@e7c450f97e59:~# cat > .ssh/authorized_keys << EOF
ssh-ed25519 AAAAinsertyour pubkey@here
EOF

Expand Root Filesystem

After flashing the root filesystem is smaller than the eMMC. To utilize all space, resize both the rootfs partition - and then the filesystem:

  1. inspect partitions:

    Using fdisk, view the current partitions. Take note of the start sector for partition 12!

    Code Block
    languagebash
    root@e7c450f97e59root@3f60b4ebfc7f:~# fdisk /dev/mmcblk0mmcblk1
    
    Welcome to fdisk (util-linux 2.36.1).
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
    
    
    Command (m for help): p
    Disk /dev/mmcblk0mmcblk1: 7.2842 GiB, 78200832007969177600 bytes, 1527360015564800 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0xcc3ec3d40xff9ddf85
    
    Device         Boot  Start      End  Sectors  Size Id Type
    /dev/mmcblk0p1  mmcblk1p1        8192  131071  122880   60M  c W95 FAT32 (LBA)
    /dev/mmcblk1p2    49152  2690687131072 2048000 26415351916929  1.3G936M 83 Linux
    
    Command (m for help):
  2. resize partition 1:

    Drop and re-create partition 1 2 at the same starting sector noted before, keeping the ext4 signature when prompted:

    Code Block
    languagebash
    Command (m for help): d
    SelectedPartition partitionnumber (1,2, default 2): 2
    
    Partition 12 has been deleted.
    
    Command (m for help): n
    Partition type
       p   primary (01 primary, 0 extended, 43 free)
       e   extended (container for logical partitions)
    Select (default p): p
    Partition number (12-4, default 12): 12
    First sector (2048-1527359915564799, default 2048): 49152131072
    Last sector, +/-sectors or +/-size{K,M,G,T,P} (49152131072-1527359915564799, default 1527359915564799): 
    
    Created a new partition 12 of type 'Linux' and of size 7.34 GiB.
    Partition #1#2 contains a ext4 signature.
    
    Do you want to remove the signature? [Y]es/[N]o: N
    
    Command (m for help): p
    
    Disk /dev/mmcblk0mmcblk1: 7.2842 GiB, 78200832007969177600 bytes, 1527360015564800 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0xcc3ec3d40xff9ddf85
    
    Device         Boot  Start      End  Sectors  Size Id Type
    /dev/mmcblk0p1mmcblk1p1        8192   131071   122880   60M  c W95 FAT32 (LBA)
    /dev/mmcblk1p2      49152131072 1527359915564799 1522444815433728  7.3G4G 83 Linux
    
    Command (m for help): w
    The partition table has been altered.
    Syncing disks.
  3. resize root filesystem:

    Linux supports online-resizing for the ext4 filesystem. Invoke resize2fs on partition 1 to do so:

    Code Block
    languagebash
    root@e7c450f97e59root@3f60b4ebfc7f:~# resize2fs /dev/mmcblk0p1mmcblk1p2

Additional Information