Включение ARMv8 на Raspberry Pi 3 B

14

Согласно этой статье, я должен иметь возможность переключиться на ARMv8 на моей Raspberry Pi Model 3B, но после добавления в строку я получаю «радужный экран»config.txt :

arm_control=0x200
  • Почему это не работает?
  • Стоит ли вообще переходить с ARMv7 на ARMv8 (учитывая, что я готов скомпилировать некоторые программы на C ++ в будущем).

Я использую Raspbian 9.1 "stretch" и /prc/cpuinfoсообщает "ARMv7 Processor rev 4 (v7l)".

madneon
источник
Ценность? Зависит! Если вы хотите накатить собственное ядро, тогда да. Ты хочешь?
Фабиан
@ Фабиан, если это нужно / стоит, чем - да. Но разве Raspbian 9.1 "ARMv8-готов"?
Madneon
2
Возможный дубликат Raspberry Pi 3 и 64-битного ядра, различия между armv7 и armv8
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Ответы:

8

Я думаю, что другие здесь сделали хорошую работу, отвечая:

Стоит ли вообще переключаться с ARMv7 на ARMv8?

Различное программное обеспечение, для которого требуется ARMv8, включает CockroachDB, MongoDB (при доступе> 2 ГБ), эмулятор Dolphin и OpenMW. Тем не менее, вы также потеряете другие функции или программы, которые могут быть менее поддержаны с 64-битным ядром (например, игры с brcmEGL + dispmanx).

arm_control=0x200

Почему это не работает?

Похоже, вы пропустили ключевой шаг фактического копирования в 64-битном ядре и его модулях. Эта статья eLinux также может быть устаревшей, так как стандартный загрузчик Raspbian Stretch автоматически загрузит kernel8.img, если он есть .

Если вы не собираете 64-битное ядро ​​из исходных текстов , вы можете скачать рабочую версию от оригинального автора этой статьи, здесь, на GitHub (только для Pi 3B). Его образ основан на Debian arm64, и если вы намереваетесь использовать это ядро ​​с Raspbian, убедитесь, что скопировали в /boot/{kernel8.img,*.dtb,overlays,config.txt,cmdline.txt}и /lib/modules/из образа Pi64. Вы также можете скачать и установить такие предварительно сконфигурированные Raspbian образы:

Вернуться к части вашего другого вопроса:

(принимая во внимание, что я готов скомпилировать некоторые программы на C ++ в будущем).

Если вы намерены использовать Pi 3 для разработки и тестирования приложений armhf и arm64, вы можете запустить Pi64 напрямую. В отличие от Raspbian, он поддерживает MultiArch и, следовательно, не требует запуска 64-битных контейнеров. За пределами экосистемы Raspbian / Debian, другие 64-битные дистрибутивы включают Ubuntu Server, Gentoo, openSUSE и Fedora (см. Комментарии других пользователей).

jdonald
источник
OpenGL не обеспечивает аппаратное ускорение для 64-битных систем? Или это только у Пи?
JAB
@JAB мой комментарий относился к состоянию 64-битного ядра Pi, хотя в настоящее время проблема довольно неясна . Даже в моей системе я могу modprobe vc4получить 60+ fps glxgears, а Minecraft Java Edition сканирует. Кроме того, gentoo-on-rpi3-64bit заявляет о совместимости VC4 в своей теме. Я отредактировал свой пост, чтобы удалить упоминание об OpenGL, пока у меня не появится что-то более фактическое.
Jdonald
8

Стоит ли вообще переключаться с ARMv7 на ARMv8?

Нет, если вы не используете ядро ​​и пользовательскую область ОС, скомпилированную для ARMv8; Есть несколько таких вещей для Pi 3, включая Fedora . Некоторые советы о том, почему до сих пор нет специальной версии Raspbian, смотрите здесь:

Raspbian переходит в 64-битный режим

В противном случае, я думаю, что единственное значение имеет то, что процессор сообщает о себе, что можно найти через /proc/cpuinfo. Некоторые люди используют это как средство отличить одну модель числа Пи от другой, хотя эта практика явно не получила широкого распространения. Иными словами, если вы не знаете причину для этого, не существует.

Златовласка
источник
Таким образом, нет никакого другого усиления, кроме того, что v8 является 64-битным (и может поддерживать 64-битную ОС)?
Madneon
Опять же, для получения какой-либо выгоды от запуска 64-битной системы потребуется программное обеспечение, скомпилированное для ее использования, начиная с ядра (поскольку в противном случае все остальное не будет работать). Так что, насколько мне известно, включение этого не будет иметь никакого значения (и, судя по всему, может создать проблему).
Златовласка
Fedora вряд ли неясна и предлагает aarch64 на RPi3 почти со дня, когда RPi3 появился на рынке. Скачать здесь. @madneon
Майкл Хэмптон
@MichaelHampton Спасибо за обновление - Fedora на самом деле мой любимый дистрибутив, я использую стандартный arm7 на 2 и 3. Это немного странно, но я пропустил это (в вики сказано, что поддержка pi в целом существует с v. 25, что было бы ближе к году после выхода 3). Во всяком случае, отредактировано.
Златовласка
Ах да, верно, было 23 и 24 сборки aarch64, но они были неофициальными.
Майкл Хэмптон
2

На сегодняшний день кажется, что Fedora и Archlinux хорошо поддерживаются.

Если вы пойдете по пути Arch, это поможет вам создать образ (для меня это было в linux / rpi3 make linux), и это поможет вам запустить Wi-Fi.

Если вы хотите быть уверены, какая у вас малина, используйте это руководство .

Также arm_control=0x200не рекомендуется и arm_64bitдолжен использоваться вместо этого в /boot/config.txt.

Пьер-Алексис Чавалдини
источник
1

Стоит ли вообще переключаться с ARMv7 на ARMv8?

Я только что посмотрел на это. Я протестировал некоторые программы, и одна из них показала значительное увеличение производительности. Диггер глубже оказывается, потому что ARMv8 добавляет новую инструкцию для целочисленного деления, которая значительно быстрее, чем традиционная процедура сборки.

Так что есть хотя бы одна причина для обновления до v8!

В противном случае, я должен признаться, ARMv8 выглядит почти идентично ARMv7.

РЕДАКТИРОВАТЬ : Я говорю ложь. Оказывается, я имею в виду AArch32, когда 64-битный режим имеет AArch64, который является существенно другим набором команд в соответствии с этой великолепной презентацией .

Джон Харроп
источник