1. Overview

This stage explains how to connect the Linux terminal of your board to your host computer through the ST-LINK/V2-1.
Then you can see how to execute basic commands with the Linux command line interface in order to be familiarized with the Linux console.

2. The serial terminal

The serial terminal allows you to communicate with the board trough an UART serial interface.

  • Install minicom
 sudo apt-get install minicom
  • Get the ttyACM device instance that needs to be used to access the ST-LINK/V2-1
 ls /dev/ttyACM*
/dev/ttyACM0
  • Connect the minicom to the /dev/ttyACM0 device
 minicom -D /dev/ttyACM0
Welcome to minicom 2.7

OPTIONS: I18n 
Compiled on Nov 15 2018, 20:18:47.
Port /dev/ttyACM0, 15:56:03

Press CTRL-A Z for help on special keys
  • Press the reset button to reset the board. You should see logs displayed in the minicom window

For ecosystem release v1.1.0 :

NOTICE:  CPU: STM32MP157CAA Rev.B
NOTICE:  Model: STMicroelectronics STM32MP157C eval daughter on eval mother
NOTICE:  Board: MB1263 Var1 Rev.C-01
INFO:    Reset reason (0x54):
INFO:      System reset generated by MPU (MPSYSRST)
INFO:    Using SDMMC
INFO:      Instance 1
INFO:    Boot used partition fsbl1
NOTICE:  BL2: v2.0-r1.5(debug):
NOTICE:  BL2: Built : 13:13:37, Oct  2 2018
INFO:    BL2: Doing platform setup
INFO:    PMIC version = 0x10
INFO:    RAM: DDR3-1066/888 bin G 2x4Gb 533MHz v1.45
INFO:    Memory size = 0x40000000 (1024 MB)
INFO:    BL2 runs SP_MIN setup
INFO:    BL2: Loading image id 4
INFO:    Loading image id=4 at address 0x2fff0000
INFO:    Image id=4 loaded: 0x2fff0000 - 0x30000000
INFO:    BL2: Loading image id 5
INFO:    Loading image id=5 at address 0xc0100000
INFO:    STM32 Image size : 810110
WARNING: Skip signature check (header option)
INFO:    Image id=5 loaded: 0xc0100000 - 0xc01c5c7e
INFO:    read version 0 current version 0
NOTICE:  BL2: Booting BL32
INFO:    Entry point address = 0x2fff0000
INFO:    SPSR = 0x1d3
INFO:    PMIC version = 0x10
NOTICE:  SP_MIN: v2.0-r1.5(debug):
NOTICE:  SP_MIN: Built : 13:13:37, Oct  2 2018
INFO:    ARM GICv2 driver initialized
INFO:    stm32mp HSI (18): Secure only
INFO:    stm32mp HSE (20): Secure only
INFO:    stm32mp PLL2 (27): Secure only
INFO:    stm32mp PLL2_R (30): Secure only
INFO:    SP_MIN: Initializing runtime services
INFO:    SP_MIN: Preparing exit to normal world


U-Boot 2018.11-stm32mp-r3 (Nov 14 2018 - 16:10:06 +0000)

