Нет обратной связи после загрузки ядра на одноплатном компьютере IFC6410

Нет обратной связи после загрузки ядра на одноплатном компьютере IFC6410

В настоящее время я пытаюсь запустить Linux наIFC6410одноплатный компьютер. Для этого я следовал инструкциям, которые можно найти в этом руководстве: https://github.com/freedreno/freedreno/wiki/Fedoraчтобы запустить Fedora на плате. Процедура, описанная в руководстве, работает хорошо до тех пор, пока не наступит момент, когда файловая система должна быть загружена.

Основные шаги, которые я предпринял, были следующими:

  • Я сделал резервную копию прошивки IFC6410 в архиве на моем хост-ноутбуке (шаг 3 в руководстве)
  • Я загрузил файловую систему Fedora armhfp (я попробовал обе версии, указанные в руководстве, а также некоторые другие версии, которые нашел)
  • Я скопировал файловую систему на USB-накопитель, изменил размер раздела rootfs и скопировал прошивку, которую я сохранил на первом шаге, в папку lib на rootfs на USB-накопителе (шаги 4, 5, 6 в руководстве).
  • Я отключил USB-накопитель и подключил его к IFC6410.
  • (также я подключил монитор к порту micro HDMI)

А теперь наступает момент, когда я застрял.

На следующем шаге я должен загрузиться с файловой системы на USB-накопителе, который я только что подготовил. Для этого я скачал предварительно собранное ядро ​​для IFC6410, ссылку на которое вы найдете в руководстве, и загрузил устройство в режиме fastboot.

С помощью fastboot я загрузил ядро:

fastboot boot ifc6410-boot-f20.img

что, похоже, сработало хорошо:

downloading 'boot.img'...
OKAY [  1.346s]
booting...
OKAY [  0.003s]
finished. total time: 1.349s

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

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

Еще одна вещь, которая может иметь значение, заключается в том, что я также следовал руководству (которое я, к сожалению, не нашел снова) по настройке аварийной системы Android на устройстве ARM. Следуя этому руководству, я ввел команду "fastboot flash boot", которая не сработала. Я не уверен, вызвало ли это постоянное изменение системы и могло ли это быть частью моей проблемы.

решение1

Цвакельманн,

Вероятно, IFC6410 загружается — сообщение, которое вы видите после команды fastboot, означает, что плата успешно перезагрузилась, ядро ​​загружено на нее и процесс загрузки будет продолжен.

Однако плата не будет отображать текстовую консоль на мониторе, подключенном через HDMI, во время загрузки. Если драйвер Freedreno правильно установлен в корневой файловой системе Fedora, в конечном итоге она загрузится в X, но я не уверен, что это будет с файловой системой по умолчанию, которая поставляется в данный момент.

Однако при загрузке по последовательному соединению выводится текстовая консоль — вы можете использовать ее для входа в систему как root и выполнения остальной настройки — именно это означает «войти в систему как root через последовательный терминал» в шаге 8 инструкций. Поэтому вам необходимо создать последовательный кабель, как описано в разделе «создание последовательного кабеля» здесь:

https://github.com/freedreno/freedreno/wiki/Ifc6410

Его нужно подключить либо к порту RS232 на вашем компьютере (что сейчас встречается редко), либо через преобразователь USB в RS232. Затем вы можете использовать программу типа minicom (linux) или Hyperterminal (Windows), чтобы просмотреть, что выходит через последовательный порт. Это позволит вам увидеть вывод ядра во время загрузки, войти в консоль и выполнить остальные инструкции.

решение2

Я был в той же ситуации, что и вы. Мой IFC6410 достигал пустого экрана и переставал отвечать при загрузке Fedora из fastboot, как указано в шаге 7 наhttps://github.com/freedreno/freedreno/wiki/Fedora.

Возникли проблемы с разделом rootfs /, требующим проверки файловой системы после завершения команды xzcat. Это сработало без проблем после нескольких попыток.

У меня нет последовательного кабеля, но я смог завершить установку xorg, gnome и т. д. Это можно сделать с помощью терминала Android / оболочки adb на IFC6410 и двоичного файла busybox для chroot в Fedora rootfs. Команды, которые я использовал для настройки chroot:

$ busybox mount -o remount,rw /

$ busybox blkid (to list partitions)

$ busybox mount /dev/block/sda3 /mnt/chroot/

$ busybox mount /dev/block/sda1 /mnt/chroot/boot

$ busybox mount -o bind /dev/ /mnt/chroot/dev/

$ busybox mount -t proc proc /mnt/chroot/proc/

$ busybox mount -t sysfs sysfs /mnt/chroot/sys/

$ busybox mount -t devpts devpts /mnt/chroot/

$ echo "nameserver 8.8.8.8" > /mnt/chroot/etc/resolv.conf

$ busybox chroot /mnt/chroot/bin/bash

После этого вы сможете запускать команды из rootfs, однако мне пришлось вызывать их напрямую из /bin и /usr/sbin. После этого я смог загрузить Fedora и войти в систему без каких-либо проблем.

решение3

Цвакельманн,

Я бы определенно рекомендовал использовать рабочий кабель UART.. это значительно упрощает отладку, когда вы можете видеть трассировки ядра. Обратите внимание, что это уровни 5 В, и некоторые более ранние версии платы менял местами RX и TX (GND - это центральный контакт).

Я никогда не пробовал usb-флешку. Но пока rootfs все еще /dev/sda3, то это должно работать. В противном случае вам может понадобиться отредактировать bootargs (например, -c "..." arg для fastboot)

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

решение4

просто хотел сообщить, что Inforce выпустила новую версию 6410 под названием 6410Plus по той же цене с тем же Snapdragon 600 SoC, но с новыми функциями GPS, MIPI-CSI и MIPI-DSI и многим другим. Вы можете проверить характеристики новой модели на сайте InforceОдноплатный компьютер 6410Plus

Связанный контент