LINUX.ORG.RU

Сообщения kriptonus

 

Периодическая перезагрузка Rockchip RK3568

Форум — Linux-hardware

Добрый день. Собрано ядро и минимальная rootfs с busybox (через buildroot) для SOM Rockchip RK3568. Загружается, но существует периодическая перезагрузка. В логах uboot причиной перезагрузки стоит

boot reason : watchdog boot

На борту SOM существует два watchdog’а, в дереве устройств описаны. Собственно, вопрос: как обычно реализован сброс watchdog’а в Linux? Это ядро делае, или что-то из busybox (в моем случае) или какой-то внешний сервис?

 , , , ,

kriptonus
()

Загрузка RK3568 из памяти

Форум — Linux-hardware

Добрый день. Пытаюсь на существующей железяке, построенной на RK3568, запустить ядро, дерево устройств и корневую ФС из памяти (чтобы не тереть и не сносить существующую систему на SPI NOR флеш). Собрал при помощи buildroot новую rootfs, новое ядро. Дерево устройств взял от старой системы (вытянул бинарник из FIT). Пытаюсь загрузиться, но возникает ошибка:

=> bootm $kernel_addr $rootfs_addr $fdt_addr_r

No misc partition

## Booting kernel from Legacy Image at 002a0000 ...

   Image Name:   

   Image Type:   AArch64 Linux Kernel Image (uncompressed)

   Data Size:    10218103 Bytes = 9.7 MiB

   Load Address: 002a0000

   Entry Point:  002a0000

   Verifying Checksum ... OK

## Loading init Ramdisk from Legacy Image at 00ca0000 ...

   Image Name:   

   Image Type:   AArch64 Linux RAMDisk Image (uncompressed)

   Data Size:    14050216 Bytes = 13.4 MiB

   Load Address: 00000000

   Entry Point:  00000000

   Verifying Checksum ... OK

ERROR: Did not find a cmdline Flattened Device Tree

Could not find a valid device tree

Я загрузил файлы по указанным адресам по tftp. Вывод printenv

=> printenv

arch=arm

autoload=no

baudrate=115200

bootaddr=0x04080000

bootargs=console=ttyFIQ0,115200n8 storagemedia=mtd earlycon=uart8250,mmio32,0xfe660000 root=/dev/mtdblock4 rootfstype=squashfs

bootcmd=run spi_bootcmd 

bootdelay=3

console=ttyFIQ0

cpu=armv8

devnum=2

devtype=mtd

eth1addr=92:6f:83:fe:c2:a3

ethact=ethernet@fe010000

ethaddr=00:00:01:00:00:01

ethprime=eth1

fdt_addr_r=0x08300000

fdtcontroladdr=0x3b9e5d80

fileaddr=0xca0000

filesize=0xd663e8

gatewayip=10.5.5.1

ipaddr=10.5.5.30

kernel_addr=0x002a0000

kernel_addr_r=0x00280000

kernel_name="kernel"

kernel_size=0x00a00000

loadaddr=0x00c00800

netmask=255.255.255.0

rkloader_addr=0x00000000

rkloader_name="rkloader"

rootfs_addr=0x00ca0000

rootfs_name="rootfs"

serverip=10.5.5.1

soc=rockchip

spi_bootcmd=echo Trying load from spi..;sf probe && sf read $bootaddr $kernel_addr $kernel_size; bootm $bootaddr"

tftpkernel=tftp $loadaddr $serverip:$kernel_name

tftploader=tftp $loadaddr $serverip:$rkloader_name

tftprootfs=tftp $loadaddr $serverip:$rootfs_name

tftpuboot=tftp $loadaddr $serverip:$uboot_name

uboot_addr=0x00080000

uboot_name="uboot"

uboot_version="U-Boot " "2017.09-svn489" " (" "Jun 02 2023" " - " "17:38:35" " " "+0800" ")" "uboot_20230602.173820"

upkernel=run tftpkernel;sf probe;sf erase $kernel_addr +$filesize;sf write $fileaddr $kernel_addr $filesize

uploader=run tftploader;sf probe;sf erase $rkloader_addr +$filesize;sf write $fileaddr $rkloader_addr $filesize

uprootfs=run tftprootfs;sf probe;sf erase $rootfs_addr +$filesize;sf write $fileaddr $rootfs_addr $filesize

upuboot=run tftpuboot;sf probe;sf erase $uboot_addr +$filesize;sf write $fileaddr $uboot_addr $filesize

vendor=rockchip

ver=U-Boot 2017.09-svn489 (Jun 02 2023 - 17:38:35 +0800)uboot_20230602.173820

version="uboot_20230602.173820"

Я не сосвем понимаю, как происходит загрузка в существующей системе. вроде бы, bootm должны передаваться три адреса: ядро, rootfs и dtb. Но в команде spi_bootcmd чтение из флеш только образа ядра.

 , , ,

kriptonus
()

RSS подписка на новые темы