CPU: STM32MP157CAA Rev.B
Model: STMicroelectronics STM32MP157C eval daughter on eval mother
Board: stm32mp1 in trusted mode (st,stm32mp157c-ev1)
Board: MB1263 Var1 Rev.C-01
DRAM:  1 GiB
Clocks:
- MPU : 650 MHz
- MCU : 208.878 MHz
- AXI : 266.500 MHz
- PER : 24 MHz
- DDR : 533 MHz
NAND:  1024 MiB
MMC:   STM32 SDMMC2: 0, STM32 SDMMC2: 1
Loading Environment from EXT4... OK
In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@5800a000
Hit any key to stop autoboot:  0 
Boot over mmc0!
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:4...
Found U-Boot script /boot.scr.uimg
1553 bytes read in 1 ms (1.5 MiB/s)
## Executing script at c4100000
Scanning mmc 0:4...
Found /mmc0_stm32mp157c-ev1_extlinux/extlinux.conf
Retrieving file: /mmc0_stm32mp157c-ev1_extlinux/extlinux.conf
614 bytes read in 1 ms (599.6 KiB/s)
Retrieving file: /splash.bmp
46180 bytes read in 4 ms (11 MiB/s)
Select the boot mode
1:      stm32mp157c-ev1-sdcard
2:      stm32mp157c-ev1-a7-examples-sdcard
3:      stm32mp157c-ev1-m4-examples-sdcard
Enter choice: 1:        stm32mp157c-ev1-sdcard
Retrieving file: /uImage
6652480 bytes read in 294 ms (21.6 MiB/s)
append: root=/dev/mmcblk0p6 rootwait rw console=ttySTM0,115200
Retrieving file: /stm32mp157c-ev1.dtb
73259 bytes read in 4 ms (17.5 MiB/s)
## Booting kernel from Legacy Image at c2000000 ...
   Image Name:   Linux-4.19.49
   Created:      2019-06-09   7:17:25 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    6652416 Bytes = 6.3 MiB
   Load Address: c2000040
   Entry Point:  c2000040
   Verifying Checksum ... OK
## Flattened Device Tree blob at c4000000
   Booting using the fdt blob at 0xc4000000
   XIP Kernel Image ... OK
   Using Device Tree in place at c4000000, end c4014e2a
SF: Detected mx25l51235f with page size 256 Bytes, erase size 64 KiB, total 64 B

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.19.49 (oe-user@oe-host) (gcc version 8.2.0 (GCC)9
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instructie
[    0.000000] OF: fdt: Machine model: STMicroelectronics STM32MP157C eval daugr
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created DMA memory pool at 0x10000000, size 0 MB
[    0.000000] OF: reserved mem: initialized node mcuram2@0x10000000, compatibll
[    0.000000] Reserved memory: created DMA memory pool at 0x10040000, size 0 MB
[    0.000000] OF: reserved mem: initialized node vdev0vring0@10040000, compatil
[    0.000000] Reserved memory: created DMA memory pool at 0x10042000, size 0 MB
...
[    3.370352] stm32_rtc 5c004000.rtc: setting system clock to 2000-01-01 00:16)
[    3.379410] ALSA device list:
[    3.381354]   #0: STM32MP1-EV
[    3.401085] EXT4-fs (mmcblk0p6): mounted filesystem with ordered data mode. )
[    3.407812] VFS: Mounted root (ext4 filesystem) on device 179:38.
[    3.420459] devtmpfs: mounted
[    3.423774] Freeing unused kernel memory: 1024K
[    3.427170] Run /sbin/init as init process
[    3.601251] systemd[1]: System time before build time, advancing clock.
[    3.680903] NET: Registered protocol family 10
[    3.717093] Segment Routing with IPv6
[    3.740417] systemd[1]: systemd 239 running in system mode. (+PAM -AUDIT -SE)
[    3.761124] systemd[1]: Detected architecture arm.

Welcome to ST OpenSTLinux - Weston - (A Yocto Project Based Distro) 2.6-openstl!

