LINUX.ORG.RU
ФорумAdmin

Как подключиться к ARM через COM?

 ,


0

3

Здравствуйте, коллеги.

Прошу не пинать сильно. С ARM я сталкивался, но давно и как-то не глубоко. На данный момент из памяти почти все стерлось.

Что мы имеем:

Architecture:           aarch64
  CPU op-mode(s):       32-bit, 64-bit
  Byte Order:           Little Endian
CPU(s):                 8
  On-line CPU(s) list:  0-7
Vendor ID:              ARM
  Model name:           Cortex-A55
 ...

Железка рабочая. На ней установлен Debian 12

uname -a
Linux Debian 5.10.160 #4 SMP Fri Feb 9 09:21:31 MSK 2024 aarch64 GNU/Linux

Debian - это, конечно, очень хорошо! Но нам на нем нужен Alt.

Систему можно загрузить с «харда» или карты памяти.

Полазил в интернете и даже кое что нашел! https://www.adior.ru/index.php/desktop/162-alt-linux-arm

Сделал по инструкции. Залил alt-workstation-10.0-aarch64.img.xz по инструкции на карту памяти, попытался загрузиться и… И ни чего! Просто черный экран.

Меня, вообще, arm выбешивает, что при загрузке, вообще ни чего не говорит! При загрузке предустановленного Debian, сначала черный экран, помигивает курсор, потом сразу приглашение в систему.

Сам процесс загрузки сокрыт.

Полазив в интернет я нашел инфу, что больше информации можно получить подключившись к RS232.

Я когда-то, ка писал выше, с этим сталкивался, но все успешно забыл.

Давайте представим что есть шнур с CP2102/CP2109 UART Bridge Controller на одном конце 9 pin на другом USB.

Подключаем COM к ARM, usb к внешнему компу с Linux.

В Linux устанавливаю Putty. Допрос с пристрастим dmesg выдает:

 [ 1696.053358] usb 1-1.4.3.1: new full-speed USB device number 13 using ehci-pci
[ 1696.165585] usb 1-1.4.3.1: New USB device found, idVendor=10c4, idProduct=ea60, bcdDevice= 1.00
[ 1696.165623] usb 1-1.4.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1696.165644] usb 1-1.4.3.1: Product: CP2104 USB to UART Bridge Controller
[ 1696.165659] usb 1-1.4.3.1: Manufacturer: Silicon Labs
[ 1696.165673] usb 1-1.4.3.1: SerialNumber: 034BC90C
[ 1696.167806] cp210x 1-1.4.3.1:1.0: cp210x converter detected
[ 1696.170454] usb 1-1.4.3.1: cp210x converter now attached to ttyUSB0

О! Крупица информации: cp210x converter now attached to ttyUSB0

Далее запускаю Putty, выбираю serial, вписываю /dev/ttyUSB0 и… Скорость по умолчанию 9600. Оставляю как есть или забиваю 115200 -результат един. Открывается окно в котором лишь курсор, который ни на что не реагирует.

Ни чего не вводится и не выводится.

Что я делаю не верно? Что я забыл?

Давайте будем считать (надеятся), что шнурок живой.

PS. Еще я видел, что у Alt linux есть iso образы для arm64. Например alt-server-10.0-aarch64.iso
https://download.basealt.ru/pub/distributions/ALTLinux/p10/images/server/aarch64/

Как его можно установить???


Ответ на: комментарий от anc

А что именно не устроило в minicom’е ? Вроде всё что нужно для терминала у него в наличие присутствует.

Пофиг какой клиент. Лишь бы можно было получить какую либо информацию, но вот с этим затык.

Я в железках, мягко говоря, деревянный, а наши технари ни как не могут понять как мне обеспечить интерфейс общения с этой сраной железкой.

HighMan
() автор топика
Ответ на: комментарий от pihter

«Там» — это где?

ТС сослался на инструкцию, где вызывают ″alt-rootfs-installer″ без опции ″target″, походу, на SD-карте у него uboot'а нет.

2ТС. Многие одноплатники расчитаны на uboot на sd-карточке. Если у вас «пустая» карточка, то никакой связи по uart не будет. Если у вас карточка с debian содержит uboot, то и alt'у нужно установить uboot. А потом, может всё и загрузится, и задача связи по uart отпадёт.

