For the complete documentation index, see llms.txt. This page is also available as Markdown.

A38X Debian

Overview

As a proof of concept and for prototyping purposes we provide the option to run Debian on Armada 38x based devices. Please note that our images are not pure Debian - we made changes where necessary to enable our hardware.

Device Support Matrix

Release
Clearfog base
Clearfog Pro
Clearfog GTR

11 Bullseye (images.solid-run.com)

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Yes

No

Yes

Yes

No

11 Bullseye (debian.org)

Yes

Yes

No

10 Buster (debian.org)

Yes

Yes

No

9 Stretch (debian.org)

Yes

Yes

No

8 Jessie (debian.org)

No

No

No

Reference Images

Readily usable images of Debian are available at images.solid-run.com. They are intended to be used with any block storage device, and do not come with a boot-loader Please refer to our A38X U-Boot page for installation instructions.

Default username and password are debian and debian - with sudo privileges.

Using a tool of choice our images can be decompressed and written to a microSD card. We suggest etcher.io which takes care of the decompression by itself. Alternatively an image can be written to an arbitrary drive on a Unix system:

Customizing the Reference Images

The debian images are produced from a custom build system. The sources are available on github. To add software packages, configuration files or any other modifications: Look at configs/sr-a38x-debian-stretch.inc

Pure Debian (upstream)

Getting the Files

All files required are available on the download page for buster and download page for debian-installer:

Preparing the block-device

  • Unpack hd-media.tar.gz to a partition on the drive

  • Copy the downloaded ISO to a (/the same) partition on the drive

Add U-Boot (optional)

U-Boot for the Clearfog devices is not part of Debian! That means it needs to be installed and managed seperately.

If the installation media is a microSD, then it can be wise to now install U-Boot to that card by following our instructions on the U-Boot page.

Otherwise U-Boot has to be loaded via UART or be already available on one of eMMC, microSD, SPI Flash and SSD.

Warning: If U-Boot is installed on the same disk that debian will be installed to, it may get overridden! Safe locations for U-Boot are SPI Flash and the boot partitions of eMMC.

Add a preseed.cfg (optional)

A preseed file can be used to fully automate the installation. The Debian project maintains a sample for its current stable release at https://www.debian.org/releases/stable/example-preseed.txt.

Below is a sample for installing Buster to an M.2 SSD:

Another method for acquiring a preseed.cfg file is to run the installer by hand, then ask debconf for the settings that the installer had been using:

The preseed.cfg file should be placed on the installation drive next to the iso image. In addition the automatic install has to be explicitly enabled through the kernel commandline from the U-Boot console:

Starting the Installation

All that is left to do is attaching the block storage to the Clearfog board and powering it up. The text based installer will show up on the serial console if boot succeeds.

The boot order is controlled by the boot_targets U-Boot environment variable. By default it says:

  1. scsi0

  2. mmc0

  3. usb0

  4. pxe

  5. dhcp

In case the installer isn’t started automatically because an existing system is found and started first, booting from the installer drive can be forced by invoking the corresponding boot command on the U-Boot console:

Known Issues

EXPKEYSIG on repo.solid-build.xyz

Up to April 2018 we did not have a facility in place to update our repository signing key. While the key has been renewed on our build server, it did expire on any images from before October 22th 2017.

You know that you are affected when apt-get update shows an error message such as:

It is suggested that you install our solidrun-keyring package from our repos by hand. In the future this package will be used to roll out key extensions in the future. Navigate to stretch or jessie; Find the deb by name of solidrun-keyring_*_all.deb and install. Now apt should once again be happy about our key.

systemd[1]: Time has been changed

When the rtc has an invalid state, this error message can render debian unusable. In this case the rtc eneds to be reset. Enter u-boot console by pressing any key at the u-boot prompt, then reset the rtc twice and reboot:

Clearfog Base / Pro eMMC Software Installation

Installing software on a ClearFog SOM with eMMC is a little tricky. You can not use the eMMC and the SD card simultaneously. The software for both initial boot, and the eMMC installation must be loaded from some other interface. Fortunately, the Armada 388 chip can boot from UART, so we can use that for initial boot.

This section describes a relatively painless procedure for installing the SolidRun provided Debian image on the eMMC. You will need to following items:

  • USB storage device (Disk-on-Key), FAT formatted

  • x86 PC running any flavor of Linux

Installation instructions follow.

  1. Download an installation images and utilities archive from here.

  2. Connect your x86 PC host to the ClearFog UART console on the micro-USB

  3. Copy the following files from the archive to the x86 PC:

    • kwboot

    • u-boot-clearfog-base-uart.kwb

  4. Copy the following files from the archive to the USB storage device:

    • u-boot-clearfog-base-mmc.kwb

    • zImage

    • armada-388-clearfog.dtb

  5. Create a directory named extlinux in the USB storage device

  6. Copy the file extlinux.conf from the archive into the extlinux directory

  7. Copy the latest Debian image (.img.*z suffix) from here to the USB storage device

  8. Set the Clearfog boot select DIP switches to UART boot:

    • For Clearfog Pro set to 11110

    • For Clearfog Base set to 01001

  9. Plug the USB storage device into the Clearfog

  10. Run the following command on the x86 PC:

  11. Power up the Clearfog

  12. Wait a few minutes of the U-Boot image to download

  13. Hit a key to stop autoboot

  14. Configure the eMMC to boot from hardware boot partition:

  15. Reset the RTC block

  16. Boot initial installation Linux image

  17. Type root at the buildroot login: prompt

  18. Mount the USB storage device

  19. Install the bootloader

  20. Install the Debian filesystem

  21. Unmount the USB storage device

  22. Power off the Clearfog

  23. Set the DIP switches back to boot from SD/eMMC: 00111

  24. Power on the Clearfog

  25. Debian should boot to the login: prompt

Clearfog GTR eMMC Software Installation

This section describes a procedure for installing the SolidRun provided Debian image on the Clearfog GTR eMMC storage. You will need the following items:

  • USB storage device (Disk-on-Key), FAT formatted

  • x86 PC (64-bit) running any flavor of Linux

Installation instructions follow.

  1. Download an installation images and utilities archive from here

  2. Connect your x86 PC host to the ClearFog GTR UART console on the micro-USB

  3. Copy the following files from the archive to the x86 PC:

    • kwboot

    • u-boot-spl.kwb

  4. Copy the following files from the archive to the USB storage device:

    • u-boot-spl.kwb

    • zImage

    • armada-385-clearfog-gtr-l8.dtb

  5. Create a directory named extlinux in the USB storage device

  6. Copy the file extlinux.conf from the archive into the extlinux directory

  7. Copy the latest Debian image (.img.*z suffix) from here to the USB storage device

  8. Set the Clearfog GTR boot select DIP switches to eMMC boot: 00111

  9. Plug the USB storage device into the Clearfog

  10. Run the following command on the x86 PC:

  11. Power up the Clearfog GTR

  12. Wait a few minutes of the U-Boot image to download

  13. Hit a key to stop autoboot

  14. Configure the eMMC to boot from hardware boot partition:

  15. Boot initial installation Linux image:

  16. Mount the USB storage device:

  17. Install the bootloader:

  18. Install the Debian filesystem:

  19. Unmount the USB storage device:

  20. Reset or power cycle the Clearfog GTR

  21. Debian should boot to the login: prompt

Last updated