feh
утилита позволит Вам устанавливать знания в этом способе, если Вы будете использовать --no-xinerama
флаг.
Я уже очень поздно, но я реализовал этот сценарий и обращусь к нему для всех, кто найдет его с помощью поисковой системы в Интернете.
Этот компьютер в модуле можно установить практически на любой готовый TS или пользовательскую базовую плату, и мы хотели, чтобы он работал автоматически, без необходимости настраивать дерево используемых устройств. У нас есть регистр сдвига с 8 входами на любой несущей плате с уникальным идентификатором основной платы. На TS-8550 это 0x13. http://wiki.embeddedarm.com/wiki/TS-4900#Baseboard_ID
Итак, в U-Boot используется bbdetect
], которую мы добавили, читает GPIO, подключенный к этому регистру сдвига, и устанавливает переменную среды $ baseboardid. U-Boot сначала попытается загрузить дерево устройств конкретной основной платы по адресу / boot / imx6 $ {cpu} -ts4900 - $ {baseboardid} .dtb
. Если его не удается найти, он будет использовать дерево резервных устройств по адресу / boot / imx6 $ {cpu} -ts4900.dtb
. Этот последний файл имеет нормальные значения по умолчанию, которые будут работать на любой плате-носителе. TS-8550 не требуется несущая плата для конкретной основной платы, поэтому она возвращается к стандартному дереву устройств и продолжает загружаться.
Чтобы ответить на ваш исходный вопрос:
cat /proc/device-tree/model
Все наши деревья устройств будут иметь немного другую модель в дереве устройств.
Например, безопасный вариант:
Или несущая плата TS-TPC-8390 с определенным дерево устройств:
Когда U-Boot выполняет команду загрузки, она предоставляет адрес памяти для ядра и адреса памяти для Blob. Поэтому до этой команды он должен загрузить эти файлы в память. На основании предоставленных вами сообщений мы видим, что два файла не будут загружены с карты EMMC / SD:
/boot/boot.ub
/boot/imx6dl-ts4900-13.dtb
Это возможно, что либо эти файлы просто не присутствуют, их путь неверно или неверное устройство: раздел был дан команда загрузки U-boot. В любом случае, команда не удалась. На данный момент кажется, что загрузчик пытается загрузить дерево устройства «по умолчанию» - возможно сохраненное на той же среде, что и сам загрузчик.
Чтобы узнать именно то, что происходит, вы захотите остановить процесс загрузки в загрузке и получить доступ к командной строке U-BOOT. Отсюда вы можете ввести:
printenv
Это распечатает переменные среды U-Boot. Многие из этих переменных ссылаются другие переменные. Некоторые из этих переменных часто выполняются как скрипты, поэтому вы можете увидеть сценарии загрузочных сценариев, сценариев нагрузки в ядро и FDT и т. Д. Для выяснения последовательности загрузки ищете переменную вызов BootCMD (или что-то подобное). Обычно это то, что в конечном итоге запускается во время загрузки. Вам нужно будет проследить последовательность загрузки из этой точки через несколько переменных, но вы должны увидеть, где команда загрузки используются для загрузки FDT в память. Если вы хотите опубликовать вывод printenv , мы можем идентифицировать точную логику, используемую здесь.