Ports/mipsel/BuildHowto: различия между версиями

Материал из ALT Linux Wiki
< Ports‎ | mipsel
Нет описания правки
Строка 2: Строка 2:
[[Категория:mipsel]]
[[Категория:mipsel]]


===Настройка сборки пакетов под mipsel на x86===
==Настройка сборки пакетов под mipsel на x86==


На основании статьи о настройках для arm: https://www.altlinux.org/Ports/arm/BuildHowto
На основании статьи о настройках для arm: https://www.altlinux.org/Ports/arm/BuildHowto
Строка 8: Строка 8:
где описаны настройки binfmt_misc под различные платформы, в том числе и под mipsel
где описаны настройки binfmt_misc под различные платформы, в том числе и под mipsel


==== Настраиваем qemu-user и binfmt-misc ====
=== Настраиваем qemu-user и binfmt-misc ===


* Устанавливаем пакет:
* Устанавливаем пакет:
Строка 21: Строка 21:


   echo ':mipsel:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/.host/qemu-mipsel:' > /proc/sys/fs/binfmt_misc/register
   echo ':mipsel:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/.host/qemu-mipsel:' > /proc/sys/fs/binfmt_misc/register
==== Если у Вас systemd ====


Если у Вас достаточно свежий <tt>systemd</tt>, то для того, чтобы настраивать так binfmt-misc при каждой загрузке, достаточно '''от root'а''' прописать эту строчку в какой-нибудь файл в каталоге '''/etc/binfmt.d''', например:
Если у Вас достаточно свежий <tt>systemd</tt>, то для того, чтобы настраивать так binfmt-misc при каждой загрузке, достаточно '''от root'а''' прописать эту строчку в какой-нибудь файл в каталоге '''/etc/binfmt.d''', например:
Строка 26: Строка 28:
   echo ':mipsel:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/.host/qemu-mipsel:' > /etc/binfmt.d/quemu-mipsel-for-hasher.conf
   echo ':mipsel:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/.host/qemu-mipsel:' > /etc/binfmt.d/quemu-mipsel-for-hasher.conf


Чтобы сразу применить это изменение, перезапустите сервис '''systemd-binfmt'''.
Чтобы сразу применить это изменение, перезапустите сервис <tt>systemd-binfmt</tt>.


==== Готовим настройки apt ====
=== Готовим настройки apt ===


Нужно создать файлы:
Нужно создать файлы:
Строка 45: Строка 47:
  rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/mipsel Sisyphus/noarch classic
  rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/mipsel Sisyphus/noarch classic


==== Запускаем hasher ====
=== Запускаем hasher ===


Теперь можно создать сборочницу:
Теперь можно создать сборочницу:

Версия от 08:12, 11 июля 2018


Настройка сборки пакетов под mipsel на x86

На основании статьи о настройках для arm: https://www.altlinux.org/Ports/arm/BuildHowto и статьи https://wiki.gentoo.org/wiki/Embedded_Handbook/General/Compiling_with_qemu_user_chroot где описаны настройки binfmt_misc под различные платформы, в том числе и под mipsel

Настраиваем qemu-user и binfmt-misc

  • Устанавливаем пакет:
sudo apt-get install qemu-user-static
  • Монтируем файловую систему binfmt_misc(если ещё не примонтирована):
 mount -t binfmt_misc none /proc/sys/fs/binfmt_misc
  • Регистрируем qemu-mipsel, как интерпретатор mipsel'овских ELF'ов. Для этого нужно выполнить следующую команду от root'а:
 echo ':mipsel:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/.host/qemu-mipsel:' > /proc/sys/fs/binfmt_misc/register

Если у Вас systemd

Если у Вас достаточно свежий systemd, то для того, чтобы настраивать так binfmt-misc при каждой загрузке, достаточно от root'а прописать эту строчку в какой-нибудь файл в каталоге /etc/binfmt.d, например:

 echo ':mipsel:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/.host/qemu-mipsel:' > /etc/binfmt.d/quemu-mipsel-for-hasher.conf

Чтобы сразу применить это изменение, перезапустите сервис systemd-binfmt.

Готовим настройки apt

Нужно создать файлы:

  • apt.conf.mipsel:
 Dir::Etc::main "/dev/null";
 Dir::Etc::parts "/var/empty";
 Dir::Etc::SourceParts "/var/empty";
 
 Dir::Etc::sourcelist "/<путь от корня>/sources.list.mipsel";
  • /<путь от корня>/sources.list.mipsel, указывающий на репозиторий для mipsel, например:
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/mipsel Sisyphus/mipsel classic
rpm http://ftp.altlinux.org/pub/distributions/ALTLinux/ports/mipsel Sisyphus/noarch classic

Запускаем hasher

Теперь можно создать сборочницу:

hsh --with-qemu=mipsel --target=mipsel --apt-config=apt.conf.mipsel --initroot-only ~/hasher

Также можно собрать пакет под mipsel, например такой:

hsh -v --with-qemu=mipsel --target=mipsel --apt-config=apt.conf.mipsel ~/hasher bc-1.06-alt4.src.rpm