Angstrom linux установка пакетов

Содержание
  1. Wiki МЕНТОР ЭЛЕКТРОНИКС
  2. Инструменты пользователя
  3. Инструменты сайта
  4. Боковая колонна
  5. Содержание
  6. Компиляция Angstrom Linux для BlueShark
  7. Утилиты необходимые для сборки
  8. Установка необходимых утилит в Debian и Ubuntu
  9. Angstrom Linux stable
  10. Ядро 2.6.29 stable
  11. Создание окружения
  12. Создание конфигурации
  13. Компиляция файловой системы
  14. Результаты компиляции
  15. Компиляция ядра 2.6.29
  16. Angstrom Linux unstable
  17. Создание окружения
  18. Установка bitbake
  19. Создание конфигурации
  20. Установка окружения
  21. Компиляция файловой системы
  22. Ядро 2.6.32 unstable
  23. Компиляция без среды OE
  24. Компиляция в среде OE
  25. Кто-нибудь руками Angstrom собирал?
  26. Re: Кто-нибудь руками Angstrom собирал?
  27. Re: Кто-нибудь руками Angstrom собирал?
  28. Re: Кто-нибудь руками Angstrom собирал?
  29. Re: Кто-нибудь руками Angstrom собирал?
  30. Re: Кто-нибудь руками Angstrom собирал?
  31. Re: Кто-нибудь руками Angstrom собирал?
  32. Re: Кто-нибудь руками Angstrom собирал?
  33. Re: Кто-нибудь руками Angstrom собирал?
  34. Re: Кто-нибудь руками Angstrom собирал?
  35. Re: Кто-нибудь руками Angstrom собирал?
  36. Re: Кто-нибудь руками Angstrom собирал?
  37. Re: Кто-нибудь руками Angstrom собирал?
  38. Re: Кто-нибудь руками Angstrom собирал?

Wiki МЕНТОР ЭЛЕКТРОНИКС

Инструменты пользователя

Инструменты сайта

Боковая колонна

Содержание

Компиляция Angstrom Linux для BlueShark

Очень полезная документация для тех, кто хочет в совершенстве овладеть приемами работы с OpenEmbedded: http://docs.openembedded.ru/index.html

Процедура сборки Angstrom Linux проверена на машинах:

Для компиляции Angstrom Linux потребуется около 15ГБ свободного места на диске. Время компиляции сильно зависит от:

На одноядерном процессоре время компиляции может занимать сутки.

Утилиты необходимые для сборки

* Python (версии 2.4.0 или более поздней), а также возможно ряд файлов которые иногда включают в пакет с питоном иногда нет, если сборка bitbake не удалась попробуйте поставить пакет python-dev или python-devel, в завимости от дистрибутива название может отличаться

* GNU Patch (версии 2.5.9 или более поздней)

* GNU make (Версии 3.80 или более поздней)

* Psyco JIT компилятор рекомендуется для ускорения сборки

* perl (нужна версия новее 5.0, скорее всего >=5.6.2 подойдет)

* bitbake (bitbake должна быть версии 1.8.6, именно с этой версией тестировалась сборка)

* Docbook DTDs и DSSSL stylesheets

* sgmltools, called «sgmltools-lite» too

* Texinfo версии выше 4.4

Установка необходимых утилит в Debian и Ubuntu

Angstrom Linux stable

Ядро 2.6.29 stable

В настоящее время в стабильной ветке компилируется именно ядро 2.6.29.

Создание окружения

Данные инструкции предполагают компиляцию Angstrom Linux в домашней директории пользователя, поэтому убедитесь, что ней достаточно места (не менее 6-15ГБ).

Войдите в домашнюю директорию пользователя:

Выполните следующие команды, которые скачивают хранилище файлов OpenEmbedded:

Обновите локальную копию хранилища OE:

Создание конфигурации

Сначала необходимо установить переменные окружения, для этого скачайте скрипт в директорию $.

Чтобы создать конфигурацию OE именно для Beagleboard (BlueShark) выполните следующие действия:

1) Создайте директорию для файла конфигурации local.conf для платформы

2) Скопируйте пример конфигурации:

3) Добавьте в конец файла строку:

Компиляция файловой системы

Вы можете не тратить несколько часов и взять готовую файловую систему отсюда http://mentorel.com/downloads/blueshark/ и сразу же перейти к компиляции ядра.

Обратите внимание, что файловая система с меткой stable относится к стабильной, т.е. получена по инструкциям, использованным в этом разделе.

Чтобы собрать образ с поддержкой графического интерфейса наберите команду:

Если появилось следующее сообщение об ошибке:

то нужно выполнить следующую команду, выбрав ответ «NO»:

Результаты компиляции

По окончании работы утилиты bitbake вы должны увидеть следующую надпись:

Это означает, что в директории $/angstrom-dev/deploy/glibc/images/beagleboard находятся:

Имя Размер
u-boot.bin 193k
uImage-2.6.29-r46-beagleboard.bin 2.9M
console-image-beagleboard.tar.bz2 9.2M
x11-image-beagleboard.tar.bz2 21.1M
modules-2.6.29-r46-beagleboard.tgz 7.1M
Beagleboard-demo 131M

Из этих файлов нам подойдут только файловые системы с консольным интерфейсом (Angstrom-console-image..) и графическим интерфейсом (Angstrom-x11-image..). u-boot, ядро и модули для него нам не подходят, т.к. они обеспечат только функционал Beagleboard, для которого не предусмотрена поддержка сетевого контроллера LAN9221 (однако этот контроллер поддерживается в OpenEmbedded для модуля OVERO).

Далее скомпилируем ядро Linux для BlueShark.

Компиляция ядра 2.6.29

С этим ядром также работает файловая система Beagleboard-demo, где присутствуют Internet браузер и другое интересное ПО.

Поддержка функций на платформе Atoll:

Обратите внимание, что все предыдущие действия приводят к компиляции кросс-компилятора GCC с патчами от OpenEmbedded. Применение именно собранного компилятора гарантирует 100% совместимость с файловой системой от OpenEmbedded и дает возможность использовать файловую систему от Koen или Narcissus.

Откройте файл $OETREE/build/conf/local.conf:

и выключите строку:

Ключ rm_work удаляет все промежуточные файлы при компиляции: исходные тексты, объекты и пр. Нам потребуются исходники ядра плюс весь необходимый набор патчей от OpenEmbedded. Можно, конечно, подготовить всё вручную, но проще и с наименьшими ошибками выполнить так.

Читайте также:  Установка multisystem manjaro linux

Таким образом мы выключили удаление исходников при компиляции. Теперь пересоберем ядро для Beagleboard и, наконец, получим необходимое окружение для дальнейшей работы с ядром:

Теперь в директории «$OETREE/angstrom-dev/work/beagleboard-angstrom-linux-gnueabi/linux-omap-2.6.29-r46/git» находятся исходные тексты ядра 2.6.29 с уже примененными патчами для Beagleboard.

Добавим к ядру патчи для модуля BlueShark и отладочных плат Atoll. Для этого зайдите в директорию «$OETREE/angstrom-dev/work/beagleboard-angstrom-linux-gnueabi/linux-omap-2.6.29-r46/git», скачайте набор патчей http://mentorel.com/downloads/blueshark/blueshark-2.6.29.patches.tgz и распакуйте архив прямо в корень исходников ядра:

Теперь можно применить исправления для BlueShark:

Скачаем файл конфигурации ядра:

Чтобы настроить конфигурацию ядра используют команду:

Компиляция ядра (обратите внимание на опцию -j2, в ней вы задаете кол-во ядер процессора на вашем компьютере):

Установите модули в файловую систему на SD-карточке:

В результате получаем бинарник, который необходимо записать на SD-карту (партицию FAT32) и можно загружать платформы, основанные на модуле BlueShark.

Angstrom Linux unstable

Далее описаны действия, верные для всех версий ядра нестабильной ветки:

Создание окружения

Войдите в домашнюю директорию пользователя:

Выполните следующие команды, которые скачивают хранилище файлов OpenEmbedded:

Обновите локальную копию хранилища OE:

Установка bitbake

Лучше использовать локальную версию утилиты bitbake, чем устанавливать её в Linux.

Создание конфигурации

Теперь необходимо исправить файл «build/conf/local.conf», добавив в него следющие строки:

Также, если у вашего ПК многоядерный процессор, то можно ускорить компиляцию, установив следующие параметры:

Описания этих параметров вы найдете в файле «build/conf/local.conf».

Внимание! Чтобы сократить количество расходуемого места на диске добавьте опцию:

Также можете указать, где у вас находится хранилище пакетов или куда именно они будут скачены:

Сохраните файл «build/conf/local.conf».

Установка окружения

Компиляция файловой системы