mky ★★★★★
()
Последнее исправление: mky (всего исправлений: 1)
Ответ на: комментарий от mky

ТС сослался на инструкцию, где вызывают ″alt-rootfs-installer″ без опции ″target″, походу, на SD-карте у него uboot’а нет.

alt-rootfs-installer создает на «таргете» 2 раздела. Так же, я там что-то мутил и просто создавал имадж с двумя разделами.

Первый boot раздел немного похож на дебиановский, вот только файлов на нем заметно больше.

Разумеется, я так и эдак пытался загрузиться с прошитой SD картой, но вотще.

Просто черный экран и ни чего больше.

2ТС. Многие одноплатники расчитаны на uboot на sd-карточке. Если у вас «пустая» карточка, то никакой связи по uart не будет. Если у вас карточка с debian содержит uboot, то и alt’у нужно установить uboot. А потом, может всё и загрузится, и задача связи по uart отпадёт.

root@Debian:~# lsblk
NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
mmcblk0      179:0    0 58.2G  0 disk 
|-mmcblk0p1  179:1    0  512M  0 part 
`-mmcblk0p2  179:2    0 57.7G  0 part /
mmcblk0boot0 179:32   0    4M  1 disk 
mmcblk0boot1 179:64   0    4M  1 disk 
mmcblk1      179:96   0 58.2G  0 disk 
|-mmcblk1p1  179:97   0  241M  0 part 
`-mmcblk1p2  179:98   0 12.8G  0 part 
zram0        254:0    0    0B  0 disk 

### mmcblk1 - SD card. Installed ALT

root@Debian:~# mount /dev/mmcblk1p1 /mnt
root@Debian:~# ls -lah /mnt
total 23M
drwxr-xr-x  3 root root 2.0K Jan  1  1970 .
drwxr-xr-x 18 root root 4.0K Feb  9 11:59 ..
drwxr-xr-x  3 root root  512 Dec 10  2021 EFI
-rwxr-xr-x  1 root root  29K Dec 10  2021 bcm2710-rpi-3-b-plus.dtb
-rwxr-xr-x  1 root root  28K Dec 10  2021 bcm2710-rpi-3-b.dtb
-rwxr-xr-x  1 root root  48K Dec 10  2021 bcm2711-rpi-4-b.dtb
-rwxr-xr-x  1 root root  52K Dec 10  2021 bootcode.bin
-rwxr-xr-x  1 root root  202 Dec 10  2021 config.txt
-rwxr-xr-x  1 root root 7.2K Dec 10  2021 fixup.dat
-rwxr-xr-x  1 root root 5.4K Dec 10  2021 fixup4.dat
-rwxr-xr-x  1 root root 3.2K Dec 10  2021 fixup4cd.dat
-rwxr-xr-x  1 root root 8.3K Dec 10  2021 fixup4db.dat
-rwxr-xr-x  1 root root 8.3K Dec 10  2021 fixup4x.dat
-rwxr-xr-x  1 root root 3.2K Dec 10  2021 fixup_cd.dat
-rwxr-xr-x  1 root root  11K Dec 10  2021 fixup_db.dat
-rwxr-xr-x  1 root root  11K Dec 10  2021 fixup_x.dat
-rwxr-xr-x  1 root root 2.9M Dec 10  2021 start.elf
-rwxr-xr-x  1 root root 2.2M Dec 10  2021 start4.elf
-rwxr-xr-x  1 root root 775K Dec 10  2021 start4cd.elf
-rwxr-xr-x  1 root root 3.6M Dec 10  2021 start4db.elf
-rwxr-xr-x  1 root root 2.9M Dec 10  2021 start4x.elf
-rwxr-xr-x  1 root root 775K Dec 10  2021 start_cd.elf
-rwxr-xr-x  1 root root 4.6M Dec 10  2021 start_db.elf
-rwxr-xr-x  1 root root 3.6M Dec 10  2021 start_x.elf
-rwxr-xr-x  1 root root 530K Dec 10  2021 uboot-rpi_3.bin
-rwxr-xr-x  1 root root 574K Dec 10  2021 uboot-rpi_4.bin

