Подготовка Cubian-nano-x1-a10-hdmi для DS-110

Подготовка Cubian-nano-x1-a10-hdmi для DS-110

Сообщение ErshoFF » 18 май 2015, 12:53

3 скрипта, которые позволяют обновить Cubian (дистрибутив для плат на Allwinner A10/A20) до актуальной версии Debian.
После выполнения всех скриптов будет установлена актуальная версия Debian.

Скрипты проверялись на плате с Soc Allwinner A10. Обновление с версии Cubian-nano-x1-a10-hdmi до Debian 8.3 (актуальной на текущий момент). С минимальными изменениями (а может и без них) должно работать и на A20.
Дистрибутивы Cubian предназначены для плат на основе SoC Allwinner A10/A20.
Дистрибутив Cubian X1 вышел Oct 08, 2014. С тех пор не обновлялся. Доступен для скачивания через официальный торрент(который не всегда работает, поэтому доступен на яндекс-диске).

В своей основе Cubian это Debian с загрузчиком, настройками и скриптами специфическими для Allwinner, в частности для плат Cubian. В принципе все платы на A10/A20 похожи и повторяют референсную схему - придумывать/изменять там особо нечего.
Для поддержки в актуальном состоянии ОС и пакетов (это очень снижает затраты на подготовку и поддержку нашей прошивки) надо подробно разбираться в особенностях SoC для формирования загрузчика и управления всей периферией. Это уже сделано командой дистрибутива Cubian.
Но Cubian немного устарел.
Были созданы скрипты для последовательного обновления от Cubian до актуальной версии Debian с минимальным вмешательством пользователя.
Скрипты были проверены на Allwinner A10 на плате DS-110, которая является почти аналогом CubieBoard.


  1. Порядок обновления
    Скачиваем Cubian-nano-x1-a10-hdmi.7z, разархивируем и записываем на карту microSD образ (например с помощью win32diskimager). Просто для работы достаточно карты размером 2Гб, если планируется разработка под Debian - 4 или 8 Гб.
    Вставляем полученную карту в плату, включаем. Ждем окончания загрузки.
    Меняем, если необходмо, пароль. По умолчанию пароль "cubie".
    Изначально ip адрес получается по dhcp. Узнать адрес можно на dhcp сервере или залогинившись на консоли(имя "cubie", пароль "cubie").
    Оригинальная плата Cubiebiard покажет свой адрес азбукой Морзе мигая светодиодом, подробнее на https://github.com/cubieplayer/Cubian/wiki/Get-started-with-Cubian
    Для обновления этот 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
  2. Первый скрипт:
    добавляет удобства (файлы .nanorc, .bashr), устанавливает ограничение частоты(через cpufrequtils), перенаправляет логи на ram-диск, отключает IPv6.
    Код: Выделить всё
    ./prepare-cubian/cubian_update-1.sh

    Плата будет выключена.
  3. Второй скрипт:
    Код: Выделить всё
    ./prepare-cubian/cubian_update-2.sh

    удаляет неиспользуемые пакеты, добавляет локализацию (необходимо выбрать раскладку клавиатуры и способ переключения, выбрать шрифт для консоли и так несколько раз), обновляет пакеты до текущих версий
    Плата будет выключена.
  4. Третий скрипт:
    Код: Выделить всё
    ./prepare-cubian/cubian_update-3.sh

    обновляет дистрибутив Debian до актуальной версии, ядро остается то же.
    При обновление udevil - ответить yes.
    Также будет установлен пакет cubian-nandinstall - он один для A10/A20(https://github.com/cubieplayer/Cubian/w ... all-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 карты в качестве "эталонного".
  5. Ещё несколько слов
    Важной частью С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 (подробнее http://linux-sunxi.org/Manual_build_howto).
    На DS-110 - 66 GPIO.

    Оболочка для использования в качестве терминального клиента RDP - точно применимо на нашей плате (DS-110). "
    Возможно будет работать и на других платах на A10/A20.

    Нижеследующие скрипты не зависят друг от друга.
  6. Установка оболочки = для работы нашей платы (ссылка) в качестве тонкого клиента необходимо запустить скрипт
    Код: Выделить всё
    ./prepare-cubian/cubian_update-customize.sh

    будут поставлены необходимые пакеты, сделаны настройки консоли, установлена оболочка, специально скомпилированный пакет <a href="http://www.freerdp.com/">FreeRDP</a> плата будет выключена.
  7. Для обновления ядра служит скрипт
    Код: Выделить всё
    ./prepare-cubian/cubian_update-kernel.sh

    К нашей платы можно подключиться к консоли через COM порт (переходник USB-toCOM,ttl), параметры порта 115200/8-N-1.
  8. Установить средства разработки
    Код: Выделить всё
    ./prepare-cubian/cubian_update-development.sh


    На https://bitbucket.org/opensourceclient/prepare-cubian доступны 4 файла, которые необходимо последовательно выполнить для образа SD карты Cubian-nano-x1-a10-hdmi (скачать можно Cubian-nano-x1-a10-hdmi, исходный файл Cubian в виде образа SD карты был опубликован на http://cubian.org/downloads/, но теперь торрент не качает.
ErshoFF

 
Автор темы
Сообщения: 68
Зарегистрирован: 20 окт 2013, 20:05

Re: Подготовка Cubian-nano-x1-a10-hdmi для DS-110

Сообщение Rurik19 » 28 янв 2016, 14:47

Добрый день Ершов Сергей!

(Если вы не Ершов Сергей, разместивший сегодня на гиктаймсе статью про обновление cubian, то просто удалите письмо)


Пока мой комментарий про armbian "oжидает модерации" на гиктаймсе, я там ответить не могу, пишу сдесь.

На сайте http://www.igorpecovnik.com , откуда я брал ранние образы, был пост "Project name change", однако сейчас все ссылки оттуда ведут на armbian.com и прочитать его не получается. Так что приношу извинения - доказательств наследственности нет :)
Rurik19

 
Сообщения: 1
Зарегистрирован: 28 янв 2016, 13:40
Репутация: 0

Re: Подготовка Cubian-nano-x1-a10-hdmi для DS-110

Сообщение ErshoFF » 28 янв 2016, 14:50

Если бы на момент начала проекта нашли бы «ARMBIAN» - то сильно вероятно наша прошивка была бы основана на нём.

Спасибо за информацию о «ARMBIAN».
Будем иметь в виду.
ErshoFF

 
Автор темы
Сообщения: 68
Зарегистрирован: 20 окт 2013, 20:05


Вернуться в Cubie (debian для cubieboard и DS-110)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron