- PVSM.RU - https://www.pvsm.ru -
Под катом 3 скрипта, которые позволяют обновить Cubian [1] (дистрибутив для плат на Allwinner A10/A20) до актуальной версии Debian.
После выполнения всех скриптов будет установлена актуальная версия Debian.
Скрипты проверялись на плате с Soc Allwinner A10. Обновление с версии Cubian-nano-x1-a10-hdmi до Debian 8.3 (актуальной на момент окончания статьи). С минимальными изменениями (а может и без них) должно работать и на A20.
Дистрибутивы Cubian [1] предназначены для плат на основе Soc Allwinner [2] A10 [3]/A20 [4].
Дистрибутив Cubian X1 [5] вышел Oct 08, 2014. С тех пор не обновлялся. Доступен для скачивания через официальный торрент(который не всегда работает, поэтому доступен на яндекс-диске [6]).
В своей основе Cubian это Debian [7]с загрузчиком, настройками и скриптами специфическими для Allwinner, в частности для плат Cubian. В принципе все платы на A10/A20 похожи и повторяют референсную схему — придумывать/изменять там особо нечего.
Для поддержки в актуальном состоянии ОС и пакетов (это очень снижает затраты на подготовку и поддержку нашей прошивки) надо подробно разбираться в особенностях SoC для формирования загрузчика и управления всей периферией. Это уже сделано командой дистрибутива Cubian.
Но Cubian немного устарел.
Были созданы скрипты для последовательного обновления от Cubian до актуальной версии Debian с минимальным вмешательством пользователя.
Скрипты были проверены на Allwinner A10 на плате DS-110 [8], которая является почти аналогом CubieBoard [9].
.
Скачиваем Cubian-nano-x1-a10-hdmi.7z, разархивируем и записываем на карту microSD образ (например с помощью sourceforge.net/projects/win32diskimager [10]). Просто для работы достаточно карты размером 2Гб, если планируется разработка под Debian — 4 или 8 Гб.
Вставляем полученную карту в плату, включаем. Ждем окончания загрузки.
Меняем, если необходмо, пароль. По умолчанию пароль «cubie».
Изначально ip адрес получается по dhcp. Узнать адрес можно на dhcp сервере или залогинившись на консоли(имя «cubie», пароль «cubie»).
Оригинальная плата Cubiebiard покажет свой адрес азбукой Морзе мигая светодиодом, подробнее на github.com/cubieplayer/Cubian/wiki/Get-started-with-Cubian [11]
Для обновления этот ip адрес должен иметь доступ в интернет.
Подключаемся через ssh, порт 36000.
Изначально имеем
cubie@Cubian:~$ cat /etc/*release*
PRETTY_NAME="Debian GNU/Linux 7 (wheezy)"
NAME="Debian GNU/Linux"
VERSION_ID="7"
VERSION="7 (wheezy)"
ID=debian
ANSI_COLOR="1;31"
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support/"
BUG_REPORT_URL="http://bugs.debian.org/"
Подготовка к выполнению скриптов.
Устанавливаем git(предварительно установив время и обновив репозитории)
sudo ntpdate-debian
sudo apt-get -y install debian-keyring
sudo apt-get update
sudo apt-get -y install debian-archive-keyring
sudo apt-get update
sudo apt-get install -y git
Скачиваем скрипты обновления
git clone https://opensourceclient@bitbucket.org/opensourceclient/prepare-cubian.git
добавляет удобства (файлы .nanorc, .bashr), устанавливает ограничение частоты(через cpufrequtils), перенаправляет логи на ram-диск, отключает IPv6.
./prepare-cubian/cubian_update-1.sh
Плата будет выключена.
./prepare-cubian/cubian_update-2.sh
удаляет неиспользуемые пакеты, добавляет локализацию (необходимо выбрать раскладку клавиатуры и способ переключения, выбрать шрифт для консоли и так несколько раз), обновляет пакеты до текущих версий
Плата будет выключена.
./prepare-cubian/cubian_update-3.sh
обновляет дистрибутив Debian до актуальной версии, ядро остается то же.
При обновление udevil — ответить yes.
Также будет установлен пакет cubian-nandinstall — он один для A10/A20(https://github.com/cubieplayer/Cubian/wiki/Install-Cubian) позволяет скопировать содержимое sd карты в NAND(если на плате есть NAND) и в дальнейшем загружаться с NAND.
Скрипты от Сubian (cubian-morsedecode, cubian-morsemsg, cubian-morseshowip-reversed, cubian-networklight, cubian-getip, cubian-morseencode, cubian-morseshowip, cubian-motd-package, cubian-ntpdate) находятся в /usr/lib/cubian/. Из названий понятно предназначение.
Плата будет выключена.
cubie@Cubian:~ $ cat /etc/*release*
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=debian
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Стоит сохранить образ SD карты в качестве «эталонного».
Важной частью Сubian является пакет cubian-nandinstall — позволяет скопировать образ SD карты с карты в NAND. Пакет сам установит загрузчик на NAND и обеспечить загрузку с NAND.
Немного о SoC Allwiner A10/A20
Порядок загрузки SoC Allwiner A10/A20:
— если есть SD карты — грузимся с SD карты, этот режим является режимом восстановления, всегда можно загрузиться с эталонного образа SD карты.
— если нет карты, пробуем загрузиться с NAND.
— как правило в качестве загрузчика используется uboot, что позволяет сделать загрузчик для дальнейшей загрузки по сети.
SoC Allwiner A10/A20 не имеет фиксированного mac адреса. Mac адрес назначается при загрузке ОС.
Параметры видео, сетевые настройки, GPIO (в cubieboard их 67 штук) настраиваются через файл /boot/script.bin (подробнее linux-sunxi.org/Manual_build_howto [12]).
prepare-cubian/cubian_update-customize.sh
будут поставлены необходимые пакеты, сделаны настройки консоли, установлена оболочка, специально скомпилированный пакет FreeRDP [13] плата будет выключена.
prepare-cubian/cubian_update-kernel.sh
К нашей платы можно подключиться к консоли через COM порт (переходник USB-toCOM,ttl), параметры порта 115200/8-N-1.
prepare-cubian/cubian_update-development.sh
Автор: ErshoFF
Источник [14]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/110709
Ссылки в тексте:
[1] Cubian: http://cubian.org/
[2] Soc Allwinner: http://www.allwinnertech.com/en/
[3] A10: http://linux-sunxi.org/A10
[4] A20: http://linux-sunxi.org/A20
[5] Cubian X1: http://cubian.org/2014/10/08/cubian-x1-is-out
[6] яндекс-диске: https://yadi.sk/d/yIBMyW3oTPkip
[7] Debian : https://www.debian.org/releases/stable/armhf/
[8] DS-110: https://opensourceclient.org/10-faq/16-specifications-ds-110
[9] CubieBoard: http://cubieboard.org/
[10] sourceforge.net/projects/win32diskimager: https://sourceforge.net/projects/win32diskimager/
[11] github.com/cubieplayer/Cubian/wiki/Get-started-with-Cubian: https://github.com/cubieplayer/Cubian/wiki/Get-started-with-Cubian
[12] linux-sunxi.org/Manual_build_howto: http://linux-sunxi.org/Manual_build_howto
[13] FreeRDP: http://www.freerdp.com/
[14] Источник: https://geektimes.ru/post/270004/
Нажмите здесь для печати.