STM32MP1 запуск Ubuntu 22.04GPU и графический сервер Wayland…

Привет, Хабр!

Совсем недавно, компания Canonical, выпустила Ubuntu 22.04, «потыкав» ее на виртуалке, решил накатить апдейт на домашний ноут, пока накатывались обновления, перебирал девкиты на полке, нашел запыленную STM32MP157c-DK2 отладучную платку от старого проекта, ну и подумал — почему бы и не попробовать запустить 22-ю убунту на этом CPU
Благо Canonical публикует в открытый доступ релизы базового rootfs для ARM процессоров.

В интернете полно статей как собрать Yocto или Buildroot под данный процессор, но ни одной как собрать свой собственный дистрибутив, по крайней мере, я не встречал.

STMicroelectronics может похвастаться огромным выбором 8-bit и 32-bit микроконтроллеров (MCU), но так же в их арсенале есть CPU STM32MP1

Существует три семейства процессоров серии STM32MP1: STM32MP151, STM32MP153 и STM32MP157. Их основные характеристики приведены в таблице.

STM32MP1STM32MP1

STM32MP1 ядра Cortex-A7 работают на частоте 650 МГц и сопровождаются 32-Кбайтным кешем инструкций L1, 32-Кбайтным кешем первого уровня и 256-Кбайтным кешем второго уровня. Также A7 поставляются с расширениями устройства Arm Neon SIMD, предназначенных для ускорения работы мультимедиа и алгоритмов обработки сигналов.

Для поддержания обработки в режиме реального времени с низким энергопотреблением ядро Cortex-M4 работает на частоте 209 МГц с модулем обработки чисел с плавающей точкой (FPU), полным набором DSP команд и с модулем защиты памяти (MPU), предназначенным для повышения безопасности использования устройства.

Линейка STM32MP1 имеет встроенный дополнительный 3D графический процессор GPU совместимый с OpenGL для расширенной разработки HMI, работающей на частоте 533 МГц. GPU поддерживает интерфейсы DDR и LPDDR с тактовой частотой 533 МГц, 256 КБ системной оперативной памяти, а также 384 КБ ОЗУ MCU и 64 КБ оперативной памяти, что облегчает Cortex-M4 обработку в режиме реального времени и работу в режиме пониженного энергопотребления.

Для проведения безопасных операций, STM32MP1 предлагает надежный набор инструментов безопасности, включая технологию Arm TrustZone, которая обеспечивает изоляцию аппаратного обеспечения для повышения надежности функционирования ПО в целом, в масштабе всей системы. Кромее того, STM32MP1 поддерживает аппаратную криптографическую опцию, имеет защищенные ОЗУ и ПЗУ, а также защиту от несанкционированного доступа и защищенные часы реального времени. Линейка предлагает 16- и 32-разрядные элементы управления и таймеры, а для аналоговых входов — два полных 16-разрядных АЦП с поддержкой до 22 каналов обработки.

В дополнение ко всему, STM32MP1 предлагает до 20 коммуникационных интерфейсов, поддерживающих широкую номерклатуру камер, дисплеев, сети Ethernet, порты USB, HDMI и UART. Для большей функциональной гибкости, обслуживание работы большинства периферийных устройств может быть распределена между Cortex-A7 или Cortex-M4.

3c24c4ac9523e8a70568c0aceffe746b.jpeg

Собственно начнем.

Билдить будем на ноуте с установленной Ubuntu, можно на виртуалке, уделенной машине, без разницы — нам нужна только консолька.

Собирать будем по такую плату STM32MP157c-DK2

4006a25cdc4e0b9754f02027f17ebdf4.jpg

Разабьем сборку на этапы:

  1. Собираем U-boot .

  2. Собираем OP-TEE — да, грузить ядро и Ubuntu 22.04 будем в защищенном режиме, в инете полно статей как собрать бутлоадер на этот проц, но нет как собрать arm-trust.

  3. Собираем ядро Linux .

  4. Кастомизируем базовый rootfs Ubuntu 22.04.

  5. Собираем все это в одну кучу и создаем готовый .img для заливки на SD карту.

Первым делом качаем ARM кросс компилятор GCC и распаковываем, им будем собирать всю нашу систему.

mkdir stm32mp && cd stm32mp
wget -c https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/10.3.0/x86_64-gcc-10.3.0-nolibc-arm-linux-gnueabi.tar.gz
tar xf x86_64-gcc-10.3.0-nolibc-arm-linux-gnueabi.tar.gz
export CC=`pwd`/gcc-10.3.0-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-

Проверяем версию:

${CC}gcc --version

Выхлоп

arm-linux-gnueabi-gcc (GCC) 10.3.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Устанавливаем зависимости:

sudo apt install flex bison ncurses-base build-essential qemu-user-static device-tree-compiler

U-Boot

Качаем U-boot с репозитория ST и собираем trusted u-boot

git clone -b v2020.10-stm32mp https://github.com/STMicroelectronics/u-boot
cd u-boot
make ARCH=arm CROSS_COMPILE=${CC} stm32mp15_trusted_defconfig
make ARCH=arm CROSS_COMPILE=${CC} DEVICE_TREE=stm32mp157c-dk2 u-boot.stm32 all

9a07b875f03a33a9457b5f0ffbd0126c.png


Нам понадобятся два файла u-boot.dtb и u-boot-nodtb.bin для подписи и сборки OP-TEE

Качаем OP-TEE с git ST
Внимательно к переменоой BL33_CFG и BL33 мы указываем каталог где лежит собраный U-boot и файлы u-boot.dtb и u-boot-nodtb.bin

# Возвращаемся назад в рабочий каталог stm32mp
cd ..
git clone -b v2.4-stm32mp https://github.com/STMicroelectronics/arm-trusted-firmware
cd arm-trusted-firmware
make CROSS_COMPILE=${CC} \
			PLAT=stm32mp1 \
      ARCH=aarch32 \
      ARM_ARCH_MAJOR=7 \
      STM32MP_SDMMC=1 \
      STM32MP_EMMC=1 \
      AARCH32_SP=sp_min \
      DTB_FILE_NAME=stm32mp157c-dk2.dtb \
      BL33_CFG=../u-boot/u-boot.dtb \
      BL33=../u-boot/u-boot-nodtb.bin \
      all fip

Успешный выхлоп сбокрки OP-TEE

263a18b8e8f2efb10f8dc6dc4cf5bafe.png

Сборка загрузчика закончена, нам понадобяться два файла fip.bin и tf-a-stm32mp157c-dk2.stm32

ls -l build/stm32mp1/release/

5b4b8844bd2b2d4ff376edda75b7e14f.png

Kernel Linux

Собирать ядро, будем с официального репозитоия ST, читам релизноты и смотрим что там добавили нового и пофиксили. На данный момент крайняя версия 5.10.61

# Возвращаемся назад в рабочий каталог stm32mp
cd ..
git clone -b v5.10-stm32mp https://github.com/STMicroelectronics/linux
cd linux
make ARCH=arm CROSS_COMPILE=${CC} multi_v7_defconfig fragment-01-multiv7_cleanup.config fragment-02-multiv7_addons.config
make ARCH=arm CROSS_COMPILE=${CC} menuconfig

