компиляция u-boot на mips

Автор murmurishka, 25 октября 2015, 19:43:57

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

murmurishka

всем по привету

такой вопрос - кто занимается/занимался компилированием/кросс-компилированием ? хотя бы на дебиане?
конечная цель: запустить NetBSD на MIPS Creator CI20.

На креаторе штатно стоит дебиан - значит дебанщики "будут в теме")

для этого, для начала,  надо собрать u-boot - кто-нибудь собирал u-boot на debian? как это делается?
исходники u-boot под нужное железо/ось есть - меня бы "послать" в нужном направлении) дела не имел - пока буксую.

ferum

Интересная конечно затея но сейчас вроде популярней rasberry pi2....
Дебианщики не будут в теме относительно  NetBSD , я посмотрел в своё время фряху общего с linux одна командная строка...думаю вам надо изучать сборку именно в выбраной ОС, хотя бы погонять независимо от архитектуры на виртуальной машине. Собственно кросс-компилирование уже не будет такой сложной задачей, лучше всего про тулчайны мне кажется расписано http://www.streamboard.tv/oscam/wiki/crosscompiling естественно на примере конкретной программы со своими сборочными зависимостями и для ОС linux  ну если вы рубите в  NetBSD вставьте в поисковик нехитрое сочетание  toolchain NetBSD, думаю найдёте много интересного.
Русские дебианщики против цифрового слабоумия !

murmurishka

Цитата: ferum от 25 октября 2015, 20:14:50
Интересная конечно затея но сейчас вроде популярней rasberry pi2....
Дебианщики не будут в теме относительно  NetBSD , я посмотрел в своё время фряху общего с linux одна командная строка...думаю вам надо изучать сборку именно в выбраной ОС, хотя бы погонять независимо от архитектуры на виртуальной машине. Собственно кросс-компилирование уже не будет такой сложной задачей, лучше всего про тулчайны мне кажется расписано http://www.streamboard.tv/oscam/wiki/crosscompiling естественно на примере конкретной программы со своими сборочными зависимостями и для ОС linux  ну если вы рубите в  NetBSD вставьте в поисковик нехитрое сочетание  toolchain NetBSD, думаю найдёте много интересного.

операционка тут не имеет особого значения, логика достаточно одинаковая: есть железо, плюс u-boot, плюс операционка.
я не совсем пойму с чего начать в u-boot) читать маны - это одно, но хотелось бы услышать что-то человеческим языком, на примере дебиан.

ferum

На примере дебиан как раз всё понятно, если не лезть в исходные коды для изучения сборки u-boot на debian наглядно установить dpkg-dev подключить основной сорцовый репозиторий deb-src ....если не подключен. За тем создать паку хотя бы в своём домашнем каталоге, перейти в неё и загрузить исходные коды apt-get source u-boot. Архив автоматически распакуется и появится подкаталог u-boot-версия, наибольший интерес в нём представляет подкаталог /debian в текстовом файле control изложены все сборочные и установочные зависимости а так же названия разделяемых из общего исходника пакетов. Замечу разделение на отдельные пакеты присутствует далеко не в каждом дитрибутиве, вот вам одно из отличий. Скрипт rules отражает команды и их порядок для сборки пакетов. В /debian может присутствовать дерево каталогов  /etc/lib/systemd/system/имя.service где допустим применительно к текущему стабильному дистрибутиву будет находиться юнит запуска процесса. Так же для каждого разделённого пакета могут быть дополнительные скрипты install preinstall postinstall prerm postrm в общем всё то что необходимо для автоматизации сборки пакетов их установки и настройки. Любопытно например изучить скрипты install в них прописаны полные пути установки бинарных файлов, стартовых скриптов, библиотек, конфигурационных файлов в дерево каталогов нашего любимого дистрибутива. Если же мы собираем какую либо программу из исходных текстов ( хотя чаще всего пути стандартны) иногда что то куда то необходимо переносить или копировать, создавать линки , вручную прописывать скрипты и конфигурационные файлы , давать на них права.
Не буду настаивать но из информации прочитанной в интернете иногда Arch linux сравнивают с BSD системами в плане порядка сборки пакетов. Читал что там сборка происходит из портов - оригинальных (без исправлений и патчей) пакетов исходного кода и вроде как там всё гораздо проще, хотя бы потому что пакеты не разделяются как в debian а весь исходный код собирается в один пакет....так что логика абсолютно разная и дерево каталогов заметно отличается и файловые системы совсем другие и ядро а это значит море нюансов делающее сходство минимальным.
Русские дебианщики против цифрового слабоумия !

