From: "Kirill A. Shutemov" <k.shutemov@gmail.com>
To: devel@lists.altlinux.org
Cc: sisyphus@lists.altlinux.org, community@lists.altlinux.org
Subject: [devel] Alt Linux Sisyphus для ARM
Date: Sun, 10 Jun 2007 17:25:58 +0300
Message-ID: <20070610142558.GA21906@localhost.localdomain> (raw)
[-- Attachment #1: Type: text/plain, Size: 4155 bytes --]
Итак.
Лучше позже, чем никогда.
Я начал пересборку 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/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next reply other threads:[~2007-06-10 14:25 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-10 14:25 Kirill A. Shutemov [this message]
2007-06-12 18:55 ` Dmitry V. Levin
2007-06-13 8:53 ` Kirill A. Shutemov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070610142558.GA21906@localhost.localdomain \
--to=k.shutemov@gmail.com \
--cc=community@lists.altlinux.org \
--cc=devel@lists.altlinux.org \
--cc=sisyphus@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git