Конфигурируем ядро по своему вкусу и задач, multi_v7_defconfig уже содержит все необходиое, в конфиг фрагментах, находяться дравера для STM32MP1 CPU и выключена поддержка жругих архитектур, что входят в базовый общий конфиг armv7 процессоров.
К статье прикреплю свой конфиг, с которым собирал ядро.

Собираем ядро и модули к нему

make ARCH=arm CROSS_COMPILE=${CC} zImage modules -j16

Собираем dts

make ARCH=arm CROSS_COMPILE=${CC} dtbs

Создаем временный каталог и копитуем туда артефакты сборки

mkdir -p ../deploy
cp -v arch/arm/boot/zImage ../deploy
mkdir -p ../deploy/modules
make ARCH=arm CROSS_COMPILE=${CC} modules_install INSTALL_MOD_PATH="../deploy/modules"

e78970eff45b2c81a90c68ec9fbc9e5c.png

Копируем dtsb файлы

mkdir -p ../deploy/dtsb
make ARCH=arm CROSS_COMPILE=${CC} dtbs_install INSTALL_DTBS_PATH=../deploy/dtsb

Создаем переменную с версией ядра

export kernel_ver=$(cat "include/generated/utsrelease.h" | awk '{print $3}' | sed 's/\"//g' )
echo ${kernel_ver}
cd ..

2c7a025a108c6a2a8a043525d51ad13d.png

Подготовка образа SD карты, создаем образ и разбиваем на разделы и делаем его загружаемым

export IMAGE_FILENAME="sdcard-stm32mp157.img"
dd if=/dev/zero of=${DIR}/deploy/${IMAGE_FILENAME} bs=4096M count=2

sgdisk --resize-table=128 -a 1 \
            -n 1:34:545    -c 1:fsbl1   \
            -n 2:546:1057  -c 2:fsbl2   \
            -n 3:1058:5153 -c 3:fip    \
            -n 4:5154:     -c 4:rootfs  \
            -p ./deploy/${IMAGE_FILENAME}
            
sgdisk -A 4:set:2 ./deploy/${IMAGE_FILENAME} 

223764cdb90c0487ea8d7d4f65ed9b63.png

Для манипуляции с файловой системой в .img, можем воспользоваться утилитой loop

 LOOP_DEVICE=$(sudo losetup --partscan --show --find ./deploy/${IMAGE_FILENAME})
 ls -l ${LOOP_DEVICE}*

d3975f5311d8d141a2b7ef09af7cd057.png

Копируем наш подписаный u-boot и файл с конфигурацией RAM

sudo dd if=./arm-trusted-firmware/build/stm32mp1/release/tf-a-stm32mp157c-dk2.stm32 of=${LOOP_DEVICE}p1
sudo dd if=./arm-trusted-firmware/build/stm32mp1/release/tf-a-stm32mp157c-dk2.stm32 of=${LOOP_DEVICE}p2
sudo dd if=./arm-trusted-firmware/build/stm32mp1/release/fip.bin of=${LOOP_DEVICE}p3

Форматируем раздел с нашим будущим rootfs. Создаем каталог для монтирования нашей файловой системы и монтируем

sudo mkfs.ext4 -L rootfs ${LOOP_DEVICE}p4
sudo mkdir -p deploy/rootfs
MOUNT_PATH=deploy/rootfs
sudo mount ${LOOP_DEVICE}p4 ${MOUNT_PATH}

скачиваем Ubuntu 22.04 базовый образ и распаковываем примонтированый каталог

wget https://cdimage.ubuntu.com/ubuntu-base/releases/22.04/release/ubuntu-base-22.04-base-armhf.tar.gz
sudo tar xvfp ubuntu-base-22.04-base-armhf.tar.gz -C ${MOUNT_PATH}

214643aae0891b11dd8786613174b7a5.png

Создаем файл extlinux.conf

sudo mkdir -p ${MOUNT_PATH}/boot/extlinux/
sudo sh -c "echo 'label Linux ${kernel_ver}' > ${MOUNT_PATH}/boot/extlinux/extlinux.conf"
sudo sh -c "echo '    kernel /boot/vmlinuz-${kernel_ver}' >> ${MOUNT_PATH}/boot/extlinux/extlinux.conf"
sudo sh -c "echo '    append console=ttySTM0,115200 console=tty1,115200 root=/dev/mmcblk0p4 ro rootwait ' >> ${MOUNT_PATH}/boot/extlinux/extlinux.conf"
sudo sh -c "echo '    fdtdir /boot/dtbs/${kernel_ver}/' >> ${MOUNT_PATH}/boot/extlinux/extlinux.conf"

Копируем наше ядро, dtsb, модули ядра

sudo cp -v ./deploy/${kernel_ver}.zImage ${MOUNT_PATH}/boot/vmlinuz-${kernel_ver}

