Комментарии 24
> Дистрибутив стоял Bananian — это Debian 7 Wheezy урезанный во многом для экономии ресурсов. Более нового Debian 8.x нет и по сей день, можете сами представить насколько там старый софт, который получает лишь заплатки безопасности.

Работа по установке арча конечно титаническая, но имхо несколько излишняя)

Bananian использует ARM репозитории Debian, можно было просто переключиться на более новый репозиторий вместо смены дистрибутива.
Плюс, в арче не факт что присутствуют все те оптимизации под конкретно BananaPi, которые есть в Bananian.

За себя скажу, что у самого домашний сервер на Banana Pi + Bananian, и пока на нём не возникало задач, требующих прям уж свежайшего софта. NFS, TFTP, апач какие-то из wheezy стоят и ладно.
И правда, можно было обойтись Testing репозиториями в Debian и даже какое-то время я их использовал, но юношеский максимализм победил :) Да и плотно засел изучать systemd, а Bananian никак не хотел обновлять его ссылаясь на низкую версию ядра.
С опытом и возрастом это проходит. Как-то понимаешь, что нет разницы сколько лет назад выпустили этот софт, если он просто выполняет ту задачу, которая тебе нужна.
Большое, человеческое спасибо, за столь подробное описание сборки и настройки именно uBoot.
Арчем не пользуюсь, но уже два года пользую очень похожую на вашу платку — cubieboard2. там такой же SoC и похожая обвязка.
Сейчас использую ее как dev сервер для веба, под убунтой.
Долгое время она жила у меня под gentoo (вот где пришлось пошаманить, чтобы собрать ее на самой плате), но с ядрами была печаль — гентушные ядра из ветки armhf работать не хотели ни в какую, поэтому приходилось использовать весьма старые ядра от linux-sunxi, подкладывать их вручную.

P.S. после прочтения статьи, снова почувствовал зуд в ладонях :) видимо пора впилить на платку что нибудь новое… пойду про alpinelinux почитаю, его многие хвалят :)
Рад что вдохновил вас!) Если что — у cubieboard2 есть мэйнтейнер в рядах разработчиков Arch Linux ARM и дистрибутив для Вашей платы подготовлен, всегда свежий загрузчик лежит прямо в репозиториях в пакете uboot-cubieboard2.
Спасибо, буду иметь ввиду. Просто Arch никогда не попадал в сферу моих интересов.
рабочее место под ubuntu серваки под centos а вот всякие малыши — это повод почесать ладони и покрасноглазить :)

у cubieboard2 есть мэйнтейнер в рядах разработчиков Arch
а вот это действительно удивительно, потому что ни в одном другом дистрибутиве я такого не встречал.

P.S. Кстати в ряду «пи» плат есть еще «orange pi» которые в версии 2 и в версии plus собраны на четырехъядерном Allwinner H3 и цена при этом в пределах полтинника.
Долгое время она жила у меня под gentoo (вот где пришлось пошаманить, чтобы собрать ее на самой плате)


Да вы извращенец батенька. Все можно собирать на хосте, а затем просто копировать на таргет. Может будет полезно если захотите вернуться на gentoo.

Я сейчас пилю тулчейны основанные на gentoo, правда они больше связаны с openautomotive, возможно дойдут руки и сделаю вариант для сборки серверов.
Да вы извращенец батенька. Все можно собирать на хосте, а затем просто копировать на таргет.


Скажу честно, ядра я преимущественно собирал на хосте под убунтой. (20 минут против 3,5 часов на кубике),
а вот саму систему пробовал и так и эдак.
У меня вообще совпало знакомство с gentoo и знакомство с платой :)
а gentoo привлекла меня возможностью тонкого тюнинга при сборке софта, очень хотелось выжать лишние проценты производительности в условиях ограниченной мощности железки.
Тут есть подводный камень, весь софт в gentoo заточен под x86 платформы, потому для ARM зачастую приходится переписывать ebuild'ы и включать всевозможные arm специфичные фичи от разработчиков самих программ. Например использование neon, openGLES и т.п.
то есть доверять ветке arm или arm~ из основного репозитория нельзя?
Не то чтобы доверять, но зачастую они мало чем отличаются от своих десктопных братьев несмотряю на наличие оптимизаций заложенных в процедуру сборки мейнтенерами самих приложений. Я не отговариваю вас пользоваться :) Но обращайте внимание на флаги оптимизации которые заложили мейнтейнеры.
Вот это заявление не совсем верное:
Для ARMv7 есть целых 301 dtb. Список можно увидеть здесь или непосредственно открыв директорию boot/dtbs дистрибутива на своём компьютере. Если dtb есть, то ядро заведётся с почти 100% вероятностью. Для Banana Pi нужный файл — sun7i-a20-bananapi.dtb