root@Debian:~# cat /mnt/config.txt 
arm_64bit=1
enable_uart=1
disable_overscan=1
dtparam=audio=on
hdmi_ignore_edid_audio=1

[pi3]
kernel=uboot-rpi_3.bin
#dtoverlay=vc4-fkms-v3d

[pi4]
kernel=uboot-rpi_4.bin
#dtoverlay=vc4-fkms-v3d

[all]

Это содержимое boot раздела Alt. И содержимое файла config.txt

root@Debian:~# umount /mnt 
root@Debian:~# mount /dev/mmcblk0p1 /mnt
root@Debian:~# ls -lah /mnt
total 181M
drwxr-xr-x  2 root root 4.0K Jan  1  1970 .
drwxr-xr-x 18 root root 4.0K Feb  9 11:59 ..
-rwxr-xr-x  1 root root 148M Feb  9 09:25 busybox.rootfs.cpio.gz
-rwxr-xr-x  1 root root 246K Feb  9 09:25 dtb
-rwxr-xr-x  1 root root  34M Feb  9 09:25 linux
-rwxr-xr-x  1 root root  32K Feb  9 09:25 uboot.env

Это содержимое boot раздела Debian. uboot.env - бинарь.

HighMan
() автор топика
Последнее исправление: HighMan (всего исправлений: 1)

для начала найдите информацию о ваше плате, на сайте производителя платы как правило есть необходимая информация по подключению к ней и установке/модификации

как пример, на Amlogic S905Y4 используется 921600 8N1, а на Amlogic S805 115200 8N1

imb ★★
()
Ответ на: комментарий от pfg

скорость порта уарт определяется настройками сиречъ прошивкой а не типом процессора

зависит от … в частности вендор может «зашить» скорость без возможности её конфигурировать

imb ★★
()
Ответ на: комментарий от pfg

переткнуть два пина проще, чем подобрать скорость порта :)

Как я понял, неверно подобранная скорость просто будет мусорить в «терминале». Дойти бы до того момента, как хоть что-то посыпется в терминал.

Пусть будет даже 90% мусора, с этим уже как-то можно работать.

Пока же в терминал не выводится даже мусор.

На следующей неделе должен появиться прошаренный технарь. Может ему удасться что-то сделать.

HighMan
() автор топика
Ответ на: комментарий от HighMan

Мало у каких одноплатников uboot находится на разделе, я знаю только RPi. У большинства одноплатников uboot находится перед перым разделом, как grub в случае классического (не UEFI) bios. Если по нужным смещениям (допустим 8кбайт от начала) нет нужных блоков данных, то для одноплатника такая карточка пустая.

https://www.altlinux.org/Write/rootfs

Смотрите вывод с опцией "-supported″ и перебираете подряд все загрузчики, хотя не факт, что вобще в alt линуксе есть нужный uboot. sd карта с дебианом откуда?

mky ★★★★★
()
Ответ на: комментарий от HighMan

ага, по длине мусора весьма отлично скорость подбирается :)
у какихто модеомв при включении выбрасывалась короткая строчка типа SYSSTART, по «длине» шума скорость подбирал :)
вообще если нет осциллографа, ткнись напряжометром - на Tx должно быть VCC, на Rx как повезет.

pfg ★★★★★
()
Ответ на: комментарий от mky

Мало у каких одноплатников uboot находится на разделе, я знаю только RPi. У большинства одноплатников uboot находится перед перым разделом, как grub в случае классического (не UEFI) bios. Если по нужным смещениям (допустим 8кбайт от начала) нет нужных блоков данных, то для одноплатника такая карточка пустая.

Я в ARM совсем не разбираюсь, но так же пришел к выводу, что должна быть какая-то запись на носителе, как например MBR.

Ведь BIOS отсутствует, как и EFI. Следовательно никакая логика до старта ядра ОС не выполняется. А что бы стартануть ядро, нужно, как минимум, указать где оно находится. Вот и нужно нечто вроде MBR.

Но как ее найти? Как ее модифицировать? Есть ли какой-то инструмент, позволящий изменять этот «MBR»?

HighMan
() автор топика
Последнее исправление: HighMan (всего исправлений: 1)
Ответ на: комментарий от HighMan