Вы можете не тратить несколько часов и взять готовую файловую систему отсюда
http://www.angstrom-distribution.org/demo/beagleboard/Angstrom-Beagleboard-demo-image-glibc-ipk-2010.3-beagleboard.rootfs.tar.bz2 или http://mentorel.com/downloads/blueshark/ и сразу же перейти к компиляции ядра. Обратите внимание, что файловую систему Beagleboard-demo собрать самому практически нереально, т.к. требуется разрешить зависимости для очень многих пакетов. При этом используется ПО от Texas Instruments, поставляемое по соглашению. Использовать сборки от Beagleboard-сообщества намного проще и быстрее.

Зайдите в папку build и наберите команды:

Внимание, компиляция обычно занимает несколько часов и не всегда завершается успешно, т.к. это нестабильная ветка.

Ядро 2.6.32 unstable

Компиляция без среды OE

Ядро Linux 2.6.32-r78 можно скомпилировать без громоздкой системы OpenEmbedded. Для этого выполняют следующие шаги:

4) Теперь необходимо распаковать все исходники:

5) Накладываем исправления для BlueShark:

6) Настраиваем конфигурацию ядра:

7) Собственно сама компиляция

8) Модули можно скомпилировать с помощью команды

Либо использовать готовые, т.к. модули одинаковы для всех платформ одной архитектуры:
http://mentorel.com/downloads/blueshark/demo/modules-2.6.32-r78.tgz

Компиляция в среде OE

Поддержка функций на платформе Atoll.
Есть поддержка всех функций, включая:

Откройте файл $OETREE/build/conf/local.conf и выключите строку:

Ключ rm_work удаляет все промежуточные файлы при компиляции: исходные тексты, объекты и пр. Нам потребуются исходники ядра плюс весь необходимый набор патчей от OpenEmbedded. Можно, конечно, подготовить всё вручную, но проще и с наименьшими ошибками выполнить так.

Теперь пересоберем ядро для Beagleboard и, наконец, получим необходимое окружение для дальнейшей работы с ядром:

Теперь в директории «$OETREE/build/tmp/work/beagleboard-angstrom-linux-gnueabi/linux-omap-psp-2.6.32-r78+gitra6bad4464f985fdd3bed72e1b82dcbfc004d7869/git» находятся исходные тексты ядра 2.6.32 с уже примененными патчами для Beagleboard.

Добавим к ядру патчи для модуля BlueShark и отладочных плат Atoll. Для этого зайдите в директорию «$OETREE/build/tmp/work/beagleboard-angstrom-linux-gnueabi/linux-omap-psp-2.6.32-r78+gitra6bad4464f985fdd3bed72e1b82dcbfc004d7869/git», скачайте набор патчей http://mentorel.com/downloads/blueshark/blueshark-2.6.32-r78.patches.tgz и распакуйте архив прямо в корень исходников ядра:

Теперь можно применить исправления для BlueShark:

Скачаем файл конфигурации ядра:

Чтобы настроить конфигурацию ядра используют команду:

Компиляция ядра (обратите внимание на опцию -j2, в ней вы задаете кол-во ядер процессора на вашем компьютере):

Установите модули в файловую систему на SD-карточке:

В результате получаем бинарник, который необходимо записать на SD-карту (партицию FAT32) и можно загружать платформы, основанные на модуле BlueShark.

Источник

Кто-нибудь руками Angstrom собирал?

Сделал поиск по слову Angstrom и нашел кучу замечательных постов о том как люди ставили агнстром из готовых пакетов на свои IPAQ и прочие КПК. Только мне такой вариант не подходит. Я хотел бы пообщаться с людьми которые руками собирали Angstrom Linux для своего девайса.

У меня устройство, как бы сказать не КПК, но в нем есть всё, что есть у обычного КПК. Это платформа разработчика на Atmel ARM9 с экраном, тачскрином и прочими радостями. Так вот, готовых образов под платформу нет рабочих. В смысле есть какие-то собранные под конкретную аппаратную конфигурацию для данного процессора и наверное у них всё работает, но не у меня, потому как у моей платформы есть отличия.

Читайте также:  Windows admin centre download

Собрал я руками base-image с помощью bitbake, несколько дней разбирался, пока получил результат. В итоге — стартовал с флеша он один раз и потом не стартует вовсе. По NFS не монтирует ФС совсем! Ну ладно с флешом какие-то заморочки, но NFS всегда железно работала! Бред какой-то. Короче, проблем хватает и разгребать можно долго. А есть люди, которые руками собирают весь софт. Тоже муторно, но работает. Например, руками собрал минимальную ФС на busybox — всё работает как часы. Хочешь с флеша, хочешь по NFS. Но в ангстроме то вроде бы всё доступно, набрал bitbake x11-image — и получил и графическую оболочку и набор программ необходимых.. Только это в теории. Да еще хорошо для какой-нибудь известной платформы, которую штампуют тысячами и народ покупает и тестирует этот Ангстром..

Есть соображения на тему? Т.е. вообще стоит разбираться с ангстромом и кучей багов, чтобы получить удобное средство сборки готовых образов или же пойти по пути CROSS_COMPILE=xx ./configure && make all??

Re: Кто-нибудь руками Angstrom собирал?

>Это платформа разработчика на Atmel ARM9 с экраном, тачскрином и прочими радостями. Так вот, готовых образов под платформу нет рабочих.

>В смысле есть какие-то собранные под конкретную аппаратную конфигурацию для данного процессора и наверное у них всё работает, но не у меня, потому как у моей платформы есть отличия.

Для нормальной работы нужно рабочее ядро (есть патчи на вышеуказанном сайте), загрузчкик (uboot) и тулчайн (можно воспользоваться готовым можно собрать самому). Если это все у тебя уже есть и работает работает то идем сюда

С его помощью можно и gentoo легко портировать, там есть его менеджер пакетов, но лично я предпочитаю crux. Правда там вместо glibc используется uclibc, но мне удавалось для x86 собрать даже kde3 c ними, правда я писал несколько своих патчей, как например для k3b пришлось писать свой вариант какой-то не posix ф-ции. Ангстром не пробовал и скорей всего не буду 🙂

Re: Кто-нибудь руками Angstrom собирал?

>Для нормальной работы нужно рабочее ядро (есть патчи на вышеуказанном сайте), загрузчкик (uboot) и тулчайн (можно воспользоваться готовым можно собрать самому).

Re: Кто-нибудь руками Angstrom собирал?

>тулчайн (можно воспользоваться готовым можно собрать самому)

Для buildroot нужен не тулчайн а просто рабочий gcc на хост-системе, там кросскомпиляция, тулчайн собирается самим buildroot.

Re: Кто-нибудь руками Angstrom собирал?

Ну я НЕ в начале творческого пути 🙂

buildroot: 2 недели сношений с ним дали результат — больше им пользоваться не буду. Тулчейн он собирает совсем детский — попробуйте его кому-нибудь отдать. Все пути жестко прописаны в бинарях. А потом людям объяснять, что надо для компиляции специальные ключи добавлять — нет уж. Затем это чудо создает rootfs, которую еще напильником надо подтачивать, например, пароль рута включает, а какой он — никто не знает 🙂

тулчейн: теперь только codesourcery arm-2007q3 — вообще никаких проблем с ними.

linux4sam: да, сначала пользовался убутом и ядром оттуда, но теперь собрал u-boot 1.3.4 и очень рад, ядро 2.6.25.6, патчи с maxim.org.za

Оговорюсь о своей платформе — у меня она на базе at91sam9263ek, но имеет ряд отличий. Например, стоит NOR Flash Spansion. Никто в Атмеле не догадался написать в ератах или еще где, что с этой флеши стартовать нельзя, а можно только с их родной NOR. 2 недели потерял, ладно — лирика.

Теперь взял образ Ангстром x11-demo с linux4sam, залил его в свою NOR flash: первый раз он загрузился — откалибровал тачскрин, всё работает просто сказка! Перегружаю — вот тут началось :). Куча ошибок с JFFS2, короче, так и не разобрался пока.

Вот и возник вопрос: стоит ли разбираться со всеми багами (ну или особенностями) Ангстрома и получить на выходе готовый пакет программ (продукт) или руками собирать иксы, все библиотеки, зависимости и прочее. Но зато на выходе будет 100% знакомый дистрибутив и без непонятных глюков. Это как Slackware и Ubuntu сравнивать — Angstrom это убунта, а слакварь это руками собрать весь софт.

А вы, koTuk, видимо, относитесь к числу «собираю руками», судя по патчам для k3b?

Читайте также:  Rosa linux ��������� ���

Re: Кто-нибудь руками Angstrom собирал?

>которую еще напильником надо подтачивать, например, пароль рута включает, а какой он — никто не знает 🙂

ну это разве проблема 🙂

