From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 22 Aug 2007 13:24:46 +0300 From: Michael Shigorin To: devel-ports@lists.altlinux.org Message-ID: <20070822102446.GA11266@osdn.org.ua> Mail-Followup-To: devel-ports@lists.altlinux.org Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.4.2.1i Resent-From: Michael Shigorin Resent-Date: Thu, 23 Aug 2007 13:19:39 +0300 Resent-To: devel-ports@lists.altlinux.org Resent-Message-Id: <20070823101939.804A6D84079@fly.osdn.org.ua> Subject: [devel-ports] =?koi8-r?b?RndkOiBSZTog8M/S1CBBbHQgTGludXgg0M/EIE1J?= =?koi8-r?b?UFMtMzIgySDQ0s/DxdPTz9Ig6+/t5On3LTY0LyBSTTcwMDA=?= X-BeenThere: devel-ports@lists.altlinux.org X-Mailman-Version: 2.1.9rc1 Precedence: list Reply-To: shigorin@gmail.com, ALT Linux arch porting List-Id: ALT Linux arch porting List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Aug 2007 10:19:44 -0000 Archived-At: List-Archive: ----- Forwarded message from Michael Shigorin ----- Date: Wed, 15 Aug 2007 10:51:41 +0300 From: Michael Shigorin To: gosha Subject: Re: Порт Alt Linux под MIPS-32 и процессор КОМДИВ-64/ RM7000 Cc: "Kirill A. Shutemov" , Хихин Руслан , Alexey Rusakov перебрасываю ответ Кирилла, почему-то ко мне он не добрался; также здесь: http://www.freesource.info/wiki/ALTLinux/Sisyphus/porting --- On Tue, Aug 14, 2007 at 11:12:58AM +0300, Michael Shigorin wrote: > По общественному же порту -- пишите Кириллу Шутемову (kas@), > он сейчас озадачился сборкой под ARM и вроде как MIPS на qemu Под MIPS я портировать не планирую. Могу помочь с поддержкой MIPS в qemu, если интересно. Благо в hasher поддержку qemu втянули(пока лежит у ldv@ в git'е, в следующем релизе будет). > -- вдруг сможет поделиться опытом (у него сейчас совсем мало > времени) именно по переносу базовой системы и зависимостей > rpm-build. 1. Нужно оценить насколько целесообразна нативная сборка. Думаю для MIPS она более целесообразна, чем для ARM, но всё же зависит от количества доступного железа и его производительности. _Вероятно_ стоит выделить железку для доступа по ssh заинтересованным, а собирать в qemu(хотя его ещё придётся допиливать под MIPS). 2. Bootstrap лучше делать на каком-нибудь готовом порту. Очень облегчает жизнь. Я использовал неофициальный порт Debian ARM EABI. Кстати на MIPS, что-нибудь типа EABI есть? 3. Собирал я так: - в Debian пересобрал руками пропатченый на тему ARM альтовский rpm, поставил и снова пересобрал rpm. уже rpm'ом. Дальнейшая сборка идет только rpm'мом. На этапе Bootstrap'а допустимо подсовывания некоторого количества костылей. Первоначально базу rpm'ок собирал по принципу "лишь бы собралось". - пересобрал toolchain(binutils, gcc, glibc), устанавливая в систему по мере сборки. Тулчейну и опциям в к gcc в rpm следует уделить особое внимания, что бы с одной стороны полученный дистрибутив запускался на как можно большем количестве железа, с другой - не терял много производительности из-за поддержки устаревшего железа. Я для этого покопался в Debian'овских рассылках(это ж opensource -- у кого хочу у того и тырю:). Ещё нужно проследить, что бы использовались современные технологии. Поясню: в случае ARM есть два ABI: EABI(Embeded ABI) и OABI (Old/Obsoleted ABI). Собирать под OABI сейчас не целесообразно, ибо со временем он отомрёт. Портов полноразмерных дистрибутивов под EABI не так много(официального пота Debian, к примеру, ещё нету), следовательно придёться ходить по минам, но это того стоит ;) - Пересобрал все не-noarch пакеты требуемые для работы hasher'а. У меня получилось примерно 130-150 исходных пакетов. Естественно на этом этапе я безжалостно резал BuildRequires, что бы не пересобирать половину xorg и gnome'а ;). Хотя в случае ALT это не так сложно -- много где есть %if_enabled/%if_with. С Федорой мучались больше. - Дальше пересобирается всё те же 130-150 пакетов, но теперь в hasher'е с разворачиванием всех BuildRequires и фиксированием изменений(вот где git здорово помогает). Итого у меня получилось около 350'ти исходных пакетов. Местами, хорошо помучился: например с большими кольцами в BuildRequires. Типа "tetex хотят все, tetex хочет всех" ;) - После этого уже можно работать с community, для включения изменений в пакеты и включения порта в Sisyphus. Если есть какие-то вопросы, постараюсь ответить. > Дам-ка я тем, кто судя по отложенным письмам -- имел интерес > к теме, копии (отвечайте всем). -- Regards, Kirill A. Shutemov + Belarus, Minsk + Velesys LLC, http://www.velesys.com/ + ALT Linux Team, http://www.altlinux.com/ --- ----- End forwarded message ----- -- ---- WBR, Michael Shigorin ------ Linux.Kiev http://www.linux.kiev.ua/