MBR находится в первых 512 байта носителя.
далее зависит от метода загрузки, если 446 байт отведенных под загрузочный код в MBR не хватает, то (обычно) в последующих секторах лежит дополнительный код загрузчика. код из MBR загружает этот код, передает ему управление, ну и далеее
https://ru.wikipedia.org/wiki/%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BE%D1%87%D0%BD%D0%B0%D1%8F_%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C

pfg ★★★★★
()
Ответ на: комментарий от pfg

но если я сделаю свою железяку на Amlogic S905Y4, то могу скорость выбрать и другую

в данном случае проблема заявлена в виде

Железка рабочая. На ней установлен Debian 12

из чего вроде как следует что люди не разрабатывают железо, что конечно при наличии навыков не мешает достаточно сильно модифицировать её програмную начинку, но учитывая начальный вопрос похоже это тоже не совсем их область

imb ★★
()
Последнее исправление: imb (всего исправлений: 1)
Ответ на: комментарий от HighMan

Ведь BIOS отсутствует, как и EFI. Следовательно никакая логика до старта ядра ОС не выполняется

не верно, до старта linux может много чего выполняться, очень распространённый вариант - uboot https://github.com/u-boot/u-boot , но в зависимости от вендора это может быть и более многоходовый вариант

imb ★★
()
Ответ на: комментарий от imb

ну и я о том же. в настройках инициализации данного дебиана гдето прописано скорость уарт, какая она заранее не известно.
как вариант админский уарт вполне может быть выключен.
помнится одно время на одном очень военном заводе из обслуживающих компов физически выдирали все неиспользуемые разъемы: усб иде сата и т.д. безопасТность !!

pfg ★★★★★
()
Ответ на: комментарий от HighMan

Как ее модифицировать?

Я же вам ссылку кинул. Там прямо раздел «Замена загрузчика». А вот как посмотреть, что там записано и определить по содержимому SD-карты с дебианом какой там загрузчик (под какую плату собран) я не знаю.

как например MBR

Там, к сожалению, всё хуже. MBR стандартизован и находится строго на определённом адресе. А там каждый производитель делает что хочет, фиксированного адреса нет. Так, понятно, что на SD-карте есть MBR == сектор с адресом 0, но там лежит только таблица разделов, 446 байт под код загрузчика на одноплатниках не используются.

mky ★★★★★
()
Ответ на: комментарий от pfg

ткнись напряжометром

ТС, пока что, вроде как, тыкается в DB9, там не VCC, плюс, если скидывали описание на правильную плату, то там ещё выведены квитирующие сигналы, так что отрицательное напряжение может быть на нескольких пинах.

mky ★★★★★
()
Ответ на: комментарий от pfg

MBR находится в первых 512 байта носителя.

Это я знаю.

Но вы уверены, что все ARM ищут загрузчик в том же месте?

На x86 с помощью grub-install (grub2-install) можно записать этот загрузчик на устройство. Но как это делать на ARM?

Наверное есть некий инструментарий для ARM, но я не знаю как он называется и я не видел по ним информацию.

UPD сначала написал свой ответ, потом увидел:

Там, к сожалению, всё хуже. MBR стандартизован и находится строго на определённом адресе. А там каждый производитель делает что хочет, фиксированного адреса нет. Так, понятно, что на SD-карте есть MBR == сектор с адресом 0, но там лежит только таблица разделов, 446 байт под код загрузчика на одноплатниках не используются.

HighMan
() автор топика
Последнее исправление: HighMan (всего исправлений: 1)
Ответ на: комментарий от mky

Я же вам ссылку кинул. Там прямо раздел «Замена загрузчика». А вот как посмотреть, что там записано и определить по содержимому SD-карты с дебианом какой там загрузчик (под какую плату собран) я не знаю.

Документация Alt Linux это такая документация…

Всем документациям документация!

Практически все их скриптотворчество требует длительного красноглазия. С первого раза ни хрена не получится.

Есть форум, но там отвечают крайне редко и не охотно.

Глядя на их документацию по какому-то своему продукту я, прямо, себя узнаю.

Мне проще нечто накодить, нежели написать под это документацию.

Я же понимаю как это использовать. Значит и все остальные должны это понимать! И наплевать, что через месяц я начинаю мучительно вспоминать, что же я там делал и для чего :)

