пытаюсь запустить под ARM

Только технические вопросы по ЯОС и MINOS. Терминология и прочее - в других форумах.
Ответить
БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

пытаюсь запустить под ARM

Сообщение БудДен » 15.12.20 23:13

С тех пор, как обнаружилось существование эмуляторов ARM (они появились недавно), снова появилась надежда запустит ЯОС в эмуляторе. Также выяснилось, что в ядре есть модуль Trace, т.е. оно может всё же показать что-то большее, чем чёрный экран.

Скачал SDK для Xilinx, но это кажется слишком сложным. У нас есть сборка под RPI неизвестного статуса, хочу попробовать её пнуть. Выяснилось, что есть -M versatilepb и -M raspi2, это разные эмуляторы. Ядра, собранные под одно, не работают под другое, и наоборот:

https://stackoverflow.com/questions/497 ... pi-2-image

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

https://dominoc925.blogspot.com/2019/09 ... mu-on.html
Последний раз редактировалось БудДен 15.12.20 23:18, всего редактировалось 1 раз.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 15.12.20 23:16

логин/пароль pi/raspberry,
войти в систему можно, но графика не загрузилась. Да и пёс с ней. Зато сеть работает. Эту часть считаем успешной. Теперь надо понять, под какую же версию работают (или не работают) сборки RPi для A2...

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 16.12.20 00:18

Вроде под RPI2 должно работать, судя по чтению чата в телеграм.

Для запуска Linux с -M raspi2 пытаюсь использовать этот ответ:

https://stackoverflow.com/questions/288 ... -2-on-qemu

команда получилась такая:

Код: Выделить всё

c:\prf\qemu-20200221\qemu-system-arm.exe -M raspi2 -append "rw earlyprintk loglevel=8 console=ttyAMA0,115200 dwc_otg.lpm_enable=0 root=/dev/mmcblk0p2" -cpu arm1176 -dtb bcm2709-rpi-2-b.dtb -sd 2020-08-20-raspios-buster-armhf.img -kernel kernel7.img -m 1G -smp 4 -serial stdio
Но заканчивается оно тем, что при попытке смонтировать корневую файловую систему облом-с.
Последний раз редактировалось БудДен 16.12.20 01:07, всего редактировалось 1 раз.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 16.12.20 00:19

Но там и на это есть ответ (вся команда должна быть в одной строке).

Код: Выделить всё

c:\prf\qemu-20200221\qemu-system-arm.exe -M raspi2 -append "rw earlyprintk loglevel=8 
console=ttyAMA0,115200 dwc_otg.lpm_enable=0 root=/dev/mmcblk0p2 rootdelay=1" -cpu arm1176 -dtb bcm2709-rpi-2-b.dtb 
-sd 2020-08-20-raspios-buster-armhf.img -kernel kernel7.img -m 1G -smp 4 -serial stdio
(это я запускаю под Windows, там строка под linux, разницы видимо нет).
Забыл упомянуть о том, что нужные файлы из образа я достал под Windows, открыв файл образа с помощью 7zip - там внутри два архива, из них меньший содержит то, что нужно.
Последний раз редактировалось БудДен 16.12.20 01:06, всего редактировалось 1 раз.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 16.12.20 00:22

Как и было обещано, клавиатура и мышь не работает, но консоль (через последовательный порт, т.е. через консоль qemu) позволяет залогиниться.
Более чем достаточно. Если бы A2 так заработала, было бы прекрасно!

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 16.12.20 02:26

КонечнО, не удержался и попробовал, но ничего не вышло. А надо было давно спать уже.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 16.12.20 15:33

Разобрался, как в A2 создаются img файлы, а также прочитал, что нужно подложить свой kernel.img к файлам ядра (возможно, тут пока неправда).
Создаю с помощью такого скрипта https://gitlab.com/budden/ja-o-s/-/blob ... iCHDD.Tool

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 16.12.20 15:35

https://habr.com/ru/post/208726/ - написано, что нужно FAT16, посмотрим.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 16.12.20 15:41

Последняя версия кирпича выглядит так:

Код: Выделить всё

c:\prf\qemu-20200221\qemu-system-arm.exe -M raspi2  -cpu arm1176 -dtb bcm2709-rpi-2-b.dtb -drive file=jaos-rpi.img,format=raw -m 256 -smp 4 -serial stdio     

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 16.12.20 18:03

Попытался скачать какое-то чужое ядро, оно тоже в эмуляторе не сработало. В общем, как-то туго идёт с платформой ARM пока что. Заказал физическую Raspberry Pi 2, они есть только у частных продавцов. Остаётся пока что только ждать.


БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 17.12.20 15:37

Пытаюсь найти исполнителя за деньги:

http://forum.easyelectronics.ru/viewtop ... 02#p652602

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 22.12.20 00:27

Pi приехала, пока и линукс не могу запустить. Судя по миганию светодиодов, она загружается, но монитор показывает только черноту. Наверное, завтра попробую с другим кабелем и на другом мониторе. Ещё выяснилось, что оказывается, версия 1.2 отличается от 1.1 РАЗРЯДНОСТЬЮ ПРОЦЕССОРА И ВЕРСИЕЙ ЕГО АРХИТЕКТУРЫ. Совсем небольшое такое отличие, чтобы выражать его минорным (как это будет по-русски?) номером версии. Если я купил не то, что можно и не тратить время на попытку установки линукса (знать бы ещё, что есть "то").

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: пытаюсь запустить под ARM

Сообщение Лис [Вежливый] » 22.12.20 15:32

«Судя по миганию светодиодов, она загружается, но монитор показывает только черноту.»
Ты raspbian устанавливаешь?
Если нет, то список модулей в ядре проверь.
«как это будет по-русски?»
младшим?

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 22.12.20 16:37

С другим монитором и после подключения клавиатуры распбиан запустился. Что сыграло решающую роль - не знаю. Если ещё будет сегодня время, попробую подключить через UART (боюсь спалить не тем напряжением, надо точно быть уверенным, что купленный UART на базе CP1202 подходит - там указано два напряжения питания).

Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Re: пытаюсь запустить под ARM

Сообщение Павиа » 22.12.20 18:14

Если настроить на gitlab автосборку то там можно выбрать тестовый компьютер на АРМ.
А вообще брал себе NanoPi M4. Там детских болезний нету и стоит защита. UART комплектный, но с переключателем для смены напряжения.
Спалить напряжением задача крайне трудная. Это надо что бы из-за взаимо влияния открылась цепь по питанию. Процессоры проходят тест на электромагнитную совместимость. Достаточно жестоким, что не дает им сгореть. А вот на плате вторичные цепи питания и блок питания могут быть не защищенны.

Из всех прошивок мне понрави https://www.armbian.com/download/

Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Re: пытаюсь запустить под ARM

Сообщение Павиа » 22.12.20 18:19

С другим монитором и после подключения клавиатуры распбиан запустился. Что сыграло решающую роль - не знаю.
Да всё, что угодно. Поэтому я брал плату с Debug-портом на uart. И ещё на всякий случай с портом JTAG - аппаратная отладка.

Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Re: пытаюсь запустить под ARM

Сообщение Павиа » 22.12.20 18:23

БудДен писал(а):
22.12.20 00:27
Pi приехала, пока и линукс не могу запустить. Судя по миганию светодиодов, она загружается, но монитор показывает только черноту. Наверное, завтра попробую с другим кабелем и на другом мониторе. Ещё выяснилось, что оказывается, версия 1.2 отличается от 1.1 РАЗРЯДНОСТЬЮ ПРОЦЕССОРА И ВЕРСИЕЙ ЕГО АРХИТЕКТУРЫ. Совсем небольшое такое отличие, чтобы выражать его минорным (как это будет по-русски?) номером версии. Если я купил не то, что можно и не тратить время на попытку установки линукса (знать бы ещё, что есть "то").
Я то горькмм опытом научен. Поэтому брал плату с SOC у которой максимально открытая документация на RK3399. И вам советовал дороже, а проблем меньше.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 22.12.20 20:42

Я исхожу из принципа наименьшей ширины пропасти. На данный момент - запустил распбиан с терминалом под UART.

Вот это устройство: https://www.chipdip.ru/product/cp2102

Загрузив ядро от A2, пока получаю полукирпич. Т.е. что-то происходит, но что - неведомо. Также нужно вот это:

https://arduinoplus.ru/ustanovka-drivera-cp210x/

И вот это:

https://orangepi.su/content.php?p=201&c ... 20i%20UART.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 22.12.20 20:44

Вероятно, что дальше понадобится вот это: https://sysprogs.com/VisualKernel/tutor ... jtagsetup/ , хотя этого бы не хотелось. ХОтелось бы фьюить - и всё сразу заработало.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 22.12.20 20:45

Переключаюсь на оптимистичный fcede71ca024ef9856f095b7db3b3fecfa370655

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 22.12.20 22:24