Заведенное ядро не дает кучи драйверов, которые в процессе портирования на mainline.

Ну и самое главное — графическая подсистема не заведена. Я сейчас озадачен этой проблемой. ARM расшарили исходники low-level драйверов для Mali 400/450 в т.ч. UMP, но openGL/GLES все еще закрыты(да и никогда не будут раскрыты). Надо как-то заставить Allwinner пошевелиться и предоставить бинарники openGL/ES,ELG,openVG для X11 и EGL. То что пошарил ARM непригодно текущих библиотек, которые лежат в репозиториях Allwinner.

Спасибо за комментарий, упомянул о проблеме графической системы в спойлере «Что не работает „out of the box“?». Пока что я не нашёл очевидных решений, разве что написать команде sunxi, открыть у них тикет на гитхабе? Может там дадут хоть какой-то ответ. Не нравится мне политика ARM по отношению к опенсорсу, вроде код то и открыт, а воспользоваться им полноценно нельзя.
Спойлер работает :) И я его прочел, просто решил развить тему. Так вот по поводу политики ARM там на сайте английским по белому написано:
Note that these components are not a complete driver stack. To build a functional OpenGL ES or OpenVG driver you need access to the full source code of the Mali GPU DDK, which is provided under the standard ARM commercial licence to all Mali GPU customers. For a complete integration of the Mali GPU DDK with the X11 environment refer to the Integration Guide supplied with the Mali GPU DDK.


Команда sunxi не сможет ничего сделать. Нужно чтобы пошевелился сам Allwinner поскольку он-то как раз и является «all Mali GPU customers». А openGL стэк доступный на сайте работает только с версиями low-level драйверов для ядер < 3.4. Такие вот неутешительные моменты. На днях сочиню письмо в службу поддержки Allwinner и попробую выбить у них новые библиотеки. Потому что low-level драйверы вполне себе живут по соседству с 4.x ядрами linux. Само собою работоспособность проверить не удалось :)
Выбор ARM плат действительно велик, но есть ли среди них хоть одна поддерживающая в Linux аппаратное видеоускорение?
Конечно есть, VideoCore IV в Raspberry Pi всех ревизий поддерживает такую фичу. Очень много устройств сделано на базе Allwinner/Exynos и во всех применяется довольно проблемное(для энтузиастов) видео Mali, но насколько я знаю вендоры вроде ODROID, LeMaker поставляют дистрибутивы, в которых полностью рабочий графический стек, но естественно он зашит и не обновляется.
Наилучший вариант в плане поддержки сейчас у i.mx6-based плат от freescale. Там поддержка вполне себе живая, особенно linux.
Но цена по сравнению с Cubieboard, Raspberry Pi, Banana Pi и др. кусается. Есть еще куча недостатков, но основная для энтузиастов — цена.
Записал ваш образ на карту памяти, но он не загружается. В чём может быть проблема?
U-Boot 2014.04-10733-gbb5691c (Dec 18 2014 - 12:58:21) Allwinner Technology     
                                                                                
CPU:   Allwinner A20 (SUN7I)                                                    
Board: BananaPi                                                                 
I2C:   ready                                                                    
DRAM:  1 GiB                                                                    
MMC:   SUNXI SD/MMC: 0                                                          
*** Warning - bad CRC, using default environment                                
                                                                                
In:    serial                                                                   
Out:   serial                                                                   
Err:   serial                                                                   
Net:   

после этого плата выключается
Здравствуйте! Контрольные суммы сверяли? Если всё верно, то проблема вероятно с картой памяти или заливанием образа на неё. Отформатируйте её полностью через Low level format tool(Windows) или через dd забейте нулями из /dev/zero с размером сектора по 512КБ. Затем попробуйте либо с помощью dd, либо Win32diskimager записать образ с точно совпадающим MD5.
У меня под рукой была ещё одна банана неделю назад, на неё удачно встал мой образ.
Пардон, проблема с питанием: когда поднималась сетевуха — всё падало. Называется, привык, что аппаратных проблем нет)
Всяко бывает :) знакомые умудрялись и питание в OTG запихивать. Странно что при этом банана подавала признаки жизни.
Замечательная статья. Хочу на её основе сделать образ для Orange Pi PC. Только вот у вас ссылка на Device Tree не работает. Где можно взять Device Tree?
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.