>Теперь взял образ Ангстром x11-demo с linux4sam, залил его в свою NOR flash: первый раз он загрузился — откалибровал тачскрин, всё работает просто сказка!

У меня плата аналогичная at91sam9260ek — без встроенного контроллера lcd так что с графикой полный облом 🙂 На плате не выведен даже EBI чтобы туда можно было подключить — просто RAM запаяна и все. Загрузка с dataflash — у меня там образ initrd с ядром лежит ну и bootstrap и uboot конечно, потом монтируется mmc где лежит основной root раздел.

>Куча ошибок с JFFS2
возможно проблема с ядром

>относитесь к числу «собираю руками», судя по патчам для k3b?

кде — это все на х86 делалось и для х86, просто когда-то у меня были иллюзии что на uclibc должно работать быстрей, в общем баловство 🙂 Мне хватает buildroot — поэтому ничего другого я просто не пробовал, не могу советовать.

Re: Кто-нибудь руками Angstrom собирал?

>>Куча ошибок с JFFS2 >возможно проблема с ядром

Собранный руками busybox с тем же ядром отлично работает с флешом.

Спасибо за ответы, но у меня основной вопрос был не в том, где я уже ошибся, а в том как бы не ошибиться с выбором окружения для разработки.

Re: Кто-нибудь руками Angstrom собирал?

Работа с mtd и JFFS2 касается только ядра, busybox это чистый user space, так что даже если все так как вы пишите — завлуга там явно не busybox.

Re: Кто-нибудь руками Angstrom собирал?

> Вот и возник вопрос: стоит ли разбираться со всеми багами (ну или особенностями) Ангстрома и получить на выходе готовый пакет программ (продукт) или руками собирать иксы, все библиотеки, зависимости и прочее.

у меня для девайсов все кроскомпилится руками. оно правда собирается потом в deb (dpkg стоит на целевой платформе) и раздается пакетами, но для каждой либы/софтины пакет надо собрать отдельно (дописывается make deb).

два дня сношений — base-image ангстром из bitbake собираться отказывается. воюем дальше.

Re: Кто-нибудь руками Angstrom собирал?

я собирал для платы основанной на at91sam9263ek,
ядро и загрузчики (at91boostrap и uboot) собирал ручками,
и грузилась с nor флешки, пришлось конечно тайминги поменять
в at91boostrap и uboot, чуть-чуть их пропатчить и все заработало

>CROSS_COMPILE=xx ./configure && make all??

angstrom это и делает, плюс наложение патчей

проблемма с jffs2 скорее всего в том что не сделали erase флешки перед заливкой образа.

Re: Кто-нибудь руками Angstrom собирал?

> два дня сношений — base-image ангстром из bitbake собираться отказывается. воюем дальше.

Если нужна помощь — обращайтесь. Я на Ангстром потратил больше :), уже понимаю что к чему там..

Re: Кто-нибудь руками Angstrom собирал?

а что за NOR flash была? У меня Spansion и у него есть замечательный режим «sleep» в который флеш входит, если сигналы на входе не меняются в течении 30нс. А 9263 при старте с NOR стартует на скорости 32кГц с соответсвующей времянкой обращения к памяти.. Короче, 2 недели разбирались, пока все линии осциллографом не проверили и внимательно прочитали даташит на флеш.

> проблемма с jffs2 скорее всего в том что не сделали erase флешки перед заливкой образа.

мы не идиоты, чтобы не знать к с флешами обращатся. Проблема в стартовых скриптах Ангстрома. Мой образ на бизибоксе имеет стартовые скрипты: ifconfig.. и всё. Стартует с флешки замечательно, файлы создает, стирает, короче флеш рабочая 100%.

Re: Кто-нибудь руками Angstrom собирал?

> два дня сношений — base-image ангстром из bitbake собираться отказывается. воюем дальше.

Кстати, у меня сначала base-image тоже не собирался. Оказывется репозиторий angstrom-distribution.org не работал, даже не пинговался.. Я просто забил и на следующий проверил, что сайт ангсторма рабочий — набираю bitbake base-image -> вуаля, и есть образ :). Кстати, если машинка шустрая, то ОЧЕНЬ желательно делать параллельную компиляцию — время сборки сокращается в разы! Правда, какие-то пакеты могут не собраться, но я с таким еще не сталкивался :). x11-image собрался без проблем также

Re: Кто-нибудь руками Angstrom собирал?

> Кстати, у меня сначала base-image тоже не собирался.

Источник

Оцените статью