alt-rootfs-installer –media=/dev/mmcblkX –target=<имя_u-boot_загрузчика>

Вроде, вот пример прямо по теме!

Но, блин, не сказано даже ГДЕ взять это имя загрузчика!

HighMan
() автор топика
Ответ на: комментарий от HighMan

ARM вообще ничего не ищет, это проц - железячка :) проц после самтоетста передает управление прошивке, firmware. а уж что она делает, это лишь решения проиводителя :)
вполне может и использовать спецификацию BIOS в плане загрузки MBR с носителя.

берется носитель, подключается к компутеру и на нем записывается образ с дебианом, настроенный на запуск в этой плате. вставляется в плату - запускается.

ну уж как реализовать загрузку это решения производителя.

pfg ★★★★★
()
Ответ на: комментарий от HighMan

Про имя загрузчика написано в начале:

alt-rootfs-installer --supported
Там, конечно, может быть такое: https://bugzilla.altlinux.org/40209

Но, по идее, должен выведен список. А уж как те имена соотнести с вашей платой и выбрать нужны, отдельный вопрос.

mky ★★★★★
()
Ответ на: комментарий от pfg

управление прошивке, firmware

Только это firmware может идти с завода производителя чипов, вшита и не изменяется ни пользователем, не производителем одноплатников. Если в даташите на чип написано, что он пытается откуда-то грузить и выполнять коды, то для всех, кроме производителя чипа, «ARM ищет».

mky ★★★★★
()
Ответ на: комментарий от mky

Там, конечно, может быть такое: https://bugzilla.altlinux.org/40209

Я поставил этот alt-rootfs-installer и он даже что-то пытается делать. Правда, пока безрезультатно.

Но, по идее, должен выведен список. А уж как те имена соотнести с вашей платой и выбрать нужны, отдельный вопрос.

Если интересно, то…

http://git.altlinux.org/people/antohami/public/?p=alt-rootfs-installer.git;a=blob_plain;f=alt-rootfs-installer.tar;hb=release

Вот этот набор скриптов. Устанавливается, судя по всему, на любой Linux.

Вот тут rootfs:

https://download.basealt.ru/pub/distributions/ALTLinux/p10/images/workstation/aarch64/

Я совсем не понимаю зачем там iso образы. Какие-то ARM умеют грузиться с CD или iso образа?

HighMan
() автор топика
Последнее исправление: HighMan (всего исправлений: 1)

как возможная отправная точка

/etc/inittab

...........
::respawn:/sbin/getty -L 115200 /dev/ttyS0
.......

но у Вас устройство может отличаться

Сделал по инструкции. Залил alt-workstation-10.0-aarch64.img.xz по инструкции на карту памяти, попытался загрузиться и… И ни чего! Просто черный экран.

в общем случае нет гарантии что это запуститься на Вашей плате

Железка рабочая. На ней установлен Debian 12

производитель платы мог внести необходимые изменения в исходный код, как пример https://genesi.company/products/smartbook поставляет свой вариант Ububtu/Debian https://genesi.company/support/software/efikamx

imb ★★
()
Ответ на: комментарий от HighMan

Не знаю, зачем именно там iso образы и про загрузку ARM с DVD точно не знаю, но, так существуют сервера на ARM и существуют умные слова, относящиеся к ARM-серверам: SBSA (Server Base System Architecture) и SBBR (Server Base Boot Requirements).

Здесь: https://www.altlinux.org/Baikal-M пишется, до iso-образ прямо командой dd записывается на флешку/HDD и с этого загружается Байкал-М. Может он ещё с usb-DVD умеет загружаться.

Если интересно

Посмотрел по диагонали. Если в этой теме правильно определили, что у вас conga-SMX8-Plus, то там должен быть NXP i.MX 8M Plus, то есть uboot для imx. Ничего с imx в списке не нашёл. Возможно, alt вобще не поддерживает вашу плату. Хотя, может ошибаюсь. Не знаю что посоветовать... скрещивать ALT и Debian, взяв с Debian начало SD-карты и первый (boot) раздел...

mky ★★★★★
()
Ответ на: комментарий от HighMan

Следовательно никакая логика до старта ядра ОС не выполняется

