Обращаю внимание, нижесказанное касается модулей индустриального температурного диапазона - SK-iMX6S-SODIMM-Ind.
Производитель поставил перед фактом - eMMC флешка снята с производства, на замену идет THGBMHG6C1LBAWL (ранее была THGBMAG5A1JBAWR), из "плюсов" - она 8ГБайт.
Их применение повлекло:
1) Старые сборки ядер опять отказались понимать флешку, потребуется патчить ядро.
2) Некоторые экземпляры наотрез отказывались стартовать с флешки после программирования, как выяснилось, не устраивает режим загрузки с emmc "high speed" (нужен "normal speed"), для этого потребуется либо дорабатывать материнскую плату, либо программировать eFuse.
2.1) Доработка материнской платы требует подтянуть через резистор 1кОм к 3,3В (причем к 3,3В самого модуля!) линию BUS_DA3 (132 контакт модуля)
2.2) Программирование eFuse сводится к следующим командам:
Команды приведены для справки, не советую с этим упражняться т.к. eFuse однократно программируемые и неправильные значения выведут модуль из строя.
Во вложении архив с MFGTools версия которого понимает новые eMMC и программирует eFuse на загрузку.
Само по себе, конфигурация загрузки с eFuse - это благо, т.к. уже никакое внешнее окружение не может повлиять на конфигурацию загрузки. НО, после перевода конфигурации загрузки процессора с eFuse, нельзя перевести его в режим загрузки по USB с помощью джампера на материнской плате!
Для перехода загрузки по USB возможны два варианта:
1) Программный (если есть доступ к консоли) - выполнить команду "dd if=/dev/zero of=/dev/mmcblk0 bs=1024 count=10000 && sync"
2) Аппаратный (если по какой то причине не возможен вар.1) - при включении питания/сбросе соединить с землей вывод резистора показанного ниже на рисунке.
Причем только на момент включения питания или сброса, потом землю нужно отсоединить (т.к. эта манипуляция "отключает" eMMC интерфейс).
Важно не перепутать вывода у резистора, т.к. другой вывод подключен к 3,3В и можно устроить КЗ.
UPD 19.05.2017
На FTP аккаунте для SODIMM модулей создал папку Boot/SK-iMX6S-SODIMM-Ind в которой лежит версия с обновляемым скриптом emm_format для полного форматирования флешки.
UPD 10.02.2019
В настоящее время выпускаются модули V1.E, в них изменен режим конфигурации eMMC на "normal speed" - материнскую плату дорабатыать уже не нужно.
Попробовала реализовать Ваши инструкции на модулях
из партии 5шт , из которых 3 не грузятся на демоплате.
Сначала все реализовала на старом модуле (с коммерческой памятью и IMX). Все прошло удачно, только после перпрограммирования ядра и фс скриптом не видится как медиа устройство, но это не важно.
С новым модулем:
- нормально все прошло MfgTool2,
после чего в консоли вижу нормальную загрузку
- командой dd if=/dev/zero of=/dev/mmcblk0 bs=1024
count=10000 && sync успешно перевела в загрузку по USB
- а дальше скрипт mk-sd.sh отказывается:
ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda5 /dev/sdb
$ ./mk-sd.sh /dev/sdb
create the bootable SD card for sodimm_solo on device /dev/sdb
delete partition table [ERROR]
see mk-sd.log for more details
$ cat mk-sd.log
umount: /dev/sdb: not mounted
dd: не удалось открыть «/dev/sdb»: Носитель не найден
Скрипт mk-sd.sh в виртуалке работать не будет, т.к. нужно еще и бинарники в виртуалке обновлять и этим пока не озадачивались.
Т.е. на данный момент программировать можно ТОЛЬКО через MFGTools.
В папку Mfgtools-Rel-4.0.0_130424_MX6S_OEM_UPDATER_SK\Profiles\MX6DL Linux Update\OS Firmware\ копируете rootfs.tar.gz (если правили u-boot - еще u-boot.imx) из папки images своей сборки и все.
Добрый день.
Скопировала rootfs.tar.gz в папку Mfgtools-Rel-4.0.0_130424_MX6S_OEM_UPDATER_SK\Profiles\MX6DL Linux Update\OS Firmware\ (111МБ).
Mfgtools начинает записывать, записывает uboot, затем начинает записывать rootfs, затем зависает и выдает ошибку.
MFGTools при старте загружает по USB загрузчик, uImage_safe и передает управление.
uImage_safe это ядро Linux со встроенной корневой ФС.
После загрузки MFGTools по USB отправляет файлы и команды - см. ucl2.xml (раздел для sodimm).
...
Запускается скрипт форматирования флешки emmc_format, так вот в этой версии, для ускорения процесса (поэтому и приставка mass в названии) форматируется не вся флешка, соответственно потом при копировании у вас все встает.
Самое простое - изменить сценарий программирования - заменить скрипт emmc_format.
Вот пример ucl2.xml: