Кросс-компиляция Python 2.7.16 для armel (32-bit)

Я удивлен, что никто не упоминает дамп и восстановление. Это будет намного быстрее, чем dd , если у вас есть свободное место в файловой системе.

Обратите внимание, что в зависимости от рассматриваемой файловой системы вам могут понадобиться разные инструменты:

  • ext2/3/4-дамп и восстановление(пакет дамп в RH/Debian)
  • XFS-xfsdump и xfsrestore(пакет xfsdump в RH/Debian)
  • ZFS-zfs send и zfs recv
  • BTRFS-отправка btrfs и получение btrfs

Обратите внимание, что некоторые программы не встраивают -в сжатие (все, кроме канала дампа)-на стандартный вывод и используют pigz по мере необходимости. ;-)

2
04.11.2019, 09:47
1 ответ

Компиляция — это процесс преобразования языка, такого как C, в инструкции для ЦП. Различные процессоры имеют разные наборы инструкций. Думайте об этом как о x86 _64, являющемся другим языком ЦП, отличным от armel.

Хотя технически возможно создать компилятор, который может писать на любом языке с набором инструкций (), я не верю, что есть такие, которые могут просто переключаться.

Таким образом, чтобы использовать GCC для компиляции для armel, вам нужна копия GCC, которая сама была скомпилирована для написания armel. Вот в чем загвоздка... Чтобы добиться того, что вы пытаетесь сделать, вам нужна копия GCC, которая будет скомпилирована для armel, но эта копия GCC должна работать на (и быть скомпилирована для )x86 _64. Это известный как кросс-компилятор :компилятор, код которого компилируется для одного набора инструкций, который при использовании компилирует код в другой набор инструкций.

Вам понадобится компиляторgcc-arm-linux-gnueabi(https://packages.debian.org/buster/gcc-arm-linux-gnueabi). Вы можете обнаружить, что этот get споткнулся из-за компиляции заголовочных файлов (на# include <...>)или библиотек(undefined reference to...). Боюсь, я так давно этим не занимался, что даже не могу вспомнить, как сказать компилятору использовать заголовки и библиотеки из вашей целевой системы. Это может быть то, что вам нужно исследовать.

1
27.01.2020, 22:24

Теги

Похожие вопросы