LINUX.ORG.RU

Возможна ли кросс-компиляция «Debian» из исходников?

 ,


0

2

Знаю что очень дурацкий вопрос)) но все-же спрошу... Возможна ли кросс-компиляция «Debian» из исходников? Я имею в виду не отдельные пакеты а весь Debian целиком из пакетов на debian-src-dvd с помощью какой нибудь утилиты! чтобы получить так называемый «Порт» Дебиана... а уже из нево с помощью debootstrap собирать файловою систему со всеми необходимыми пакетами.

Сразу дам ответ на вопрос... Зачем?...

Среди списка поддерживаемых архитектур debian нет той что мне нужна!

Возможна ли кросс-компиляция «Debian» любого случайного GNU/Linux дистрибутива из исходников?

Да если у дистрибутива предусмотрена принципиальная возможность bootstrap-а компилятора с toolchain-ом и пакетным менеджером.

Заметь я исправил просто Debian на дистрибутив GNU/Linux поскольку в природе существует и Debian GNU/Hurd.

init_6 ★★★★★
()

Зависит от того, что понимается под кросс-компиляцией Debian из исходников.

Интерпретация 1: собрать произвольный пакет под твою архитектуру, пользуясь кросс-компилятором и не выполняя ни байта кода на твоей архитектуре. Ответ: нет. Кросс-компиляцию поддерживает лишь небольшая часть пакетов, самый минимум, чтобы, начиная с них, собрать все остальное «родным» компилятором, запущенным на целевой платформе.

Интерпретация 2: собрать этот необходимый минимум. Краткий ответ: никто не знает. Да, добавление новых архитектур периодически происходит. Но это пока ручной процесс, толком не документированный. Дебиановцы сами себе даже задают вопрос, а получится ли повторно пробутстрапить, например, arm64.

Подробности тут: https://wiki.debian.org/HelmutGrohne/rebootstrap, http://subdivi.de/~helmut/debconf15-bootstrap.pdf (spoiler: из 1100 пакетов удалось втупую пересобрать только 450).

А вообще, если речь зашла о кросс-компиляции, вот дистрибутивы-конструкторы, специально для нее заточенные: Buildroot, Yocto Project, OpenWRT. Yocto можно настроить на сборку deb-пакетов.

AEP ★★★★★
()
Ответ на: комментарий от AEP

Интерпретация 1: собрать произвольный пакет под твою архитектуру, пользуясь кросс-компилятором и не выполняя ни байта кода на твоей архитектуре. Ответ: нет. Кросс-компиляцию поддерживает лишь небольшая часть пакетов, самый минимум, чтобы, начиная с них, собрать все остальное «родным» компилятором, запущенным на целевой платформе.

Я в курсе что не все пакеты поддерживают прямую кросс-компиляцию... Архитектура на которую я бы хотел попробовать сделать порт debian называется 'c-sky' на данный момент её поддерживает только buildroot... на прошлой неделе мне таки удалось собрать относительно стабильною сборку openwrt для этой архитектуры... что навело меня на мысль о сборке целого дистрибутива Debian но с чего начать я не знаю...

Об утилите rebootstrap слышу впервые... буду смотреть что это такое и с чем его едят...

Architector120
() автор топика
Ответ на: комментарий от Architector120

C-Sky - это 32-битная архитектура, т.е. изначально ущербная с точки зрения возможности нативной компиляции. Поэтому таки советую не связываться с Debian, а попробовать портировать Yocto.

Ну и вот еще моя статья на эту тему: https://lwn.net/SubscriberLink/797303/262700cdb2a5e059/

AEP ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.