Добавлены команды в .bashrc, как применить к пользователям задним числом?

TL, DR: если вам предлагается выбрать только «32-битный» или «64-битный», то ни один из них не подходит для Raspberry Pi (или любого другого компьютера на базе ARM). Вам нужен пакет для ARM и нужный для загрузки, это armhf .

«32-битный» и «64-битный» - это только одна из характеристик архитектуры процессора. Многие семейства процессоров выпускаются как в 32-битном, так и в 64-битном вариантах (x86, ARM, Sparc, PPC, MIPS,…). Один только Debian имеет 23 официальных двоичных дистрибутива для различных характеристик процессора и различных характеристик программного обеспечения.

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

В мире ПК существует два набора инструкций (с небольшими вариациями, которые не имеют значения):

  • IA-32 , вариант x86 , широко известный как i386 ( имя, используемое Debian) или i686 (которые, как и IA-32, являются поколениями архитектурной серии x86);
  • x86-64 , также известный как x64 или amd64 (имя, используемое Debian) (не следует путать с IA-64, который совершенно другой).

И Intel, и AMD производят процессоры, реализующие наборы инструкций x86 и x86-64. Современные ПК имеют процессоры, поддерживающие наборы инструкций как x86-64, так и x86; старые ПК имеют процессоры, поддерживающие только x86. Поскольку набор инструкций x86 использует 32-разрядные регистры, а набор инструкций x86-64 использует 64-разрядные регистры, и поскольку для каждого набора инструкций существует один ABI, используемый всеми установками Linux¹, их часто описывают просто как «32-разрядные». »Или« 64-битный ». В контексте ПК «32-разрядный» означает «x86», а «64-разрядный» означает «x86-64».

Процессоры ARM имеют совершенно другой набор команд. Вы не можете установить пакет x86 или x86-64 в системе ARM. Вам нужен пакет для ARM, для правильного набора инструкций и, в более общем плане, для правильного ABI. Пока нет основных 64-битных дистрибутивов для 64-битных процессоров ARM, потому что ревизия архитектуры ARMv8 , которая вводит 64-битный набор команд, все еще очень нова и не является общедоступной. Однако существует несколько 32-битных ABI, которые предполагают наличие разных функций процессора и используют разные версии соглашения о передаче аргументов. Основными ARM ABI, используемыми в Linux, являются:

Все устройства, поддерживающие armhf, также поддерживают armel; однако установка данной системы должна быть согласованной. Raspbian использует armhf (фактически, он начинался как перенос armel Debian на armhf, когда armhf был в новинку).

¹ По крайней мере, для основных дистрибутивов. Существуют встроенные дистрибутивы, в которых есть несколько бинарных выпусков x86 с пакетами, скомпилированными для разных версий стандартной библиотеки C (glibc, dietlibc, uclibc,…).

1
01.05.2019, 17:49
0 ответов

Теги

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