Ничего особого не заработало. Неужели и правда для отладки через JTAG нужна страшная штука за 46 тыр? https://www.chipdip.ru/product/j-link-usb-jtag-adapter

Драйвер для переходника тут: https://micro-pi.ru/cp2102-преобразователь-usb-uart/
У переходника мерял напряжение на проводе, отвечающем за отправку, получилось 3.3 в - не страшно стало втыкать.

С линуксом UART заработал.

В уроках из eth, упоминается, что их сборка основана на https://openelec.tv/get-openelec - это не помогло.

Наконец, начал читать это: https://www.raspberrypi.org/documentati ... iguration/

остаётся слабая надежда, что ядро работает, просто не настроен вывод.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 23.12.20 01:00

Короче пёс его знает. Меньше чем за 46 тыр отладочного устройства не нашлось (хотя оно наверняка существует), в итоге за полдня при удаче во всех промежуточных пунктах (удачная малина, удачный адаптер, удачный монитор) ничего не вышло. Пора спать. Надо подумать, что с этим делать. В принципе, ARM это не основная цель и можно на это вообще забить.

Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Re: пытаюсь запустить под ARM

Сообщение Павиа » 23.12.20 07:30

Вот всего за 1 тысячу рублей.
J-link aliexpress
Спрос определяет цену. Себястоимость такого отладчика в раёне 2 баксов. JTAG отладчик/эмулятор это просто преобразователь сигналов принцип такой же как у cp1202 все остальные возможности определяет софт.
Кто хочет с экономить, тот пишет stub для gdb сервера и отлаживает по UART. Что имеет ряд минусов по сравнению с JTAG. Невозможно отлаживать загрузчик и обработку прерываний. Хотя последнее можно делать двух стадийным.

Но вообще отладка ядра ОС это ещё тот вопрос и решается юнит-тестами на все функции

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 23.12.20 11:38

Спасибо, это похоже на реальный вариант. Он даже в Москве продаётся (от слова алиэкспресс я икаю, хотя карточка Zybo в конце концов таможню прошла, но в руках у меня её до сих пор нет). Я сейчас хочу попробовать другой вариант - https://github.com/PeterLemon/RaspberryPi , а дальше методом аналогии. Пока ещё не полностью раскрыта тема конфигурационного файла, возможно, дело просто в какой-то глупости.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 23.12.20 16:32

И об этом PeterLemon есть отдельная тема: http://вече.программирование-по-русски. ... ?f=5&t=332
Дальше там ещё один репозиторий с примерами.

Теперь возвращаемся к A2 - переключаемся на "fcede71ca024ef9856f095b7db3b3fecfa370655 - Some patches -- Coop A2 on RPI works again", собираем RPiC под именем kernel7.img и делаем такой config.txt:

Код: Выделить всё

# kernel_old=1
disable_commandline_tags=1
disable_overscan=1
framebuffer_swap=0
Остальные файлы - от 2017-07-05-raspbian-jessie-lite.zip

Я это пишу до запуска, потому что после запуска уже мотива не будет :(

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 23.12.20 16:34

Радужный экран, на UART - тишина. Попробуем теперь побольше помигать.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 23.12.20 19:54

Списал код мигания с работающего примера и поместил его в стартовую функцию, но всё равно не мигает. Видимо, что-то не так с форматом img файла? Попытался погуглить, что это за формат, но так и не понял. Короче говоря, принимаем за аксиому, что A2 на RPiC не работает и её надо портировать заново с нуля.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 23.12.20 21:52

Нашёл ошибку при переписывании кода, но и её исправление не помогло. Также сгенерировал elf-файл из A2, вместо img файла, но arm-none-eabi-objdump говорит, что файл неправильный. Также пытался минимизировать объём собираемого образа, но это не получилось - там много взаимозависимых вещей. Короче, тут дело ясное, что дело тёмное. Не уверен, что стоит продолжать этим заниматься. Отключил все проводки, засунул RPi обратно в корпус и винтики завернул.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 29.12.20 16:59

Сергей Дурманов предположил, что может быть это должен быть Raspberry Pi Model A.

https://www.raspberrypi.org/forums/view ... p?t=142531

После НГ можно будет купить и ещё раз попробовать, а также нашёл форум
с конфигурациями QEMU, где UART работает.

https://www.raspberrypi.org/forums/view ... p?t=142531

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: пытаюсь запустить под ARM

Сообщение БудДен » 29.12.20 17:03

Только это модель 2, а не 1. Так что извините.


Ответить