
В настоящее время я пытаюсь запустить 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