ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Alt Linux Sisyphus для ARM
@ 2007-06-10 14:25 Kirill A. Shutemov
  2007-06-12 18:55 ` Dmitry V. Levin
  0 siblings, 1 reply; 3+ messages in thread
From: Kirill A. Shutemov @ 2007-06-10 14:25 UTC (permalink / raw)
  To: devel; +Cc: sisyphus, community

[-- 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 --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [devel] Alt Linux Sisyphus для ARM
  2007-06-10 14:25 [devel] Alt Linux Sisyphus для ARM Kirill A. Shutemov
@ 2007-06-12 18:55 ` Dmitry V. Levin
  2007-06-13  8:53   ` Kirill A. Shutemov
  0 siblings, 1 reply; 3+ messages in thread
From: Dmitry V. Levin @ 2007-06-12 18:55 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 340 bytes --]

On Sun, Jun 10, 2007 at 05:25:58PM +0300, Kirill A. Shutemov wrote:
[...]
> glibc:
> - добавлены glibc-ports

Для чего?

> - выключен %def_disable check для arm

Не работает совсем?

> - textrel=relaxed из-за nscd

А это почему?

[...]
> Все эти изменения выложины в git. Смотрите бранч arm-port.

Спасибо.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [devel] Alt Linux Sisyphus для ARM
  2007-06-12 18:55 ` Dmitry V. Levin
@ 2007-06-13  8:53   ` Kirill A. Shutemov
  0 siblings, 0 replies; 3+ messages in thread
From: Kirill A. Shutemov @ 2007-06-13  8:53 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1330 bytes --]

On [Tue, 12.06.2007 22:55], Dmitry V. Levin wrote:
> On Sun, Jun 10, 2007 at 05:25:58PM +0300, Kirill A. Shutemov wrote:
> [...]
> > glibc:
> > - добавлены glibc-ports
> 
> Для чего?

arm сейчас находится в ports.

> 
> > - выключен %def_disable check для arm
> 
> Не работает совсем?

Тесты проваливаются. В каком объёме не выяснял. Из-за qemu ожидаемо не
отработают thread-related тесты и, вероятно, ipc. Может ещё что небудь.

> 
> > - textrel=relaxed из-за nscd
> 
> А это почему?

При упаковке rpm ругнулся. Кваливикации разобраться в причинах у меня не
хватило. Буду благодарен за помощь.

Там, кстати, ещё один коммит в glibc. /lib/ld-2.5.so попадал в пакет не
исполняемым. Следовательно, ничего не работало. Пошёл по пути наименьшего
сопротивления - поставил %attr в %files.

-- 
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 --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-06-13  8:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-06-10 14:25 [devel] Alt Linux Sisyphus для ARM Kirill A. Shutemov
2007-06-12 18:55 ` Dmitry V. Levin
2007-06-13  8:53   ` Kirill A. Shutemov

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