1. Overview[edit source]
This stage explains how to connect the Linux terminal of your board to your host computer through the ST-LINK/V2-1.
Then you will 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[edit source]
The serial terminal allows to communicate with the board trough a UART serial interface.
- Install minicom
sudo apt-get install minicom
- Get the ttyACM device instance that need 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 boot log displayed in the minicom window
For ecosystem release v2.1.0 :
NOTICE: Model: STMicroelectronics STM32MP157C-DK2 Discovery Board NOTICE: Board: MB1272 Var2.0 Rev.C-01 INFO: Reset reason (0x14): INFO: Pad Reset from NRST INFO: PMIC version = 0x10 INFO: Using SDMMC INFO: Instance 1 INFO: Boot used partition fsbl1 NOTICE: BL2: v2.2-r2.0(debug):v2.2-dirty NOTICE: BL2: Built : 13:36:23, Oct 22 2019 INFO: Using crypto library 'stm32_crypto_lib' INFO: BL2: Doing platform setup INFO: RAM: DDR3-DDR3L 16bits 533000Khz INFO: Memory size = 0x20000000 (512 MB) INFO: BL2 runs SP_MIN setup INFO: BL2: Loading image id 4 INFO: Loading image id=4 at address 0x2ffeb000 INFO: Image id=4 loaded: 0x2ffeb000 - 0x2ffff000 INFO: BL2: Loading image id 5 INFO: Loading image id=5 at address 0xc0100000 INFO: STM32 Image size : 904564 INFO: Image id=5 loaded: 0xc0100000 - 0xc01dcd74 WARNING: Skip signature check (header option) NOTICE: ROTPK is not deployed on platform. Skipping ROTPK verification. NOTICE: BL2: Booting BL32 INFO: Entry point address = 0x2ffeb000 INFO: SPSR = 0x1d3 NOTICE: SP_MIN: v2.2-r2.0(debug):v2.2-dirty NOTICE: SP_MIN: Built : 13:36:23, Oct 22 2019 INFO: ARM GICv2 driver initialized INFO: Set calibration timer to 60 sec INFO: stm32mp IWDG1 (12): Secure INFO: SP_MIN: Initializing runtime services INFO: SP_MIN: Preparing exit to normal world U-Boot 2020.01-stm32mp-r2 (Jan 06 2020 - 20:56:31 +0000) CPU: STM32MP157CAC Rev.B Model: STMicroelectronics STM32MP157C-DK2 Discovery Board Board: stm32mp1 in trusted mode (st,stm32mp157c-dk2) Board: MB1272 Var2.0 Rev.C-01 DRAM: 512 MiB Clocks: - MPU : 650 MHz - MCU : 208.878 MHz - AXI : 266.500 MHz - PER : 24 MHz - DDR : 533 MHz WDT: Started with servicing (32s timeout) NAND: 0 MiB MMC: STM32 SD/MMC: 0, STM32 SD/MMC: 1 Loading Environment from MMC... 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 /mmc0_extlinux/stm32mp157c-dk2_extlinux.conf Retrieving file: /mmc0_extlinux/stm32mp157c-dk2_extlinux.conf 706 bytes read in 39 ms (17.6 KiB/s) Retrieving file: /splash.bmp 18244 bytes read in 40 ms (445.3 KiB/s) Select the boot mode 1: OpenSTLinux 2: stm32mp157c-dk2-a7-examples 3: stm32mp157c-dk2-m4-examples Enter choice: 1: OpenSTLinux Retrieving file: /uInitrd 3632201 bytes read in 193 ms (17.9 MiB/s) Retrieving file: /uImage 7341840 bytes read in 350 ms (20 MiB/s) append: root=PARTUUID=e91c4e10-16e6-4c0e-bd0e-77becf4a3582 rootwait rw console=ttySTM0,115200 Retrieving file: /stm32mp157c-dk2.dtb 105410 bytes read in 44 ms (2.3 MiB/s) ## Booting kernel from Legacy Image at c2000000 ... Image Name: Linux-5.4.56 Created: 2020-08-05 7:59:52 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 7341776 Bytes = 7 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 Loading Ramdisk to cfc89000, end cffffc49 ... OK Loading Device Tree to cfc6c000, end cfc88bc1 ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 5.4.56 (oe-user@oe-host) (gcc version 9.3.0 (GCC)) #1 SMP PREEMPT Wed Aug 5 07:59:52 UTC 2020 [ 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 instruction cache [ 0.000000] OF: fdt: Machine model: STMicroelectronics STM32MP157C-DK2 Discovery Board [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] Reserved memory: created DMA memory pool at 0x10000000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node mcuram2@10000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x10040000, size 0 MiB [...] [ 3.960443] ALSA device list: [ 3.961953] #0: STM32MP1-DK [ 3.968610] Freeing unused kernel memory: 1024K [ 3.972052] Run /init as init process [ 3.985075] usb 2-1: new high-speed USB device number 2 using ehci-platform [ 4.187032] hub 2-1:1.0: USB hub found [ 4.189640] hub 2-1:1.0: 4 ports detected Starting version 244.3+ [ 6.703852] EXT4-fs (mmcblk0p6): recovery complete [ 6.718117] EXT4-fs (mmcblk0p6): mounted filesystem with ordered data mode. Opts: (null) [ 7.234072] systemd[1]: System time before build time, advancing clock. [ 7.372495] NET: Registered protocol family 10 [ 7.410303] Segment Routing with IPv6 [ 7.460069] systemd[1]: systemd 244.3+ running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR -SMACK +SYSVINIT +UTMP -LIBCRYPTSETU) [ 7.481460] systemd[1]: Detected architecture arm. Welcome to ST OpenSTLinux - Weston - (A Yocto Project Based Distro) 3.1-openstlinux-5-4-dunfell-mp1-20-11-12 (dunfell)! [ 7.579036] systemd[1]: Set hostname to <stm32mp1>. [ 7.592524] systemd[1]: Hardware watchdog 'STM32 Independent Watchdog', version 0 [ 7.599743] systemd[1]: Set hardware watchdog to 32s. [ 8.499944] systemd[1]: Unnecessary job for /dev/ttySTM0 was removed. [ 8.513366] systemd[1]: Created slice system-getty.slice. [ OK ] Created slice system-getty.slice. [...] [ OK ] Started Login Service. [ OK ] Started Hostname Service. [ OK ] Started Network Name Resolution. [ OK ] Reached target Network. [ OK ] Reached target Host and Network Name Lookups. Starting Avahi mDNS/DNS-SD Stack... [ OK ] Started IIO Daemon. [ OK ] Started Respond to IPv6 Node Information Queries. Starting Sound Service... [ OK ] Started Network Router Discovery Daemon. Starting Permit User Sessions... Starting Target Communication Framework agent... [ OK ] Started Permit User Sessions. [ OK ] Started Avahi mDNS/DNS-SD Stack. [ OK ] Started Getty on tty1. [ OK ] Started Serial Getty on ttySTM0. [ OK ] Reached target Login Prompts. Starting Weston Wayland Compositor (on tty7)... [ OK ] Started Target Communication Framework agent. [ 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. [ OK ] Started Weston Wayland Compositor (on tty7). ST OpenSTLinux - Weston - (A Yocto Project Based Distro) 3.1-openstlinux-5-4-dunfell-mp1-20-11-12 stm32mp1 ttySTM0 stm32mp1 login: root (automatic login) root@stm32mp1:~#
For ecosystem release v2.0.0 :
U-Boot 2020.01-stm32mp-r1 (Jan 06 2020 - 20:56:31 +0000) CPU: STM32MP157CAC Rev.B Model: STMicroelectronics STM32MP157C-DK2 Discovery Board Board: stm32mp1 in trusted mode (st,stm32mp157c-dk2) Board: MB1272 Var2.0 Rev.C-01 DRAM: 512 MiB Clocks: - MPU : 650 MHz - MCU : 208.878 MHz - AXI : 266.500 MHz - PER : 24 MHz - DDR : 533 MHz WDT: Started with servicing (32s timeout) NAND: 0 MiB MMC: STM32 SD/MMC: 0, STM32 SD/MMC: 1 Loading Environment from MMC... 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 /mmc0_extlinux/stm32mp157c-dk2_extlinux.conf Retrieving file: /mmc0_extlinux/stm32mp157c-dk2_extlinux.conf 706 bytes read in 39 ms (17.6 KiB/s) Retrieving file: /splash.bmp 18244 bytes read in 39 ms (456.1 KiB/s) Select the boot mode 1: OpenSTLinux 2: stm32mp157c-dk2-a7-examples 3: stm32mp157c-dk2-m4-examples Enter choice: 1: OpenSTLinux Retrieving file: /uInitrd 3632439 bytes read in 192 ms (18 MiB/s) Retrieving file: /uImage 7309840 bytes read in 349 ms (20 MiB/s) append: root=PARTUUID=e91c4e10-16e6-4c0e-bd0e-77becf4a3582 rootwait rw console=ttySTM0,115200 Retrieving file: /stm32mp157c-dk2.dtb 72638 bytes read in 42 ms (1.6 MiB/s) ## Booting kernel from Legacy Image at c2000000 ... Image Name: Linux-5.4.31 Created: 2020-04-08 7:08:47 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 7309776 Bytes = 7 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 Loading Ramdisk to cfc89000, end cffffd37 ... OK Loading Device Tree to cfc74000, end cfc88bbd ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 5.4.31 (oe-user@oe-host) (gcc version 9.3.0 (GCC)) #1 SMP PREEMPT Wed Apr 8 07:08:47 UTC 2020 [ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d [ 0.000000] CPU: div instructions available: patching division code [...] [ 5.635752] EXT4-fs (mmcblk0p6): recovery complete [ 5.641146] EXT4-fs (mmcblk0p6): mounted filesystem with ordered data mode. Opts: (null) /init: eval: line 1: resize_enabled: not found [ 6.136734] systemd[1]: System time before build time, advancing clock. [ 6.277018] NET: Registered protocol family 10 [ 6.323818] Segment Routing with IPv6 [ 6.374449] systemd[1]: systemd 244.3+ running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR -SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS -ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid) [ 6.396282] systemd[1]: Detected architecture arm. Welcome to ST OpenSTLinux - Weston - (A Yocto Project Based Distro) 3.1-openstlinux-5.4-dunfell-mp1-20-06-24 (dunfell)! [ 6.534284] systemd[1]: Set hostname to <stm32mp1>. [ 6.547703] systemd[1]: Hardware watchdog 'STM32 Independent Watchdog', version 0 [ 6.555015] systemd[1]: Set hardware watchdog to 32s. [ 7.427085] systemd[1]: Unnecessary job for /dev/ttySTM0 was removed. [ 7.440799] systemd[1]: Created slice system-getty.slice. [ OK ] Created slice system-getty.slice. [ 7.482766] systemd[1]: Created slice system-serial\x2dgetty.slice. [ OK ] Created slice system-serial\x2dgetty.slice. [ 7.522459] systemd[1]: Created slice User and Session Slice. [ OK ] Created slice User and Session Slice. [ 7.561023] systemd[1]: Started Dispatch Password Requests to Console Directory Watch. [ OK ] Started Dispatch Password …ts to Console Directory Watch. [ 7.600914] systemd[1]: Started Forward Password Requests to Wall Directory Watch. [...] [ OK ] Started Serial Getty on ttySTM0. [ OK ] Reached target Login Prompts. Starting Weston Wayland Compositor (on tty7)... [ 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. [ OK ] Started Weston Wayland Compositor (on tty7). ST OpenSTLinux - Weston - (A Yocto Project Based Distro) 3.1-openstlinux-5.4-dunfell-mp1-20-06-24 stm32mp1 ttySTM0 root@stm32mp1:
3. Basic commands[edit source]
3.1. Printing distribution specific information[edit source]
For ecosystem release v2.1.0 :
cat /etc/build
-----------------------
Build Configuration: |
-----------------------
BB_VERSION = 1.46.0
BUILD_SYS = x86_64-linux
NATIVELSBSTRING = universal
TARGET_SYS = arm-ostl-linux-gnueabi
MACHINE = stm32mp1
DISTRO = openstlinux-weston
DISTRO_VERSION = 3.1-openstlinux-5-4-dunfell-mp1-20-11-12
TUNE_FEATURES = arm vfp cortexa7 neon vfpv4 thumb callconvention-hard
TARGET_FPU = hard
MANIFESTVERSION = ostl-20-11-12-rc10
DISTRO_CODENAME = dunfell
ACCEPT_EULA_stm32mp1 = 1
GCCVERSION = 9.%
PREFERRED_PROVIDER_virtual/kernel = linux-stm32mp
PREFERRED_VERSION_linux-stm32mp =
-----------------------
Layer Revisions: |
-----------------------
meta-python = default.xml:144077083457ccb75700777d5e6b1da9aaff01aa
meta-oe = default.xml:144077083457ccb75700777d5e6b1da9aaff01aa
meta-gnome = default.xml:144077083457ccb75700777d5e6b1da9aaff01aa
meta-xfce = default.xml:144077083457ccb75700777d5e6b1da9aaff01aa
meta-initramfs = default.xml:144077083457ccb75700777d5e6b1da9aaff01aa
meta-multimedia = default.xml:144077083457ccb75700777d5e6b1da9aaff01aa
meta-networking = default.xml:144077083457ccb75700777d5e6b1da9aaff01aa
meta-webserver = default.xml:144077083457ccb75700777d5e6b1da9aaff01aa
meta-filesystems = default.xml:144077083457ccb75700777d5e6b1da9aaff01aa
meta-perl = default.xml:144077083457ccb75700777d5e6b1da9aaff01aa
meta-st-stm32mp = default.xml:e0168b92a0c00b1f6dff2411b8e2d5d0d406a05e
meta-qt5 = default.xml:fdd19517e17240b0b61765bd02fc483a1bde986f
meta-st-openstlinux = default.xml:aecec7a497fa7fc1abf05a8c376dd7e962da827c
meta = default.xml:b39bda4cc62db12c0edfbe489d5a7f5988ede6a9 -- modified
For ecosystem release v2.0.0 :
cat /etc/build
-----------------------
Build Configuration: |
-----------------------
BB_VERSION = 1.46.0
BUILD_SYS = x86_64-linux
NATIVELSBSTRING = universal
TARGET_SYS = arm-ostl-linux-gnueabi
MACHINE = stm32mp1
DISTRO = openstlinux-weston
DISTRO_VERSION = 3.1-openstlinux-5.4-dunfell-mp1-20-06-24
TUNE_FEATURES = arm vfp cortexa7 neon vfpv4 thumb callconvention-hard
TARGET_FPU = hard
MANIFESTVERSION = ostl-20-06-24-rc7-1-gcb1de90
DISTRO_CODENAME = dunfell
ACCEPT_EULA_stm32mp1 = 1
GCCVERSION = 9.%
PREFERRED_PROVIDER_virtual/kernel = linux-stm32mp
PREFERRED_VERSION_linux-stm32mp =
-----------------------
Layer Revisions: |
----------------------
meta-python = HEAD:b5f510e48080b6dc710ff4800feb90ef679c5456
meta-oe = HEAD:b5f510e48080b6dc710ff4800feb90ef679c5456
meta-gnome = HEAD:b5f510e48080b6dc710ff4800feb90ef679c5456
meta-xfce = HEAD:b5f510e48080b6dc710ff4800feb90ef679c5456
meta-initramfs = HEAD:b5f510e48080b6dc710ff4800feb90ef679c5456
meta-multimedia = HEAD:b5f510e48080b6dc710ff4800feb90ef679c5456
meta-networking = HEAD:b5f510e48080b6dc710ff4800feb90ef679c5456
meta-webserver = HEAD:b5f510e48080b6dc710ff4800feb90ef679c5456
meta-filesystems = HEAD:b5f510e48080b6dc710ff4800feb90ef679c5456
meta-perl = HEAD:b5f510e48080b6dc710ff4800feb90ef679c5456
meta-st-stm32mp = HEAD:b86c2f2e092830f011a813d7f2c8fb076b2cbe66
meta-qt5 = HEAD:ac7514e2bc295c97faa86d24e8823829257adbb8
meta-st-openstlinux = HEAD:0124236609b3c1c56df265d7986919df4deb1814
meta = HEAD:1795f30d8ab73d35710ca99064c51190dc84853e
3.2. Printing system information[edit source]
For ecosystem release v2.1.0 :
uname -a Linux stm32mp1 5.4.56 #1 SMP PREEMPT Wed Aug 5 07:59:52 UTC 2020 armv7l armv7l armv7l GNU/Linux
For ecosystem release v2.0.0 :
uname -a Linux stm32mp1 5.4.31 #1 SMP PREEMPT Wed Apr 8 07:08:47 UTC 2020 armv7l armv7l armv7l GNU/Linux
3.3. Printing Linux kernel and GCC versions[edit source]
For ecosystem release v2.1.0 :
cat /proc/version Linux version 5.4.56 (oe-user@oe-host) (gcc version 9.3.0 (GCC)) #1 SMP PREEMPT Wed Aug 5 07:59:52 UTC 2020
For ecosystem release v2.0.0 :
cat /proc/version Linux version 5.4.31 (oe-user@oe-host) (gcc version 9.3.0 (GCC)) #1 SMP PREEMPT Wed Apr 8 07:08:47 UTC 2020
3.4. Printing the amount of disk space available on all mounted file systems[edit source]
df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 148M 0 148M 0% /dev /dev/mmcblk0p6 690M 416M 229M 65% / tmpfs 214M 64K 214M 1% /dev/shm tmpfs 214M 8.8M 205M 5% /run tmpfs 214M 0 214M 0% /sys/fs/cgroup tmpfs 214M 4.0K 214M 1% /tmp /dev/mmcblk0p4 58M 14M 41M 25% /boot /dev/mmcblk0p5 15M 6.7M 6.8M 50% /vendor tmpfs 214M 144K 214M 1% /var/volatile /dev/mmcblk0p7 14G 39M 13G 1% /usr/local tmpfs 43M 0 43M 0% /run/user/0
3.5. ssh connection (only if Ethernet cable is connected)[edit source]
- 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:~#