sudo mkdir -p ${MOUNT_PATH}/boot/dtbs/${kernel_ver}/
sudo cp -r ./deploy/dtsb/* ${MOUNT_PATH}/boot/dtbs/${kernel_ver}/
sudo cp -r ./deploy/modules/. ${MOUNT_PATH}/usr/


# Активируем ethernet
sudo sh -c "echo 'auto eth0' >> ${MOUNT_PATH}/etc/network/interfaces"
sudo sh -c "echo 'iface eth0 inet dhcp' >> ${MOUNT_PATH}/etc/network/interfaces"

#File Systems Table (/etc/fstab)"
sudo sh -c "echo '/dev/mmcblk0p4  /  auto  errors=remount-ro  0  1' >> ${MOUNT_PATH}/etc/fstab"

Скачиваем и копируем WiFi firmware

mkdir wifi
wget -P wifi https://github.com/cvetaevvitaliy/stm32mp1-ubuntu/raw/master/wifi_firmware/cyfmac43430-sdio.bin
wget -P wifi https://github.com/cvetaevvitaliy/stm32mp1-ubuntu/raw/master/wifi_firmware/cyfmac43430-sdio.1DX.clm_blob
wget -P wifi https://github.com/cvetaevvitaliy/stm32mp1-ubuntu/raw/master/wifi_firmware/brcmfmac43430-sdio.txt

sudo mkdir -p ${MOUNT_PATH}/lib/firmware/brcm/
sudo cp -v ./wifi/brcmfmac43430-sdio.txt ${MOUNT_PATH}/lib/firmware/brcm/brcmfmac43430-sdio.st,stm32mp157c-dk2.txt
sudo cp -v ./wifi/cyfmac43430-sdio.bin ${MOUNT_PATH}/lib/firmware/brcm/brcmfmac43430-sdio.bin
sudo cp -v ./wifi/cyfmac43430-sdio.1DX.clm_blob ${MOUNT_PATH}/lib/firmware/brcm/brcmfmac43430-sdio.clm_blob

Подключаемся к нашей файловой системе с помощью QEMU static arm и устанавливаем нужные нам пакеты
Более подробно, можно почитать в соседнем посте Создание образа Ubuntu для ARM «from scratch»

sudo cp -v /usr/bin/qemu-arm-static ${MOUNT_PATH}/usr/bin/qemu-arm
sudo cp -av /run/systemd/resolve/stub-resolv.conf ${MOUNT_PATH}/etc/resolv.conf
sudo ./ch-mount.sh -m ${MOUNT_PATH}/

Хелпер скрипт для монтирования

ch-mount.sh

#!/bin/bash

function mnt() {
    echo "MOUNTING"
    sudo mount -t proc /proc ${2}proc
    sudo mount --rbind /sys ${2}sys
    sudo mount --make-rslave ${2}sys
    sudo mount --rbind /dev ${2}dev
    sudo mount --make-rslave ${2}dev
    sudo mount -o bind /dev/pts ${2}dev/pts
    sudo chroot ${2}
}

function umnt() {
    echo "UNMOUNTING"
    sudo umount -l ${2}proc
    sudo umount -l ${2}sys
    sudo umount -l ${2}dev/pts
    sudo umount -l ${2}dev

}

if [ "$1" == "-m" ] && [ -n "$2" ] ;
then
    mnt $1 $2
elif [ "$1" == "-u" ] && [ -n "$2" ];
then
    umnt $1 $2
else
    echo ""
    echo "Either 1'st, 2'nd or both parameters were missing"
    echo ""
    echo "1'st parameter can be one of these: -m(mount) OR -u(umount)"
    echo "2'nd parameter is the full path of rootfs directory(with trailing '/')"
    echo ""
    echo "For example: ch-mount -m /media/sdcard/"
    echo ""
    echo 1st parameter : ${1}
    echo 2nd parameter : ${2}
fi

Устанавливаем нужные нам пакеты

echo stm32mp1 > /etc/hostname
echo 127.0.0.1	localhost > /etc/hosts
echo 127.0.1.1	stm32mp1 >> /etc/hosts

apt update 
apt upgrade 

# устанавливаем нужные нам пакеты
apt install systemd sudo ifupdown net-tools ethtool udev wireless-tools iputils-ping resolvconf wget apt-utils wpasupplicant nano

# создаем пользователя и устанавливаем пароль
useradd -s '/bin/bash' -m -G adm,sudo ubuntu
passwd ubuntu

# пароль рута
passwd root


exit

После того как установили нудные вам пакеты для, не забываем выйти

P.S. Вы можете сколько угодно раз монтировать этот готовый образ и доустанавливать новы пакеты.

Размонтируем все каталоги и очистим loop

sync
sudo ch-mount.sh -u ${MOUNT_PATH}/
sudo umount ${MOUNT_PATH}
sudo losetup -D/de	

Записываем с помощью balenaEtcher наш образ на SD карту

c0416f0333d05b8131941e2fdedd2d40.png

Лог загрузки Ubuntu 22.04

Полный лог загрузки устройсва по UART

NOTICE:  CPU: STM32MP157CAC Rev.B
NOTICE:  Model: STMicroelectronics STM32MP157C-DK2 Discovery Board
NOTICE:  Board: MB1272 Var2.0 Rev.C-01
NOTICE:  BL2: v2.4-r2.0(release):v2.4-stm32mp-r2
NOTICE:  BL2: Built : 10:15:29, May 16 2022
NOTICE:  BL2: Booting BL32
NOTICE:  SP_MIN: v2.4-r2.0(release):v2.4-stm32mp-r2
NOTICE:  SP_MIN: Built : 10:15:29, May 16 2022


U-Boot 2020.10-stm32mp-r2-00001-gfe1ed4fbe2-dirty (May 16 2022 - 10:20:48 +0300)

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
****************************************************
*        WARNING 500mA power supply detected       *
*     Current too low, use a 3A power supply!      *
****************************************************

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 /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
187 bytes read in 48 ms (2.9 KiB/s)
1:      Linux 5.10.61
Retrieving file: /boot/vmlinuz-5.10.61
7577064 bytes read in 368 ms (19.6 MiB/s)
append: console=ttySTM0,115200 console=tty1,115200 fbcon=rotate:3  root=/dev/mmcblk0p4 ro rootwait 
Retrieving file: /boot/dtbs/5.10.61/stm32mp157c-dk2.dtb
116881 bytes read in 53 ms (2.1 MiB/s)
Kernel image @ 0xc2000000 [ 0x000000 - 0x739de8 ]
## Flattened Device Tree blob at c4000000
   Booting using the fdt blob at 0xc4000000
   Loading Device Tree to cffe0000, end cffff890 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.10.61 (vitaliy@mini-sever-HP-260-G3-DM) (arm-linux-gnueabi-gcc (GCC) 10.3.0, GNU ld (GNU Binutils) 2.36.1) #1 SMP PREEMPT 2
[    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
[    0.000000] OF: reserved mem: initialized node vdev0vring0@10040000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x10041000, size 0 MiB
[    0.000000] OF: reserved mem: initialized node vdev0vring1@10041000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x10042000, size 0 MiB
[    0.000000] OF: reserved mem: initialized node vdev0buffer@10042000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x10048000, size 0 MiB
[    0.000000] OF: reserved mem: initialized node mcu_rsc_table@10048000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x30000000, size 0 MiB
[    0.000000] OF: reserved mem: initialized node mcuram@30000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x38000000, size 0 MiB
[    0.000000] OF: reserved mem: initialized node retram@38000000, compatible id shared-dma-pool
[    0.000000] cma: Reserved 128 MiB at 0xd8000000
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x00000000c0000000-0x00000000dfffffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00000000c0000000-0x00000000d3ffffff]
[    0.000000]   node   0: [mem 0x00000000d4000000-0x00000000d7ffffff]
[    0.000000]   node   0: [mem 0x00000000d8000000-0x00000000dfffffff]
[    0.000000] Initmem setup node 0 [mem 0x00000000c0000000-0x00000000dfffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 20 pages/cpu s49164 r8192 d24564 u81920
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129920
[    0.000000] Kernel command line: console=ttySTM0,115200 console=tty1,115200 fbcon=rotate:3  root=/dev/mmcblk0p4 ro rootwait 
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:on, heap free:on
[    0.000000] mem auto-init: clearing system memory may take some time...
[    0.000000] Memory: 299876K/524288K available (11264K kernel code, 1160K rwdata, 3328K rodata, 1024K init, 4381K bss, 93340K reserved, 131072K cma-res)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] random: get_random_bytes called from start_kernel+0x2e0/0x494 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000009] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000030] Switching to timer-based delay loop, resolution 41ns
[    0.001734] Console: colour dummy device 80x30
[    0.003054] printk: console [tty1] enabled
[    0.003126] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[    0.003185] pid_max: default: 32768 minimum: 301
[    0.003442] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.003489] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.004675] CPU: Testing write buffer coherency: ok
[    0.005119] /cpus/cpu@0 missing clock-frequency property
[    0.005183] /cpus/cpu@1 missing clock-frequency property
[    0.005218] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.006217] Setting up static identity map for 0xc0100000 - 0xc0100060
[    0.006429] rcu: Hierarchical SRCU implementation.
[    0.007842] smp: Bringing up secondary CPUs ...
[    0.008965] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.009206] smp: Brought up 1 node, 2 CPUs
[    0.009274] SMP: Total of 2 processors activated (96.00 BogoMIPS).
[    0.009303] CPU: All CPU(s) started in SVC mode.
[    0.010352] devtmpfs: initialized
[    0.049804] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.050250] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.050319] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.156552] pinctrl core: initialized pinctrl subsystem
[    0.158494] NET: Registered protocol family 16
[    0.167959] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.170030] thermal_sys: Registered thermal governor 'step_wise'
[    0.170493] cpuidle: using governor menu
[    0.170917] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.170967] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.171356] Serial: AMBA PL011 UART driver
[    0.223839] stm32-pm-domain pm_domain: domain core-ret-power-domain registered
[    0.223928] stm32-pm-domain pm_domain: subdomain core-power-domain registered
[    0.223967] stm32-pm-domain pm_domain: domains probed
[    0.248252] fbcon: Taking over console
[    0.253521] SCSI subsystem initialized
[    0.254529] usbcore: registered new interface driver usbfs
[    0.254656] usbcore: registered new interface driver hub
[    0.254762] usbcore: registered new device driver usb
[    0.255132] pps_core: LinuxPPS API ver. 1 registered
[    0.255166] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti 
[    0.255235] PTP clock support registered
[    0.256218] arm-scmi firmware:scmi0: SCMI Notifications - Core Enabled.
[    0.256336] arm-scmi firmware:scmi0: SCMI Protocol v2.0 'ST:' Firmware version 0x0
[    0.259723] clocksource: Switched to clocksource arch_sys_counter
[    1.931049] NET: Registered protocol family 2
[    1.931280] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    1.932638] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    1.932830] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    1.932930] TCP bind hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    1.933047] TCP: Hash tables configured (established 4096 bind 4096)
[    1.933222] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    1.933294] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    1.933591] NET: Registered protocol family 1
[    1.934616] RPC: Registered named UNIX socket transport module.
[    1.934667] RPC: Registered udp transport module.
[    1.934695] RPC: Registered tcp transport module.
[    1.934722] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.935943] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 counters available
[    1.938090] Initialise system trusted keyrings
[    1.938506] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[    1.949300] DLM installed
[    1.951142] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    1.952642] NFS: Registering the id_resolver key type
[    1.952729] Key type id_resolver registered
[    1.952759] Key type id_legacy registered
[    1.952983] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.953024] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    1.953116] ntfs: driver 2.1.32 [Flags: R/O].
[    1.953487] jffs2: version 2.2. (NAND) ?? 2001-2006 Red Hat, Inc.
[    1.954997] Key type asymmetric registered
[    1.955048] Asymmetric key parser 'x509' registered
[    1.955139] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[    1.955180] io scheduler mq-deadline registered
[    1.955207] io scheduler kyber registered
[    1.968262] Serial: 8250/16550 driver, 5 ports, IRQ sharing enabled
[    1.972254] STMicroelectronics ASC driver initialized
[    1.972914] STM32 USART driver initialized
[    1.995390] brd: module loaded
[    1.996957] random: fast init done
[    2.001609] random: crng init done
[    2.008701] loop: module loaded
[    2.015326] libphy: Fixed MDIO Bus: probed
[    2.017791] CAN device driver interface
[    2.020121] pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB Ethernet driver
[    2.020261] usbcore: registered new interface driver pegasus
[    2.020394] usbcore: registered new interface driver asix
[    2.020486] usbcore: registered new interface driver ax88179_178a
[    2.020575] usbcore: registered new interface driver cdc_ether
[    2.020682] usbcore: registered new interface driver smsc75xx
[    2.020789] usbcore: registered new interface driver smsc95xx
[    2.020877] usbcore: registered new interface driver net1080
[    2.020963] usbcore: registered new interface driver cdc_subset
[    2.021061] usbcore: registered new interface driver zaurus
[    2.021184] usbcore: registered new interface driver cdc_ncm
[    2.022809] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.022898] ehci-platform: EHCI generic platform driver
[    2.023392] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    2.023455] ohci-platform: OHCI generic platform driver
[    2.024276] usbcore: registered new interface driver cdc_acm
[    2.024314] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[    2.024414] usbcore: registered new interface driver cdc_wdm
[    2.024534] usbcore: registered new interface driver usb-storage
[    2.028756] i2c /dev entries driver
[    2.034558] stm32-cpufreq stm32-cpufreq: Failed to get chip info: -517
[    2.035899] sdhci: Secure Digital Host Controller Interface driver
[    2.035943] sdhci: Copyright(c) Pierre Ossman
[    2.035968] Synopsys Designware Multimedia Card Interface Driver
[    2.036516] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.037925] ledtrig-cpu: registered to indicate activity on CPUs
[    2.038221] SMCCC: SOC_ID: ID = jep106:0020:0500 Revision = 0x00002000
[    2.040004] remoteproc remoteproc0: releasing m4
[    2.043591] NET: Registered protocol family 10
[    2.045125] Segment Routing with IPv6
[    2.045280] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    2.046324] NET: Registered protocol family 17
[    2.046386] can: controller area network core
[    2.046518] NET: Registered protocol family 29
[    2.046550] can: raw protocol
[    2.046578] can: broadcast manager protocol
[    2.046615] can: netlink gateway - max_hops=1
[    2.046983] sctp: Hash tables configured (bind 512/512)
[    2.047733] Key type dns_resolver registered
[    2.047887] ThumbEE CPU extension supported.
[    2.047933] Registering SWP/SWPB emulation handler
[    2.048396] Loading compiled-in X.509 certificates
[    2.089462] stm32-mdma 58000000.dma-controller: STM32 MDMA driver registered
[    2.093370] stm32-dma 48000000.dma-controller: STM32 DMA driver registered
[    2.096172] stm32-dma 48001000.dma-controller: STM32 DMA driver registered
[    2.106720] stm_thermal 50028000.thermal: stm_thermal_probe: Driver initialized successfully
[    2.114496] remoteproc remoteproc0: releasing m4
[    2.115514] /soc/interrupt-controller@5000d000: bank0
[    2.115568] /soc/interrupt-controller@5000d000: bank1
[    2.115605] /soc/interrupt-controller@5000d000: bank2
[    2.120309] stm32mp157-pinctrl soc:pin-controller@50002000: GPIOA bank added
[    2.122881] stm32mp157-pinctrl soc:pin-controller@50002000: GPIOB bank added
[    2.125390] stm32mp157-pinctrl soc:pin-controller@50002000: GPIOC bank added
[    2.127845] stm32mp157-pinctrl soc:pin-controller@50002000: GPIOD bank added
[    2.130464] stm32mp157-pinctrl soc:pin-controller@50002000: GPIOE bank added
[    2.133060] stm32mp157-pinctrl soc:pin-controller@50002000: GPIOF bank added
[    2.135344] stm32mp157-pinctrl soc:pin-controller@50002000: GPIOG bank added
[    2.137564] stm32mp157-pinctrl soc:pin-controller@50002000: GPIOH bank added
[    2.139862] stm32mp157-pinctrl soc:pin-controller@50002000: GPIOI bank added
[    2.140243] stm32mp157-pinctrl soc:pin-controller@50002000: Pinctrl STM32 initialized
[    2.143629] stm32mp157-pinctrl soc:pin-controller-z@54004000: GPIOZ bank added
[    2.143710] stm32mp157-pinctrl soc:pin-controller-z@54004000: Pinctrl STM32 initialized
[    2.147487] 4000e000.serial: ttySTM3 at MMIO 0x4000e000 (irq = 61, base_baud = 4000000) is a stm32-usart
[    2.147905] serial serial0: tty port ttySTM3 registered
[    2.150188] stm32-usart 40010000.serial: interrupt mode for rx (no dma)
[    2.150248] stm32-usart 40010000.serial: interrupt mode for tx (no dma)
[    2.150308] 40010000.serial: ttySTM0 at MMIO 0x40010000 (irq = 62, base_baud = 4000000) is a stm32-usart
[    3.384575] printk: console [ttySTM0] enabled
[    3.396827] stm32-dwmac 5800a000.ethernet: IRQ eth_lpi not found
[    3.401822] stm32-dwmac 5800a000.ethernet: no reset control found
[    3.408337] stm32-dwmac 5800a000.ethernet: User ID: 0x40, Synopsys ID: 0x42
[    3.414633] stm32-dwmac 5800a000.ethernet:   DWMAC4/5
[    3.419516] stm32-dwmac 5800a000.ethernet: DMA HW capability register supported
[    3.426844] stm32-dwmac 5800a000.ethernet: RX Checksum Offload Engine supported
[    3.434173] stm32-dwmac 5800a000.ethernet: TX Checksum insertion supported
[    3.441003] stm32-dwmac 5800a000.ethernet: Wake-Up On Lan supported
[    3.447439] stm32-dwmac 5800a000.ethernet: TSO supported
[    3.452563] stm32-dwmac 5800a000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[    3.460404] stm32-dwmac 5800a000.ethernet: Enabled Flow TC (entries=2)
[    3.466898] stm32-dwmac 5800a000.ethernet: TSO feature enabled
[    3.472810] stm32-dwmac 5800a000.ethernet: Using 32 bits DMA width
[    3.481192] libphy: stmmac: probed
[    3.493898] stm32_rtc 5c004000.rtc: registered as rtc0
[    3.497769] stm32_rtc 5c004000.rtc: setting system clock to 2000-01-01T04:49:35 UTC (946702175)
[    3.507249] stm32_rtc 5c004000.rtc: Date/Time must be initialized
[    3.512542] stm32_rtc 5c004000.rtc: registered rev:1.2
[    3.548077] stm32f7-i2c 40012000.i2c: STM32F7 I2C-0 bus adapter
[    3.581762] stpmic1 1-0033: PMIC Chip Version: 0x21
[    3.591067] vddcore: supplied by vin
[    3.596344] vdd_ddr: supplied by vin
[    3.601509] vdd: supplied by vin
[    3.606481] v3v3: supplied by vin
[    3.611393] v1v8_audio: supplied by v3v3
[    3.617894] v3v3_hdmi: supplied by vin
[    3.623854] vtt_ddr: supplied by vdd_ddr
[    3.629681] vdd_usb: supplied by vin
[    3.632608] vdda: supplied by vin
[    3.638649] v1v2_hdmi: supplied by v3v3
[    3.644448] vref_ddr: supplied by vin
[    3.650076] bst_out: supplied by vin
[    3.653102] vbus_otg: supplied by bst_out
[    3.657098] vbus_sw: supplied by bst_out
[    3.663588] input: pmic_onkey as /devices/platform/soc/5c002000.i2c/i2c-1/1-0033/5c002000.i2c:stpmic@33:onkey/input/input0
[    3.674478] stm32f7-i2c 5c002000.i2c: STM32F7 I2C-1 bus adapter
[    3.683459] mmci-pl18x 58005000.sdmmc: Got CD GPIO
[    3.688237] mmci-pl18x 58005000.sdmmc: mmc0: PL180 manf 53 rev2 at 0x58005000 irq 54,0 (pio)
[    3.724382] mmci-pl18x 58007000.sdmmc: allocated mmc-pwrseq
[    3.729798] mmci-pl18x 58007000.sdmmc: mmc1: PL180 manf 53 rev1 at 0x58007000 irq 55,0 (pio)
[    3.767513] stm32-ipcc 4c001000.mailbox: ipcc rev:1.0 enabled, 6 chans, proc 0
[    3.776680] stm32-rproc 10000000.m4: wdg irq registered
[    3.781838] remoteproc remoteproc0: m4 is available
[    3.786451] reg11: supplied by vdd
[    3.789288] reg18: supplied by vdd
[    3.795376] mmc0: new high speed SDHC card at address 0007
[    3.801855] mmcblk0: mmc0:0007 SD8GB 7.42 GiB 
[    3.806963] stm32-usbphyc 5a006000.usbphyc: registered rev:1.0
[    3.815564] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
[    3.821636] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    3.827239] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    3.834691] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[    3.838943] GPT:Primary header thinks Alt. header is not at the end of the disk.
[    3.846270] GPT:8388591 != 15564799
[    3.849657] GPT:Alternate GPT header not at the end of the disk.
[    3.855702] GPT:8388591 != 15564799
[    3.859184] GPT: Use GNU Parted to correct GPT errors.
[    3.870216] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    3.874932] dwc2 49000000.usb-otg: supply vusb_d not found, using dummy regulator
[    3.882086]  mmcblk0: p1 p2 p3 p4
[    3.886225] dwc2 49000000.usb-otg: supply vusb_a not found, using dummy regulator
[    3.894599] mmc1: queuing unknown CIS tuple 0x80 (6 bytes)
[    3.983166] mmc1: new high speed SDIO card at address 0001
[    4.030027] dwc2 49000000.usb-otg: EPs: 9, dedicated fifos, 952 entries in SPRAM
[    4.036787] dwc2 49000000.usb-otg: DWC OTG Controller
[    4.041226] dwc2 49000000.usb-otg: new USB bus registered, assigned bus number 1
[    4.048596] dwc2 49000000.usb-otg: irq 87, io mem 0x49000000
[    4.054555] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[    4.062519] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    4.069623] usb usb1: Product: DWC OTG Controller
[    4.074421] usb usb1: Manufacturer: Linux 5.10.61 dwc2_hsotg
[    4.080049] usb usb1: SerialNumber: 49000000.usb-otg
[    4.086104] hub 1-0:1.0: USB hub found
[    4.088750] hub 1-0:1.0: 1 port detected
[    4.095382] ehci-platform 5800d000.usbh-ehci: EHCI Host Controller
[    4.100351] ehci-platform 5800d000.usbh-ehci: new USB bus registered, assigned bus number 2
[    4.109333] ehci-platform 5800d000.usbh-ehci: irq 64, io mem 0x5800d000
[    4.139749] ehci-platform 5800d000.usbh-ehci: USB 2.0 started, EHCI 1.00
[    4.145466] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[    4.153340] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    4.160578] usb usb2: Product: EHCI Host Controller
[    4.165454] usb usb2: Manufacturer: Linux 5.10.61 ehci_hcd
[    4.170985] usb usb2: SerialNumber: 5800d000.usbh-ehci
[    4.177090] hub 2-0:1.0: USB hub found
[    4.179875] hub 2-0:1.0: 2 ports detected
[    4.190999] i2c i2c-0: Added multiplexed i2c bus 2
[    4.201153] [drm] Initialized stm 1.0.0 20170330 for 5a001000.display-controller on minor 0
[    4.203507] input: generic ft5x06 (11) as /devices/platform/soc/40012000.i2c/i2c-0/0-0038/input/input2
[    4.479759] usb 2-1: new high-speed USB device number 2 using ehci-platform
[    4.650120] Console: switching to colour frame buffer device 100x30
[    4.690724] stm32-display 5a001000.display-controller: [drm] fb0: stmdrmfb frame buffer device
[    4.704512] usb 2-1: New USB device found, idVendor=0424, idProduct=2514, bcdDevice= b.b3
[    4.714574] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    4.723151] EXT4-fs (mmcblk0p4): INFO: recovery required on readonly filesystem
[    4.732521] EXT4-fs (mmcblk0p4): write access will be enabled during recovery
[    4.732874] hub 2-1:1.0: USB hub found
[    4.747048] hub 2-1:1.0: 4 ports detected
[    5.069796] usb 2-1.2: new full-speed USB device number 3 using ehci-platform
[    5.235653] usb 2-1.2: New USB device found, idVendor=248a, idProduct=8368, bcdDevice= 1.00
[    5.245932] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    5.255058] usb 2-1.2: Product: Wireless Receiver
[    5.261489] usb 2-1.2: Manufacturer: Telink
[    8.620185] EXT4-fs (mmcblk0p4): recovery complete
[    8.702157] EXT4-fs (mmcblk0p4): mounted filesystem with ordered data mode. Opts: (null)
[    8.712225] VFS: Mounted root (ext4 filesystem) readonly on device 179:4.
[    8.730565] devtmpfs: mounted
[    8.738142] Freeing unused kernel memory: 1024K
[    8.744875] Run /sbin/init as init process
[    9.256334] systemd[1]: System time before build time, advancing clock.
[    9.362686] systemd[1]: systemd 249.11-0ubuntu3.1 running in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT +GNUTLS -OPENSSL)
[    9.407012] systemd[1]: Detected architecture arm.
[    9.430062] systemd[1]: Hostname set to .
[   10.545844] systemd[1]: Configuration file /etc/systemd/system/weston.service is marked executable. Please remove executable permission bits. Proceedi.
[   10.822205] systemd[1]: Queued start job for default target Graphical Interface.
[   10.840743] systemd[1]: Created slice Slice /system/getty.
[   10.855899] systemd[1]: Created slice Slice /system/modprobe.
[   10.871475] systemd[1]: Created slice Slice /system/serial-getty.
[   10.885888] systemd[1]: Created slice User and Session Slice.
[   10.898367] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[   10.913288] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[   10.927723] systemd[1]: Condition check resulted in Arbitrary Executable File Formats File System Automount Point being skipped.
[   10.945624] systemd[1]: Reached target Local Encrypted Volumes.
[   10.958738] systemd[1]: Reached target Remote File Systems.
[   10.970942] systemd[1]: Reached target Slice Units.
[   10.982216] systemd[1]: Reached target Swaps.
[   10.992794] systemd[1]: Reached target Local Verity Protected Volumes.
[   11.006864] systemd[1]: Listening on fsck to fsckd communication Socket.
[   11.020846] systemd[1]: Listening on initctl Compatibility Named Pipe.
[   11.057064] systemd[1]: Condition check resulted in Journal Audit Socket being skipped.
[   11.069216] systemd[1]: Listening on Journal Socket (/dev/log).
[   11.083254] systemd[1]: Listening on Journal Socket.
[   11.098133] systemd[1]: Listening on udev Control Socket.
[   11.111438] systemd[1]: Listening on udev Kernel Socket.
[   11.123167] systemd[1]: Reached target Socket Units.
[   11.135460] systemd[1]: Condition check resulted in Huge Pages File System being skipped.
[   11.153217] systemd[1]: Mounting POSIX Message Queue File System...
[   11.174832] systemd[1]: Mounting Kernel Debug File System...
[   11.195960] systemd[1]: Mounting Kernel Trace File System...
[   11.210524] systemd[1]: systemd-journald.service: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
[   11.229409] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
[   11.246639] systemd[1]: Starting Journal Service...
[   11.269521] systemd[1]: Starting Create List of Static Device Nodes...
[   11.293634] systemd[1]: Starting Load Kernel Module configfs...
[   11.317737] systemd[1]: Starting Load Kernel Module drm...
[   11.364086] systemd[1]: Starting Load Kernel Module fuse...
[   11.385957] systemd[1]: Started Nameserver information manager.
[   11.425058] systemd[1]: Reached target Preparation for Network.
[   11.447293] systemd[1]: Starting File System Check on Root Device...
[   11.501570] systemd[1]: Starting Load Kernel Modules...
[   11.541092] systemd[1]: Starting Coldplug All udev Devices...
[   11.605247] systemd[1]: Mounted POSIX Message Queue File System.
[   11.622002] systemd[1]: Mounted Kernel Debug File System.
[   11.639383] systemd[1]: Mounted Kernel Trace File System.
[   11.680360] systemd[1]: Finished Create List of Static Device Nodes.
[   11.729561] systemd[1]: modprobe@configfs.service: Deactivated successfully.
[   11.752373] systemd[1]: Finished Load Kernel Module configfs.
[   11.777656] systemd[1]: modprobe@drm.service: Deactivated successfully.
[   11.806357] systemd[1]: Finished Load Kernel Module drm.
[   11.822710] systemd[1]: modprobe@fuse.service: Deactivated successfully.
[   11.834688] systemd[1]: Finished Load Kernel Module fuse.
[   11.853642] systemd[1]: Finished File System Check on Root Device.
[   11.869624] systemd[1]: Finished Load Kernel Modules.
[   11.884449] systemd[1]: Condition check resulted in FUSE Control File System being skipped.
[   11.903409] systemd[1]: Mounting Kernel Configuration File System...
[   11.941738] systemd[1]: Started File System Check Daemon to report status.
[   11.991178] systemd[1]: Starting Remount Root and Kernel File Systems...
[   12.025340] systemd[1]: Starting Apply Kernel Variables...
[   12.080632] systemd[1]: Mounted Kernel Configuration File System.
[   12.117909] systemd[1]: Started Journal Service.

Ubuntu 22.04 LTS stm32mp1 ttySTM0

stm32mp1 login: 

Лог dmes

ubuntu@stm32mp1:~$ dmesg 
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.10.61 (vitaliy@mini-sever-HP-260-G3-DM) (arm-linux-gnueabi-gcc (GCC) 10.3.0, GNU ld (GNU Binutils) 2.36.1) #1 SMP PREEMPT 2
[    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
[    0.000000] OF: reserved mem: initialized node vdev0vring0@10040000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x10041000, size 0 MiB
[    0.000000] OF: reserved mem: initialized node vdev0vring1@10041000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x10042000, size 0 MiB
[    0.000000] OF: reserved mem: initialized node vdev0buffer@10042000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x10048000, size 0 MiB
[    0.000000] OF: reserved mem: initialized node mcu_rsc_table@10048000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x30000000, size 0 MiB
[    0.000000] OF: reserved mem: initialized node mcuram@30000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x38000000, size 0 MiB
[    0.000000] OF: reserved mem: initialized node retram@38000000, compatible id shared-dma-pool
[    0.000000] cma: Reserved 128 MiB at 0xd8000000
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x00000000c0000000-0x00000000dfffffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00000000c0000000-0x00000000d3ffffff]
[    0.000000]   node   0: [mem 0x00000000d4000000-0x00000000d7ffffff]
[    0.000000]   node   0: [mem 0x00000000d8000000-0x00000000dfffffff]
[    0.000000] Initmem setup node 0 [mem 0x00000000c0000000-0x00000000dfffffff]
[    0.000000] On node 0 totalpages: 131072
[    0.000000]   Normal zone: 1152 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 131072 pages, LIFO batch:31
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 20 pages/cpu s49164 r8192 d24564 u81920
[    0.000000] pcpu-alloc: s49164 r8192 d24564 u81920 alloc=20*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129920
[    0.000000] Kernel command line: console=ttySTM0,115200 console=tty1,115200 fbcon=rotate:3  root=/dev/mmcblk0p4 ro rootwait 
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:on, heap free:on
[    0.000000] mem auto-init: clearing system memory may take some time...
[    0.000000] Memory: 299876K/524288K available (11264K kernel code, 1160K rwdata, 3328K rodata, 1024K init, 4381K bss, 93340K reserved, 131072K cma-res)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] random: get_random_bytes called from start_kernel+0x2e0/0x494 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000009] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000030] Switching to timer-based delay loop, resolution 41ns
[    0.001734] Console: colour dummy device 80x30
[    0.003054] printk: console [tty1] enabled
[    0.003126] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[    0.003185] pid_max: default: 32768 minimum: 301
[    0.003442] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.003489] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.004675] CPU: Testing write buffer coherency: ok
[    0.005119] /cpus/cpu@0 missing clock-frequency property
[    0.005183] /cpus/cpu@1 missing clock-frequency property
[    0.005218] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.006217] Setting up static identity map for 0xc0100000 - 0xc0100060
[    0.006429] rcu: Hierarchical SRCU implementation.
[    0.007842] smp: Bringing up secondary CPUs ...
[    0.008965] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.009206] smp: Brought up 1 node, 2 CPUs
[    0.009274] SMP: Total of 2 processors activated (96.00 BogoMIPS).
[    0.009303] CPU: All CPU(s) started in SVC mode.
[    0.010352] devtmpfs: initialized
[    0.049804] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.050250] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.050319] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.156552] pinctrl core: initialized pinctrl subsystem
[    0.158494] NET: Registered protocol family 16
[    0.167959] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.170030] thermal_sys: Registered thermal governor 'step_wise'
[    0.170493] cpuidle: using governor menu
[    0.170917] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.170967] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.171356] Serial: AMBA PL011 UART driver
[    0.223839] stm32-pm-domain pm_domain: domain core-ret-power-domain registered
[    0.223928] stm32-pm-domain pm_domain: subdomain core-power-domain registered
[    0.223967] stm32-pm-domain pm_domain: domains probed
[    0.248252] fbcon: Taking over console
[    0.253521] SCSI subsystem initialized
[    0.253982] libata version 3.00 loaded.
[    0.254529] usbcore: registered new interface driver usbfs
[    0.254656] usbcore: registered new interface driver hub
[    0.254762] usbcore: registered new device driver usb
[    0.255132] pps_core: LinuxPPS API ver. 1 registered
[    0.255166] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti 
[    0.255235] PTP clock support registered
[    0.256218] arm-scmi firmware:scmi0: SCMI Notifications - Core Enabled.
[    0.256336] arm-scmi firmware:scmi0: SCMI Protocol v2.0 'ST:' Firmware version 0x0
[    0.259723] clocksource: Switched to clocksource arch_sys_counter
[    1.931049] NET: Registered protocol family 2
[    1.931280] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    1.932638] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    1.932830] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    1.932930] TCP bind hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    1.933047] TCP: Hash tables configured (established 4096 bind 4096)
[    1.933222] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    1.933294] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    1.933591] NET: Registered protocol family 1
[    1.934616] RPC: Registered named UNIX socket transport module.
[    1.934667] RPC: Registered udp transport module.
[    1.934695] RPC: Registered tcp transport module.
[    1.934722] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.935943] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 counters available
[    1.938090] Initialise system trusted keyrings
[    1.938506] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[    1.949300] DLM installed
[    1.951142] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    1.952642] NFS: Registering the id_resolver key type
[    1.952729] Key type id_resolver registered
[    1.952759] Key type id_legacy registered
[    1.952983] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.953024] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    1.953116] ntfs: driver 2.1.32 [Flags: R/O].
[    1.953487] jffs2: version 2.2. (NAND) ?? 2001-2006 Red Hat, Inc.
[    1.954997] Key type asymmetric registered
[    1.955048] Asymmetric key parser 'x509' registered
[    1.955139] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[    1.955180] io scheduler mq-deadline registered
[    1.955207] io scheduler kyber registered
[    1.968262] Serial: 8250/16550 driver, 5 ports, IRQ sharing enabled
[    1.972254] STMicroelectronics ASC driver initialized
[    1.972914] STM32 USART driver initialized
[    1.995390] brd: module loaded
[    1.996957] random: fast init done
[    2.001609] random: crng init done
[    2.008701] loop: module loaded
[    2.015326] libphy: Fixed MDIO Bus: probed
[    2.017791] CAN device driver interface
[    2.020121] pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB Ethernet driver
[    2.020261] usbcore: registered new interface driver pegasus
[    2.020394] usbcore: registered new interface driver asix
[    2.020486] usbcore: registered new interface driver ax88179_178a
[    2.020575] usbcore: registered new interface driver cdc_ether
[    2.020682] usbcore: registered new interface driver smsc75xx
[    2.020789] usbcore: registered new interface driver smsc95xx
[    2.020877] usbcore: registered new interface driver net1080
[    2.020963] usbcore: registered new interface driver cdc_subset
[    2.021061] usbcore: registered new interface driver zaurus
[    2.021184] usbcore: registered new interface driver cdc_ncm
[    2.022809] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.022898] ehci-platform: EHCI generic platform driver
[    2.023392] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    2.023455] ohci-platform: OHCI generic platform driver
[    2.024276] usbcore: registered new interface driver cdc_acm
[    2.024314] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[    2.024414] usbcore: registered new interface driver cdc_wdm
[    2.024534] usbcore: registered new interface driver usb-storage
[    2.028756] i2c /dev entries driver
[    2.034558] stm32-cpufreq stm32-cpufreq: Failed to get chip info: -517
[    2.035899] sdhci: Secure Digital Host Controller Interface driver
[    2.035943] sdhci: Copyright(c) Pierre Ossman
[    2.035968] Synopsys Designware Multimedia Card Interface Driver
[    2.036516] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.037925] ledtrig-cpu: registered to indicate activity on CPUs
[    2.038221] SMCCC: SOC_ID: ID = jep106:0020:0500 Revision = 0x00002000
[    2.040004] remoteproc remoteproc0: releasing m4
[    2.043591] NET: Registered protocol family 10
[    2.045125] Segment Routing with IPv6
[    2.045280] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    2.046324] NET: Registered protocol family 17
[    2.046386] can: controller area network core
[    2.046518] NET: Registered protocol family 29
[    2.046550] can: raw protocol
[    2.046578] can: broadcast manager protocol
[    2.046615] can: netlink gateway - max_hops=1
[    2.046983] sctp: Hash tables configured (bind 512/512)
[    2.047733] Key type dns_resolver registered
[    2.047887] ThumbEE CPU extension supported.
[    2.047933] Registering SWP/SWPB emulation handler
[    2.048396] Loading compiled-in X.509 certificates
[    2.089462] stm32-mdma 58000000.dma-controller: STM32 MDMA driver registered
[    2.093370] stm32-dma 48000000.dma-controller: STM32 DMA driver registered
[    2.096172] stm32-dma 48001000.dma-controller: STM32 DMA driver registered
[    2.106720] stm_thermal 50028000.thermal: stm_thermal_probe: Driver initialized successfully
[    2.114496] remoteproc remoteproc0: releasing m4
[    2.115514] /soc/interrupt-controller@5000d000: bank0
[    2.115568] /soc/interrupt-controller@5000d000: bank1
[    2.115605] /soc/interrupt-controller@5000d000: bank2
[    2.120309] stm32mp157-pinctrl soc:pin-controller@50002000: GPIOA bank added
[    2.122881] stm32mp157-pinctrl soc:pin-controller@50002000: GPIOB bank added
[    2.125390] stm32mp157-pinctrl soc:pin-controller@50002000: GPIOC bank added
[    2.127845] stm32mp157-pinctrl soc:pin-controller@50002000: GPIOD bank added
[    2.130464] stm32mp157-pinctrl soc:pin-controller@50002000: GPIOE bank added
[    2.133060] stm32mp157-pinctrl soc:pin-controller@50002000: GPIOF bank added
[    2.135344] stm32mp157-pinctrl soc:pin-controller@50002000: GPIOG bank added
[    2.137564] stm32mp157-pinctrl soc:pin-controller@50002000: GPIOH bank added
[    2.139862] stm32mp157-pinctrl soc:pin-controller@50002000: GPIOI bank added
[    2.140243] stm32mp157-pinctrl soc:pin-controller@50002000: Pinctrl STM32 initialized
[    2.143629] stm32mp157-pinctrl soc:pin-controller-z@54004000: GPIOZ bank added
[    2.143710] stm32mp157-pinctrl soc:pin-controller-z@54004000: Pinctrl STM32 initialized
[    2.147487] 4000e000.serial: ttySTM3 at MMIO 0x4000e000 (irq = 61, base_baud = 4000000) is a stm32-usart
[    2.147905] serial serial0: tty port ttySTM3 registered
[    2.150188] stm32-usart 40010000.serial: interrupt mode for rx (no dma)
[    2.150248] stm32-usart 40010000.serial: interrupt mode for tx (no dma)
[    2.150308] 40010000.serial: ttySTM0 at MMIO 0x40010000 (irq = 62, base_baud = 4000000) is a stm32-usart
[    3.384575] printk: console [ttySTM0] enabled
[    3.396827] stm32-dwmac 5800a000.ethernet: IRQ eth_lpi not found
[    3.401822] stm32-dwmac 5800a000.ethernet: no reset control found
[    3.408337] stm32-dwmac 5800a000.ethernet: User ID: 0x40, Synopsys ID: 0x42
[    3.414633] stm32-dwmac 5800a000.ethernet:   DWMAC4/5
[    3.419516] stm32-dwmac 5800a000.ethernet: DMA HW capability register supported
[    3.426844] stm32-dwmac 5800a000.ethernet: RX Checksum Offload Engine supported
[    3.434173] stm32-dwmac 5800a000.ethernet: TX Checksum insertion supported
[    3.441003] stm32-dwmac 5800a000.ethernet: Wake-Up On Lan supported
[    3.447439] stm32-dwmac 5800a000.ethernet: TSO supported
[    3.452563] stm32-dwmac 5800a000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[    3.460404] stm32-dwmac 5800a000.ethernet: Enabled Flow TC (entries=2)
[    3.466898] stm32-dwmac 5800a000.ethernet: TSO feature enabled
[    3.472810] stm32-dwmac 5800a000.ethernet: Using 32 bits DMA width
[    3.481192] libphy: stmmac: probed
[    3.493898] stm32_rtc 5c004000.rtc: registered as rtc0
[    3.497769] stm32_rtc 5c004000.rtc: setting system clock to 2000-01-01T04:49:35 UTC (946702175)
[    3.507249] stm32_rtc 5c004000.rtc: Date/Time must be initialized
[    3.512542] stm32_rtc 5c004000.rtc: registered rev:1.2
[    3.548077] stm32f7-i2c 40012000.i2c: STM32F7 I2C-0 bus adapter
[    3.581762] stpmic1 1-0033: PMIC Chip Version: 0x21
[    3.591067] vddcore: supplied by vin
[    3.596344] vdd_ddr: supplied by vin
[    3.601509] vdd: supplied by vin
[    3.606481] v3v3: supplied by vin
[    3.611393] v1v8_audio: supplied by v3v3
[    3.617894] v3v3_hdmi: supplied by vin
[    3.623854] vtt_ddr: supplied by vdd_ddr
[    3.629681] vdd_usb: supplied by vin
[    3.632608] vdda: supplied by vin
[    3.638649] v1v2_hdmi: supplied by v3v3
[    3.644448] vref_ddr: supplied by vin
[    3.650076] bst_out: supplied by vin
[    3.653102] vbus_otg: supplied by bst_out
[    3.657098] vbus_sw: supplied by bst_out
[    3.663588] input: pmic_onkey as /devices/platform/soc/5c002000.i2c/i2c-1/1-0033/5c002000.i2c:stpmic@33:onkey/input/input0
[    3.674478] stm32f7-i2c 5c002000.i2c: STM32F7 I2C-1 bus adapter
[    3.683459] mmci-pl18x 58005000.sdmmc: Got CD GPIO
[    3.688237] mmci-pl18x 58005000.sdmmc: mmc0: PL180 manf 53 rev2 at 0x58005000 irq 54,0 (pio)
[    3.724382] mmci-pl18x 58007000.sdmmc: allocated mmc-pwrseq
[    3.729798] mmci-pl18x 58007000.sdmmc: mmc1: PL180 manf 53 rev1 at 0x58007000 irq 55,0 (pio)
[    3.767513] stm32-ipcc 4c001000.mailbox: ipcc rev:1.0 enabled, 6 chans, proc 0
[    3.776680] stm32-rproc 10000000.m4: wdg irq registered
[    3.781838] remoteproc remoteproc
    
            

© Habrahabr.ru