Пришлось загружать в большое количество Тионов
U-boot, ядро
linux и КФС - сделал на скорую руку автоматизацию .
- С помощью правил udev (платы подключал через переходники COM-USB) вызывается скрипт, который прошивает U-boot (версию, поддерживающую скрипты)
- С помощью chat-скриптов даются команды U-boot'у залить ядро и КФС
Но chat-скрипт почему-то аварийно прекращает работу пока прошивается КФС (около 20 минут). Пробовал разные опции, тайм-ауты (для
chat и для
socat) - не разобрался до конца. Остановился на том, что просто запускается терминал после такого аварийного завершения, на который и приходит финальное "done". Возможно, лучше было бы использовать скриптовый язык, встроенный в
minicom (
man runscript) или что-то еще.
Скрипты рассчитаны на одновременную прошивку двух экземпляров (можно сделать больше) с одного компьютера под linux (использовался Debian 6).
По первой части (загрузка
U-Boot). При подключении переходника COM-USB запускается утилита
download и выводится всплывающая подсказка о начале прошивки с помощью
notify-send (которому что-то нужно знать о сессии текущего пользователя, кроме переменной
DISPLAY, поэтому перед работой просто экспортировал все переменные окружения в файл с помощью скрипта
EXPORT-ENVIRONMENT.sh). Если по истечении интервала (минута) прошивка не произошла,
download завершается принудительно и выводится сообщение об ошибке.
Короче, для прошивки
U-Boot нужно из папки
uboot-load архива:
- Скопировать содержимое папки uboot-load из архива в корень файловой системы (расположение uboot_load_udev_USB0.sh прописано в 71-test-ttyUSB-run.rules и его можно изменить
- Перезагрузить правила udev: udevadm control --reload-rules
- Запустить EXPORT-ENVIRONMENT.sh
Для прошивки ядра и КФС и установки системного времени:
- Запустить tftp-сервер
- Настроить порт на скорость 57600
- Запустить loadlinux_chatsocat_usb$PORTNUM.sh (PORTNUM={0,1})
- Минут через 20 увидеть в терминале "done" и выйти из него
- Запустить loadlinux_chatsocat_usb$PORTNUM_finish.sh
Скрипты прилагаю в архиве - может, пригодится кому.