ALT Linux architecture porting
 help / color / mirror / Atom feed
From: "Kirill A. Shutemov" <k.shutemov@velesys.com>
To: devel-ports@lists.altlinux.org
Subject: [devel-ports] ALT ARM Build HOWTO
Date: Mon, 28 Jan 2008 14:23:51 +0200
Message-ID: <20080128122351.GA11399@localhost.localdomain> (raw)

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

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

-- 
Regards,  Kirill A. Shutemov
 + Belarus, Minsk
 + Velesys Ltd, http://www.velesys.com/
 + ALT Linux Team, http://www.altlinux.com/

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

                 reply	other threads:[~2008-01-28 12:23 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20080128122351.GA11399@localhost.localdomain \
    --to=k.shutemov@velesys.com \
    --cc=devel-ports@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 architecture porting

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel-ports/0 devel-ports/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-ports devel-ports/ http://lore.altlinux.org/devel-ports \
		devel-ports@lists.altlinux.org devel-ports@lists.altlinux.ru devel-ports@lists.altlinux.com
	public-inbox-index devel-ports

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel-ports


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git