[devel] ALT ARM Build HOWTO

Kirill A. Shutemov =?iso-8859-1?q?k=2Eshutemov_=CE=C1_velesys=2Ecom?=
Пн Янв 28 15:25:52 MSK 2008


0. Prerequires

Для сборки под ARM с использованием QEmu требуется:
 - qemu-user-static - чем новее, тем лучше
 - настроенный hasher >= 1.2.6-alt1
 - rpm >= 4.0.4-alt80
 - репозиторий под ARM. Можно взять тут: 
     ftp://ftp.altlinux.org/pub/people/kas/arm
 - ядро с поддержкой binfmt_misc(во всех ядрах в Сизифе есть модуль)

1. Configuring binfmt_misc

Настраиваем binfmt_misc:

- монтируем файловую систему binfmt_misc(если ещё не примонтирована)

# mount -t binfmt_misc none /proc/sys/fs/binfmt_misc

- регистрируем qemu-arm, как интерпретатор ARM'овских ELF'ов:

# echo ":arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/.host/qemu-arm:" > /proc/sys/fs/binfmt_misc/register

Теперь при попытке выполнить ELF для ARM, ядро будет запускать /.host/qemu-arm.
Именно по этому пути будет лежать статически собранный qemu-arm внутри чрута,
который создаст hasher.

2. APT sources.list

Пишем sources.list. Что-то типа:

rpm ftp://ftp.altlinux.org/pub/people/kas/arm/sisyphus arm hasher
rpm ftp://ftp.altlinux.org/pub/people/kas/arm/patched arm hasher
rpm ftp://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus noarch classic

Можно записать прямо в /etc/apt/sources.list, но лучше положить в сторонке, и
написать отдельный apt.conf, который подсовывать hasher'у.

Можно заметить, что репозитория два. В sisyphus попадают пакеты, которые
пересобраны из Сизифа "как есть". В patched, пакеты в которые вносились 
изменения.

3. Hasher

Теперь всё готово. Можно использовать hasher:

hsh --with-qemu=arm --target=arm --apt-config=/path/to/apt-arm.conf foo.src.rpm

P.S. Буду благодарен, если кто-нибудь оформит это на wiki.

-- 
Regards,  Kirill A. Shutemov
 + Belarus, Minsk
 + Velesys Ltd, http://www.velesys.com/
 + ALT Linux Team, http://www.altlinux.com/
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080128/40bd393a/attachment-0002.bin>


Подробная информация о списке рассылки Devel