Versions Compared

Key

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

Revision and Notes

Date

Owner

Revision

Notes

26/10/2021

1.0

Initial release

26/06/2023

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 switches

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

Note: 0 = OFF, 1 = ON.

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-222ee62-debian-bullseye.img.xz

  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.

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 1!

    Code Block
    languagebash
    root@e7c450f97e59:~# fdisk /dev/mmcblk0
    
    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/mmcblk0: 7.28 GiB, 7820083200 bytes, 15273600 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: 0xcc3ec3d4
    
    Device         Boot Start      End  Sectors  Size Id Type
    /dev/mmcblk0p1      49152  2690687  2641535  1.3G 83 Linux
    
    Command (m for help):
  2. resize partition 1:

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

    Code Block
    languagebash
    Command (m for help): d
    Selected partition 1
    Partition 1 has been deleted.
    
    Command (m for help): n
    Partition type
       p   primary (0 primary, 0 extended, 4 free)
       e   extended (container for logical partitions)
    Select (default p): p
    Partition number (1-4, default 1): 1
    First sector (2048-15273599, default 2048): 49152
    Last sector, +/-sectors or +/-size{K,M,G,T,P} (49152-15273599, default 15273599):
    
    Created a new partition 1 of type 'Linux' and of size 7.3 GiB.
    Partition #1 contains a ext4 signature.
    
    Do you want to remove the signature? [Y]es/[N]o: N
    
    Command (m for help): p
    
    Disk /dev/mmcblk0: 7.28 GiB, 7820083200 bytes, 15273600 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: 0xcc3ec3d4
    
    Device         Boot Start      End  Sectors  Size Id Type
    /dev/mmcblk0p1      49152 15273599 15224448  7.3G 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@e7c450f97e59:~# resize2fs /dev/mmcblk0p1

Additional Information