Кросс-компиляция для кластера на базе arm

Всем Добрый день!!!

Есть у меня не здоровое желание использовать based-source OS для кластера на базе ARM.
В кластере насчитываешься 16 идентичных узлов.
Собирать пакеты на каждом узле избыточно, долго и глупо - после непродолжительного гугления пришел к выводу что мне поможет возможность установки бинарных пакетов у Portage.
В данный момент решение вижу следующим образом:
На мощном сервере, на базе amd64 и gentoo я могу собрать все нужные пакеты под ARM (тут мне должен помочь crossdev) и с помощью любого http сервера(мне нравиться nginx) раздавать их всем узлам.
Знаю что distcc - он не подходит.

Последовательность действий:

  1. Запускаю сборку пакета на сервере в отдельный каталог и которого сервер будет раздавать бинарными как статику.
  2. В узле запускаю emerge с нужными ключами и он тянет собраный пакет по http.

Собственно вопросы:

  1. Насколько это осуществимо с точки зрения функционала portage, gentoo/calculate?
  2. По Вашему мнению на сколько это адекватное решение? Может кто-то решил такую задачу иначе?
  3. Может кто-то угостит ссылками которые помогут провернуть такую затею?

1. Очень даже осуществимо.
2. Очень даже адекватное решение. И, на мой взгляд, единственно-верное.
3. Угощу алгоритмом

На толстом сервере в чруте куда развернул генту в соответствующий конфиг.

FEATURES="-getbinpkg buildpkg" 
PKGDIR="/var/calculate/packages/" # это же скормить веб-серверу

На реципиенте:

FEATURES="getbinpkg -buildpkg"
PORTAGE_BINHOST="чокуда-откуда-брать"

P.S.: само собой в чруте указывать соответствующий CFLAGS

Спасибо Андрей, Вы очень помогли.
Еще хотел бы уточнить кое-что по crossdev, конечно если можете помочь

1. Насколько я могу судить crossdev по сути обертка над emerge который обертка над make который обертка для gcc?
2. На толстом сервере нужно держать в отдельном каталоге stage3/4 под arm, для сборки пакетов для arm архитектуры делаю chroot в директрию со stage3/4 под arm и выполняю emerge в ней, бинарными собираться в отдельный каталог который указываю в make.conf откуда их и раздает http сервер?
3. Могу ли я держать общие ebuild-ы для обеих сборок, основной и дочерней?

# crossdev это набор всяких тулзов для gcc, которые, прежде всего, облегчают сборку (кросскомпиляцию) для другой архитектуры. emerge использует что ей укажут. При желании и соответствующих навыках можно использовать хоть icc
# Если есть готовый stage3 для arm, crossdev уже не нужен. Развернёте его в папку, лучше в раздел, чрутнитесь и работайте. Лично мне, складывать бинари удобней в отдельный раздел, который примонтирован как в основную систему, так и в собираемую. Как “расшарить” папку по http можно найти в мануале соответствующего веб-сервера (обычно достаточно симлинка в rootdir соответствующего вхоста)
# В ебилде архитектура указывается. С каких времен - не подскажу, в генту новичок (7 лет).