[    3.813855] systemd[1]: Set hostname to <stm32mp1>.
[    3.824369] systemd[1]: Hardware watchdog 'STM32 Independent Watchdog', vers0
[    3.831548] systemd[1]: Set hardware watchdog to 30s.
[    4.436713] systemd[1]: Unnecessary job for dev-ttySTM0.device was removed.
[    4.445218] systemd[1]: Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket (/dev/log).
[    4.480281] systemd[1]: Listening on initctl Compatibility Named Pipe.
[  OK  ] Listening on initctl Compatibility Named Pipe.
[    4.524206] systemd[1]: Created slice system-serial\x2dgetty.slice.
[  OK  ] Created slice system-serial\x2dgetty.slice.
[    4.560712] systemd[1]: Listening on udev Control Socket.
[  OK  ] Listening on udev Control Socket.
[  OK  ] Created slice User and Session Slice.
[  OK  ] Reached target Slices.
[  OK  ] Reached target Remote File Systems.
[  OK  ] Listening on Network Service Netlink Socket.
[  OK  ] Reached target Swap.
[  OK  ] Listening on Process Core Dump Socket.
[  OK  ] Listening on udev Kernel Socket.
[  OK  ] Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Started Forward Password Requests to Wall Directory Watch.
...
[  OK  ] Started Save/Restore Sound Card State.
[  OK  ] Started Weston Wayland Compositor.
[  OK  ] Reached target Sound Card.
[  OK  ] Started Serial Getty on ttySTM0.
[  OK  ] Started Getty on tty1.
[  OK  ] Reached target Login Prompts.
[  OK  ] Started Login Service.
[  OK  ] Started Avahi mDNS/DNS-SD Stack.
[  OK  ] Started Netdata, Real-time performance monitoring.
[  OK  ] Started Sound Service.
[  OK  ] Reached target Multi-User System.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Started Update UTMP about System Runlevel Changes.
[   23.011003] cfg80211: Loading compiled-in X.509 certificates for regulatory e
[   23.051458] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'

ST OpenSTLinux - Weston - (A Yocto Project Based Distro) 2.6-openstlinux-4.19-t0

stm32mp1 login: root (automatic login)

root@stm32mp1:~# 

For ecosystem release v1.0.0 :

3. Basic commands

3.1. Printing distribution specific information

For ecosystem release v1.1.0 :

 lsb_release -a
LSB Version:    core-5.0-noarch:core-5.0-arm
Distributor ID: openstlinux-weston
Description:    ST OpenSTLinux - Weston - (A Yocto Project Based Distro) 2.6-openstlinux-4.19-thud-mp1-19-10-09
Release:        2.6-openstlinux-4.19-thud-mp1-19-10-09
Codename:       thud

For ecosystem release v1.0.0 :

3.2. Printing system information

For ecosystem release v1.1.0 :

 uname -a
Linux stm32mp1 4.19.49 #1 SMP PREEMPT Sun Jun 9 07:17:25 UTC 2019 armv7l armv7l armv7l GNU/Linux

For ecosystem release v1.0.0 :

3.3. Printing Linux kernel and GCC versions

For ecosystem release v1.1.0 :

 cat /proc/version
Linux version 4.19.49 (oe-user@oe-host) (gcc version 8.2.0 (GCC)) #1 SMP PREEMPT Sun Jun 9 07:17:25 UTC 2019      

For ecosystem release v1.0.0 :

3.4. Printing the amount of disk space available on all mounted file systems

 df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       719M  360M  321M  53% /
devtmpfs        150M     0  150M   0% /dev
tmpfs           214M     0  214M   0% /dev/shm
tmpfs           214M   12M  203M   6% /run
tmpfs           214M     0  214M   0% /sys/fs/cgroup
tmpfs           214M  4.0K  214M   1% /tmp
/dev/mmcblk0p4   58M  8.2M   46M  16% /boot
tmpfs           214M   92K  214M   1% /var/volatile
/dev/mmcblk0p7  6.4G   68M  6.1G   2% /usr/local
/dev/mmcblk0p5   15M  8.2M  5.3M  61% /vendor
tmpfs            43M     0   43M   0% /run/user/0


3.5. ssh connection (only if Ethernet cable is connected)

  • Get the IP address of your board
 ip addr show eth0                                                                           
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet xx.xx.xx.xx/xx brd xx.xx.xx.xx scope global dynamic eth0
       valid_lft 159045sec preferred_lft 159045sec
    inet6 xxxx::xx:xx:xx:xx/64 scope link 
       valid_lft forever preferred_lft forever
  • On the host computer connect the terminal to the board using ssh
 ssh root@xx.xx.xx.xx
root@stm32mp1:~#