Неверно, выполняется. Ядро тоже должен кто-то загрузить в память и передать ему управление. Там целая мини ос, в твоём случае - uboot

Но как ее найти? Как ее модифицировать? Есть ли какой-то инструмент, позволящий изменять этот «MBR»?

Всё есть, но в этом разбираться нужно.

А можно как-нибудь нам увидеть образ флешки с дебиан ом и альтом? Они ж поди публично доступны.

pihter ★★★★★
()
Ответ на: комментарий от mky

Не знаю что посоветовать… скрещивать ALT и Debian, взяв с Debian начало SD-карты и первый (boot) раздел…

Собсна, взять образ флешки с дебиан ом и заменить рутфс и ядро на альтовские - звучит реально

pihter ★★★★★
()
Ответ на: комментарий от pihter

Реально, но, как повезёт. В альтовском ядре может быть не включеном что-нибудь нужное. Конечно, можно и перекомпилять, но сначала нужно понять, чего не хватает. Плюс непонятный файл busybox.rootfs.cpio.gz на первом разделе SD-карточки с дебианом, там могут быть какие-нибудь модули ядра. Ну, если получится, и нужно будет как-то в Альте отключать обновления, чтобы там ядро или uboot не обновился...

mky ★★★★★
()
Ответ на: комментарий от pihter

Собсна, взять образ флешки с дебиан ом и заменить рутфс и ядро на альтовские - звучит реально

Заменить rootfs - как 2 пальца об асфальт, она же на втором разделе. Так что перезалить раздел, вообще, не проблема.

Некоторая проблема с ядром.

Я, выше, уже давал листинги первых разделов оригинального Debian и Alt. В Alt много больше файлов и понять какой из них есть ведро - не понятно.

Ниже содержимое первого раздела SD с Alt:

ls -la
total 22781
drwxr-xr-x  3 root root    2048 Jan  1  1970 .
drwxr-xr-x 18 root root    4096 Feb  9 11:59 ..
drwxr-xr-x  3 root root     512 Dec 10  2021 EFI
-rwxr-xr-x  1 root root   28799 Dec 10  2021 bcm2710-rpi-3-b-plus.dtb
-rwxr-xr-x  1 root root   28180 Dec 10  2021 bcm2710-rpi-3-b.dtb
-rwxr-xr-x  1 root root   48878 Dec 10  2021 bcm2711-rpi-4-b.dtb
-rwxr-xr-x  1 root root   52456 Dec 10  2021 bootcode.bin
-rwxr-xr-x  1 root root     202 Dec 10  2021 config.txt
-rwxr-xr-x  1 root root    7312 Dec 10  2021 fixup.dat
-rwxr-xr-x  1 root root    5446 Dec 10  2021 fixup4.dat
-rwxr-xr-x  1 root root    3187 Dec 10  2021 fixup4cd.dat
-rwxr-xr-x  1 root root    8452 Dec 10  2021 fixup4db.dat
-rwxr-xr-x  1 root root    8452 Dec 10  2021 fixup4x.dat
-rwxr-xr-x  1 root root    3187 Dec 10  2021 fixup_cd.dat
-rwxr-xr-x  1 root root   10298 Dec 10  2021 fixup_db.dat
-rwxr-xr-x  1 root root   10298 Dec 10  2021 fixup_x.dat
-rwxr-xr-x  1 root root 2952704 Dec 10  2021 start.elf
-rwxr-xr-x  1 root root 2228512 Dec 10  2021 start4.elf
-rwxr-xr-x  1 root root  792924 Dec 10  2021 start4cd.elf
-rwxr-xr-x  1 root root 3722248 Dec 10  2021 start4db.elf
-rwxr-xr-x  1 root root 2980936 Dec 10  2021 start4x.elf
-rwxr-xr-x  1 root root  792924 Dec 10  2021 start_cd.elf
-rwxr-xr-x  1 root root 4794216 Dec 10  2021 start_db.elf
-rwxr-xr-x  1 root root 3704488 Dec 10  2021 start_x.elf
-rwxr-xr-x  1 root root  542600 Dec 10  2021 uboot-rpi_3.bin
-rwxr-xr-x  1 root root  587200 Dec 10  2021 uboot-rpi_4.bin

