Есть ли 64-битное ядро для Raspberry Pi 3? Я осмотрелся и из источников проверяю официальную страницу и там перечислены следующие ядра:
- NOOBS - это установщик, а не сама ОС, верно?
- Rapsbian - всего одна загрузка, поэтому я предполагаю, что 32-битная совместимость со всеми версиями Pi
- Ubuntu MATE - aarch32 (ARMv7)
- Ubuntu Ubuntu Core - кажется, только 32-битный
- OSMC - те же самые загрузки для "Raspberry Pi 2/3", так что 32 бит
- LibreELEC - комбинированная сборка для 2 и 3, так что только 32 бит
- PiNet - не знаю, что это такое, но сомневаюсь, 64 бит
- RISC OS - не похоже на Linux
- Метеостанция - да, просто нет
Так не кажется, что доступно официальное 64-битное ядро? Есть ли неофициальный? Могу ли я просто скомпилировать один и ожидать, что он сработает (думаю, нет, но не мешает спросить ..)? Кто-нибудь хотя бы работает над этим? Я хотел бы иметь доступ к родным 64-битным номерам.
С другой стороны, насколько велика разница между armv7 и armv8? Gentoo предлагает тарболы 3 уровня для armv7. Будет ли это работать на Pi 3, который является armv8?
Ответы:
Из того, что я нашел, нет ничего стабильного и официального. Некоторые получили один для компиляции, но есть проблемы с драйверами / модулями.
Эти ссылки могут заинтересовать вас по этой теме.
Вход в состояние выполнения aarch64
Распбиан Джесси (64 бит) для RPi3?
источник
Общее мнение состоит в том, что 64-битное ядро не увеличит производительность на Pi, поскольку единственные 2 реальных преимущества 64-битного ядра:
Кроме того, 64-битная и 32-битная микросхемы ARM не являются большим скачком в производительности, чем на чипах x86, потому что микросхемы x86 значительно обновили архитектуру, когда переходили на 64-битные, тогда как ARM-чипы уже были довольно солидными в 32-битных версиях.
Не стесняйтесь экспериментировать, хотя! :)
источник
Похоже, что одно преимущество 64-битной архитектуры, о котором все забывают, состоит в том, что ARMv8 имеет значительно больше регистров, чем ARMv7. Он также имеет гораздо лучшую производительность с плавающей запятой.
Это не просто дополнение к ARMv7, это совершенно новая архитектура.
источник
OpenSUSE выпустил свой 64-битный образ Raspberry Pi.
https://en.opensuse.org/HCL:Raspberry_Pi3
источник
Я обнаружил, что некоторые 64-битные компиляции значительно улучшились по сравнению с 32-битными при запуске моих тестов Android на планшете с использованием 1,3-ГГц ARM Cortex-A53. Последние компилируются с помощью Eclipse и во время выполнения определяют, является ли процессор ARM, Intel или MIPS, а затем 32-битной или 64-битной архитектурой.
В предыдущих компиляциях Windows для процессоров Intel 64-разрядная работа могла быть намного быстрее, чем 32-разрядная из-за использования SIMD-инструкций типа SSE. Однако более поздний 32-битный компилятор с обратной несовместимостью выдает практически тот же код и схожую скорость.
Подробная информация о тестах Android приведена ниже, показывая 32-битные и 64-битные результаты от A53 и Cortex-A9 с частотой 1,2 ГГц. В конце приведены некоторые списки ассемблерных кодов, которые идентифицируют различные используемые инструкции. Ниже приведена сводка результатов.
http://www.roylongbottom.org.uk/android%2064%20bit%20benchmarks.htm#anchorStart
Тест Whetstone Benchmark - (крошечные петли) аналогичная производительность, с общим рейтингом, который зависит от составления теста с использованием функций EXP.
Dhrystone Benchmark - новейшие MIPS / MHz 1.09 32-битные, 1.96 64-битные, 1.10 A9 - возможно 64-битные по сравнению с оптимизированными.
Linpack Benchmark - (N = 100) 64 бит DP DP 1.97 x быстрее, SP 2.67 x - см. Код сборки.
Петли Ливермора - (24 ядра) в среднем в 1,5 раза быстрее, в диапазоне от 0,8 до 7,9 раза
Тесты кэш-памяти и оперативной памяти L1 / L2
MemSpeed - вычисления с плавающей запятой и целочисленные вычисления - получает кэш 2,2, оперативная память 1,5.
BusSpeed - целочисленная потоковая передача данных и пакетное чтение - потоковая передача 2.0 x L1, 1.5 x L2, 1.25 x RAM - пакеты 2,6 x L1, аналогичные L2 и RAM.
RandMem - последовательное и случайное чтение и чтение / запись из одной и той же сложной структуры индексации - обычно немного быстрее при чтении, но аналогично / медленнее чтения / записи.
Кроме того, существуют версии MP, описанные выше, и делается попытка измерить максимальный SP MFLOPS (MP-MFLOPS) с максимумом 4 ядра: 2,7 GFLOPS 32 бит и 5,5 GFLOPS 64 бит. Существует также версия, использующая встроенные функции NEON, где 64-битный компилятор генерирует альтернативные инструкции со скоростью до 10,8 GFLOPS против 5,7 у 32-битной - см. Список сборки. У меня также есть версии этих тестов для Windows 10 и Android-планшетов на базе Intel Atom - 64-битная и 32-битная Windows, 32-битная Android - полная 64-битная, не полностью реализованная - 64-битное ядро Linux, но 32-битная Android.
http://www.roylongbottom.org.uk/android%20benchmarks.htm
Кроме того, у меня есть 32-битная и 64-битная версии Linux / Intel.
Рой Лонгботтом
источник
Вот как я собираю ядро RPI3 Aarch64:
Во-первых, вам понадобится Linaro aarch64: https://releases.linaro.org/components/toolchain/binaries/latest/aarch64-linux-gnu/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu.tar .xz
Распакуйте, положите куда-нибудь, например: /opt/toolchains/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu
Вот мой скрипт для загрузки прошивки, VC, исходного кода ядра и компиляции ядра с модулями. Я использую этот скрипт для своего сервера Jenkins, поэтому выбираю то, что вам нужно:
Теперь просто распакуйте BOOT.tar.gz и вставьте его в свой sdcard.
ВАЖНО : Вы должны поместить arm_control = 0x200 в config.txt, чтобы он загрузил ядро AARCH64
Или вы можете просто использовать мой предустановленный на моем Jenkins: https://jenkins.sandpox.org/job/RPI3_KERNEL_AARCH64/
источник
На сегодняшний день кажется, что Fedora и Archlinux хорошо поддерживаются.
Если вы пойдете по пути Arch, это поможет вам создать образ (для меня это было в linux / rpi3
make linux
), и это поможет вам запустить Wi-Fi.Если вы хотите быть уверены, какая у вас малина, используйте это руководство .
Также
arm_control=0x200
не рекомендуется иarm_64bit
должен использоваться вместо этого в/boot/config.txt
.источник