murmurishka

Цитата: ferum от 26 октября 2015, 09:19:37
На примере дебиан как раз всё понятно, если не лезть в исходные коды для изучения сборки u-boot на debian наглядно установить dpkg-dev подключить основной сорцовый репозиторий deb-src ....если не подключен. За тем создать паку хотя бы в своём домашнем каталоге, перейти в неё и загрузить исходные коды apt-get source u-boot. Архив автоматически распакуется и появится подкаталог u-boot-версия, наибольший интерес в нём представляет подкаталог /debian в текстовом файле control изложены все сборочные и установочные зависимости а так же названия разделяемых из общего исходника пакетов. Замечу разделение на отдельные пакеты присутствует далеко не в каждом дитрибутиве, вот вам одно из отличий. Скрипт rules отражает команды и их порядок для сборки пакетов. В /debian может присутствовать дерево каталогов  /etc/lib/systemd/system/имя.service где допустим применительно к текущему стабильному дистрибутиву будет находиться юнит запуска процесса. Так же для каждого разделённого пакета могут быть дополнительные скрипты install preinstall postinstall prerm postrm в общем всё то что необходимо для автоматизации сборки пакетов их установки и настройки. Любопытно например изучить скрипты install в них прописаны полные пути установки бинарных файлов, стартовых скриптов, библиотек, конфигурационных файлов в дерево каталогов нашего любимого дистрибутива. Если же мы собираем какую либо программу из исходных текстов ( хотя чаще всего пути стандартны) иногда что то куда то необходимо переносить или копировать, создавать линки , вручную прописывать скрипты и конфигурационные файлы , давать на них права.
Не буду настаивать но из информации прочитанной в интернете иногда Arch linux сравнивают с BSD системами в плане порядка сборки пакетов. Читал что там сборка происходит из портов - оригинальных (без исправлений и патчей) пакетов исходного кода и вроде как там всё гораздо проще, хотя бы потому что пакеты не разделяются как в debian а весь исходный код собирается в один пакет....так что логика абсолютно разная и дерево каталогов заметно отличается и файловые системы совсем другие и ядро а это значит море нюансов делающее сходство минимальным.

О, вы разбираетесь!
Помучаю, с вашего позволения)
Тогда давайте "в цифрах")
1. Я поставил дебиан/i386
2. Откуда что брать? (давно линуксом не занимался)

ferum

Цитата: murmurishka от 25 октября 2015, 19:43:57конечная цель: запустить NetBSD на MIPS Creator CI20.
Начальная цель? Чего вы хотите на первом этапе? Если попробовать debian на свою плату так готовый пакет уже есть https://packages.debian.org/ru/jessie/u-boot там же и исходные коды, только они отличаются от оригинальных. Уже из индекса следует что наложен некий патч за то исходники уже дебианизированы,  как я писал выше , в них можно найти всю информацию о сборочных зависимостях и порядке сборки
Открыть содержимое (спойлер)
Исходники у вас но с большой вероятностью может оказаться что собрать пакет под архитектуру i386 так запросто не удастся хотя бы потому что может не быть пакетов сборочных зависимостей в данной архитектуре, что логично ведь для PC u-boot не нужен.
Тем не менее вы хотя бы сможете примерно представить какие пакеты по названиям библиотек вам нужны для сборки. Плюсом естественно нужны инструменты разработчика только в debian они свои а в BSD системах могут быть свои и если у нас в debian dpkg-dev тащит по зависимостям половину этих инструментов а pbuilder почти все  то в BSD системах фиг его знает как это устроено. В 10-12 годах мне интересно было  ставить некоторые вещи из исходных кодов в mandriva  rpm-based  дистрибутив, не то что бы принципиально но там всё очень отличается и в названиях инструментов и в названия библиотек и мне показалось сложнее...если бы не было всемогущего гугла мои потуги были бы обречены на провал.
Всё это по вопросу как собрать, как и куда вы его собираетесь устанавливать мне надо самому разбираться с нуля.
Русские дебианщики против цифрового слабоумия !