cat config.txt 
arm_64bit=1
enable_uart=1
disable_overscan=1
dtparam=audio=on
hdmi_ignore_edid_audio=1

[pi3]
kernel=uboot-rpi_3.bin
#dtoverlay=vc4-fkms-v3d

[pi4]
kernel=uboot-rpi_4.bin
#dtoverlay=vc4-fkms-v3d

[all]

file uboot-rpi_3.bin
uboot-rpi_3.bin: PCX ver. 2.5 image data bounding box [8223, 54531] - [0, 8], 20-bit uncompressed

Т.е. uboot-rpi_3.bin - загрузчик u-boot, а вот где ядро - не понимаю.

Если судить по второму разделу Alt (rootfs), то ядро 5.10.82-std-def-alt1 но на первом разделе нет ни чего похожего.

Что интересно: в /boot (Debian) есть только пустая директория efi и больше ни чего, что как бы понятно, если ядро подтягивается из первого раздела. А вот /boot (Alt) совсем не пустой:

ls -la
total 48232
drwx------  5 root root     4096 Dec 10  2021 .
drwxr-xr-x 23 root root     4096 Dec 10  2021 ..
-rw-r--r--  1 root root  5493956 Nov 26  2021 System.map-5.10.82-std-def-alt1
-rw-r--r--  1 root root      262 Dec 10  2021 boot.conf
-rw-r--r--  1 root root   266757 Nov 26  2021 config-5.10.82-std-def-alt1
lrwxrwxrwx  1 root root       36 Dec 10  2021 dtb -> /lib/devicetree/5.10.82-std-def-alt1
drwxr-x--x  2 root root     4096 Dec 10  2021 efi
drwxr-xr-x  2 root root     4096 Dec 10  2021 extlinux
drwxr-xr-x  6 root root     4096 Dec 10  2021 grub
-rw-------  1 root root 10554759 Dec 10  2021 initrd-5.10.82-std-def-alt1.img
lrwxrwxrwx  1 root root       31 Dec 10  2021 initrd-std-def.img -> initrd-5.10.82-std-def-alt1.img
lrwxrwxrwx  1 root root       31 Dec 10  2021 initrd.img -> initrd-5.10.82-std-def-alt1.img
lrwxrwxrwx  1 root root       28 Dec 10  2021 vmlinuz -> vmlinuz-5.10.82-std-def-alt1
-rw-r--r--  1 root root 33038848 Nov 26  2021 vmlinuz-5.10.82-std-def-alt1
lrwxrwxrwx  1 root root       28 Dec 10  2021 vmlinuz-std-def -> vmlinuz-5.10.82-std-def-alt1

Такое впечатление, что ведро Alt загружается со второго (rootfs) раздела.

Нужно будет попробовать впихнуть ядро Alt в первый раздел Debian и посмотреть что получится)

Нет! Отставить!

В /boot (Alt) есть initrd-5.10.82-std-def-alt1.img. Если я правильно понимаю, он не подтянется дебиановским загрузчиком, т.к. там initrd не используется.

Хотя….

Может быть busybox.rootfs.cpio.gz с первого раздела Debian и есть «initrd». Понять бы, как его распаковать…

file busybox.rootfs.cpio.gz 
busybox.rootfs.cpio.gz: u-boot legacy uImage, , Linux/ARM, RAMDisk Image (gzip), 154522977 bytes, Fri Feb  9 06:25:37 2024, Load Address: 00000000, Entry Point: 00000000, Header CRC: 0X5F98F4D5, Data CRC: 0XAC6880DA

zcat busybox.rootfs.cpio.gz

gzip: busybox.rootfs.cpio.gz: not in gzip format
HighMan
() автор топика
Последнее исправление: HighMan (всего исправлений: 4)
Ответ на: комментарий от HighMan

Может быть busybox.rootfs.cpio.gz

Скорее всего. Это у вас и будет самым весёлым. uImage, скорее всего содержащий bzImage, initramfs и dts. Можете поставить u-boot-tools и начать с dumpimage, а дальше можно и до binwalk дойти...

Хотя, возможно, что ядро в файле linux, а в этом uImage только initramfs, сжатый.

mky ★★★★★
()