Build and run

On your Ubuntu machine, perform the following to build and run the example Linux user distribution. It contains a small Linux system with various demo applications.

  1. Write your device’s Maintenance password into a file called device-password.txt. The password is needed for flashing the device using the debug USB port.

    If you do not have the password, you can request it from Actia. You need to provide the device’s UUID. The UUID can be retrieved using make uuid or by scanning the QR code on the device.

  2. Write your user product product number to a file called user-product-number.txt. The user software product number is a string on the form AAAA-BBB-CC provided by ACTIA that identifies the user software.

    While not required during development, it is expected that software used in production contains this identifier. Before a user software product number has been provided by ACTIA the default of 0000-000-00 shall be used.

  3. Write the version of your software to a file called user-software-version.txt. The version is expected to be on the form A.B.C.

  4. Place your keystore file in the root of the SDK directory. The name of the file is should match the glob *keystore*.bpak.

  5. Configure the example Linux distribution to use the default Actia configuration.

    $ make defconfig
    
  6. Build the Linux distribution. This will take a few minutes. Buildroot will download Linux application sources from the Internet.

    $ make
    
  7. Make sure the ONSW signal is on and then write the Linux distribution image to the ACU6-Pro device. (Without ONSW, the device will suspend if no application has requested power.)

    If the make command fails and you are using VirtualBox, you should add the USB device Punch BOOT to the USB Device Filters list. To get to the add device view, right click on your virtual machine and then click Settings -> USB.

    $ ./rundocker.sh utils/onsw.sh on
    $ make flash
    
  8. Connect to the ACU6-Pro device with SSH and print build information. The build time should be close to the current UTC time.

    Note that the first SSH connection attempt will take longer time, as the example Linux distribution generates its SSH keys on the first connection.

    Note

    If you can flash the device but cannot connect via SSH, try toggling the power.

    $ ssh acu6pro
    # uname -a
    Linux buildroot 5.4.22 #1 SMP Fri Apr 3 14:53:43 UTC 2020 aarch64 GNU/Linux
    #
    
  9. To test Internet connectivity, request the cellular service and ping the Google DNS (8.8.8.8).

    It takes up to a minute for the ACU6-Pro device to connect to the cellular network and get an Internet connection, so be patient.

    # modemcontrol-demo request
    # ping -c 3 8.8.8.8
    PING 8.8.8.8 (8.8.8.8): 56 data bytes
    64 bytes from 8.8.8.8: seq=0 ttl=51 time=204.807 ms
    64 bytes from 8.8.8.8: seq=1 ttl=51 time=203.942 ms
    64 bytes from 8.8.8.8: seq=2 ttl=51 time=194.986 ms
    
    --- 8.8.8.8 ping statistics ---
    3 packets transmitted, 3 packets received, 0% packet loss
    round-trip min/avg/max = 194.986/201.245/204.807 ms
    #
    

Now you know how to build and run the example Linux distribution. In the next section we’ll look into Creating a Linux distribution.