Итак. Лучше позже, чем никогда. Я начал пересборку Sisyphus под ARM. Пересбока производиться с использованием qemu-arm т.е. не кроссом. Пересобирается всё для armv4 без thumb. Это позволит запускать полученое на широком диапозоне железа без большой потери производительности. Полное имя платформы arm-alt-linux-gnueabi. План по пересбоке следующий: 0. Допилить до вменяемого состояния qemu-arm 1. Собрать на коленке всё, что требуется для hsh --initroot 2. Собрать в hasher'е(модифицированном для поддержки qemu) всё, что нужно для hsh --initroot. К концу этого этапа должен получиться замкнутый по BuildRequires репозиторий. 3. Интеграция в сборочную систему Sisyphus'а. Сейчас начат этап 2. Почему qemu-arm? Потому, что мне этот подход видится наиболее перспективным. Наш rpm и пакеты малоприспособлены для кросс-сборки. Собирать нативно тоже не выйдет по понятным причинам. А этот подход с qemu можно комбинировать с кросс-компилятором и другими программами(make, sh) нативными для хост системы, тем самым увеличивая скорость сборки. Но есть "но". 1. По словам разработчиков qemu, не стоит ожидать стабильной работы сильно мультипоточных в qemu. Генератор кода в qemu не реентерабельный. :( 2. В qemu реализованы не все syscall'ы. Я по мере сил дописываю. Для сборки того, что есть обычно хватает. А вот какой-нить make check может и не отработать. Теперь по пакетам. Пока "на чистовик" пересобрал rpm и toolchain. Изменения в пакетах rpm: - %_gnu добавлен в %_target_platform. Из того что пересобирал вроде ничего не сломалось. Но глобальная пересборка очень желательна. - %_gnu равен -gnueabi для gnueabi платформ. В частности arm. - Не проверяется STACK запись в ELF файлах для ARM. Нету её там. - Обновлена поддержка ARM в rpm: + добавлена CANONARCH arm и armb. Будут использоваться для сборки пакетов для дистрибутивов. Сейчас это armv4[bl]. + обновлены %optflags для arm + %arm список всех arm процессоров binutils пересобрался без изменений gcc4.1: пересобран без java и objc. Несколько патчей добавлено. Подробней в git. glibc: - добавлены glibc-ports - выключен %def_disble check для arm - textrel=relaxed из-за nscd glibc-kernheader: поддержка arm. Также был модифицирован hasher. Добавлена опция --with-qemu=. Указаный qemu будет скопирован в chroot/.host/. Он используется через binfmt. Ещё добавлен --ignorearch к одному из вызовов rpm. Все эти изменения выложины в git. Смотрите бранч arm-port. -- Regards, Kirill A. Shutemov + Belarus, Minsk + Velesys LLC, http://www.velesys.com/ + ALT Linux Team, http://www.altlinux.com/