Оружие Linux что это такое
Обновлено: 21.11.2024
Здравствуйте, пользователи RPI!
Я большой поклонник RPI, и у меня есть вопрос. В чем основное различие между дистрибутивами ARM и x86 Linux? Структура системы такая же? Могу ли я установить все виды программ, как на ПК с Linux?
Я хочу начать изучать Linux и хотел бы знать, применимы ли навыки, которые я приобретаю в Debian или Fedora на Raspberry PI, к версиям для настольных ПК или есть ли разница?
Разница в том, что ЦП, ARM и x86 (80x86) несовместимы по двоичному коду, поскольку инструкции их машинного кода не взаимозаменяемы.
Таким образом, снаружи Linux ARM не сильно отличается от Linux x86, но внутри их двоичный код отличается, и программное обеспечение должно быть предварительно согласовано, чтобы соответствовать целевой архитектуре, то есть ARM или x86.
Спасибо вам обоим. То есть на самом деле это означает, что я не могу просто загрузить любой пакет, который захочу, и установить его в свой дистрибутив RPI Linux? Есть ли список пакетов, поддерживаемых RPI Linux?
Проще говоря, центральный процессор — это совершенно другое, поэтому любое программное обеспечение должно быть написано для взаимодействия с любым процессором, установленным в машине
Архитектура ARM представляет собой ЦП RISC (вычисления с сокращенным набором команд)
Архитектура x86 — это ЦП CISC (компьютер со сложным набором инструкций)
На эту тему можно было бы написать целый пост на форуме, но GOOGLE — ваш друг.
Набор навыков будет перенесен, но у каждой операционной системы и установки могут быть свои особенности. Это означает, что при переходе на другую машину вам, возможно, придется выяснить небольшие различия, которые возникают. Linux есть Linux, и независимо от того, какой дистрибутив вы используете, основные вещи одинаковы. Ваша среда с графическим интерфейсом может быть другой или такой же, в зависимости от настроек по умолчанию для вашей конкретной установки, но даже в этом случае вы изучите принципы и сможете перенести обучение на другую систему.
СОВЕТ ФОРУМА. Чтобы просмотреть чью-то историю сообщений, войдите в систему, нажмите на имя пользователя, а затем нажмите "Искать сообщения пользователя". || Запуск ArchLinuxArm на модели 2B и модели B 512 МБ
Следующая выдержка взята из файла README ядра Linux и является официальным описанием ядра Linux:
Linux — это клон Unix, написанный с нуля Линусом Торвальдсом при содействии разрозненной команды хакеров из Сети. Он направлен на соответствие POSIX.В нем есть все функции, которые вы ожидаете от современной полноценной Unix, включая настоящую многозадачность, виртуальную память, общие библиотеки, загрузку по запросу, совместное копирование при записи исполняемых файлов, правильное управление памятью и работу в сети TCP/IP.
Он распространяется под лицензией GNU General Public License.
Хорошо, но что такое ARM Linux?
ARM Linux — это перенос успешного ядра Linux на машины на базе процессоров ARM, главным руководителем которого является Рассел Кинг, при участии многих других. ARM Linux практически постоянно разрабатывается различными людьми и организациями по всему миру.
Ядро ARM Linux переносится или было перенесено на более чем 500 различных вариантов машин, включая полные компьютеры, сетевые компьютеры, портативные устройства и оценочные платы.
Как Рассел вписывается в это?
Рассел отвечает за обеспечение постоянной поддержки базовой архитектуры ARM в ядре Linux. Это включает в себя отслеживание основной линии разработки ядра, а также проверку и интеграцию исправлений исходного кода для SoC и платформ на базе ARM. Для этого может потребоваться адаптация или широкомасштабные изменения, чтобы кодовая база оставалась чистой и пригодной для сопровождения.
Кроме того, Рассел может также время от времени нести ответственность за другие части ядра Linux, такие как некоторые драйверы и подсистемы.
Как вписываются другие люди?
Рассел предпочитает получать исправления от специалистов по сопровождению платформы, которые выполняют ту же работу, что и описанная выше, но для своей собственной платформы. Это создает в сообществе древовидную структуру, которая, в свою очередь, позволяет масштабировать сообщество.
У специалистов по обслуживанию платформы также могут быть исправления для других частей ядра Linux, таких как драйверы сетевых устройств. Такие исправления отправляются соответствующему специалисту по сопровождению ядра Linux для подсистемы или драйвера устройства, а не напрямую Расселу.
Что насчет лицензирования?
Хотя исходный код ядра Linux легко доступен, ядро Linux является лицензионным программным обеспечением, а условия лицензирования изложены в Стандартной общественной лицензии GNU.
Вкратце это означает, что любой, кто получает копию ядра Linux в двоичной форме, независимо от того, как он получил эту копию, имеет право на исходный код, используемый для создания именно этого двоичного файла ядра Linux. Производные работы ядра Linux также попадают в эту категорию. Это право не может быть ограничено или удержано каким-либо образом.
Для получения дополнительной информации см. стандартную общественную лицензию GNU, которую можно найти в файле "COPYING" в исходном коде ядра Linux.
Мы являемся портом Arch Linux, целью которого является простота и полный контроль для конечного пользователя. Мы предоставляем легкую базовую конструкцию, которая позволяет вам формировать систему в соответствии с вашими потребностями.
Оптимизировано
Мы создаем оптимизированные пакеты для аппаратных ARMv7 с наборами инструкций NEON и ARMv8 AArch64, чтобы использовать каждую платформу в полной мере.
Обновлено
Новые версии программного обеспечения упаковываются по мере их выпуска, поэтому вы всегда будете в курсе стабильных выпусков программного обеспечения.
Arch Linux ARM — это дистрибутив Linux для компьютеров ARM. Мы предоставляем целевую поддержку ядра и программного обеспечения для ARMv7 с жестким плаванием с наборами инструкций NEON и ARMv8 AArch64 на различных потребительских устройствах и платформах разработки. Наше сотрудничество с Arch Linux предоставляет пользователям лучшую платформу, новейшие пакеты и поддержку при установке.
Arch Linux ARM продвигает философию Arch Linux, заключающуюся в простоте и ориентированности на пользователя, ориентируясь на компетентных пользователей Linux и предоставляя им полный контроль и ответственность за систему. Предоставляются инструкции, помогающие ориентироваться в нюансах установки на различных платформах ARM; однако сама система мало чем поможет пользователю.
Для всего дистрибутива предусмотрен цикл непрерывного выпуска, который можно обновлять ежедневно с помощью небольших пакетов вместо огромных обновлений по определенному графику выпуска. Большинство пакетов не отличаются от того, что изначально было выпущено вышестоящим разработчиком.
Спонсоры хостинга
Arch Linux ARM благодарна нашим спонсорам хостинга, которые помогают поддерживать свет и позволяют нам сосредоточиться на разработке.
Спонсоры оборудования
И большое спасибо отдельным лицам и компаниям, которые предоставили нам оборудование и ресурсы для продолжения разработки.
Авторское право © Arch Linux ARM, 2009-2022 гг.
Зарегистрированный товарный знак Linux® используется в соответствии с сублицензией от LMI, эксклюзивного лицензиата Линуса Торвальдса, владельца товарного знака во всем мире.
Название и логотип Arch Linux™ используются с разрешения руководителя проекта Arch Linux.
Изучите ресурсы для разработчиков, загрузите программное обеспечение и вспомогательные материалы для Arm Compiler для Linux.
Перейти к разделу:
Компилятор Arm для Linux | Компоненты | Получить программное обеспечение
Документация | Получить поддержку
Компилятор Arm для Linux
Компилятор Arm для Linux обеспечивает самую раннюю, полную и точную поддержку новейших архитектурных функций и расширений архитектуры Arm. Arm Compiler для Linux поддерживает все новейшие процессоры на базе Neoverse.
Компилятор Arm Compiler для Linux — это зрелая цепочка инструментов, предназначенная для разработки серверных приложений и приложений для высокопроизводительных вычислений (HPC). Она поддерживается во всех ведущих дистрибутивах Linux: RHEL, SLES и Ubuntu.
Компилятор Arm для Linux включает в себя множество мощных методов оптимизации, повышающих производительность, в том числе низкоуровневое планирование инструкций для микроархитектуры, включая поддержку инструкций Scalable Vector Extension (SVE).
Компилятор Arm Compiler для Linux доступен как часть Arm Allinea Studio, коммерческого комплексного пакета разработки Arm для платформ на базе Arm.
Компоненты
- армклэнг | armclang++ (компилятор Arm C/C++):
- Построен на современных технологиях LLVM и Clang.
- Разработан для высокопроизводительных вычислений и научных кодов с поддержкой стандартов C/C++, стандартов OpenMP и кода SVE.
- Высокая совместимость с исходным кодом, изначально написанным для GCC.
- Реализует спецификации, включая ABI для 64-разрядной архитектуры Arm, языковые расширения Arm C (ACLE) и ACLE для SVE и SVE2. ол>
- Построен на современных технологиях LLVM и Flang.
- Разработан для высокопроизводительных вычислений и научных кодов с поддержкой современных стандартов Fortran, OpenMP и кода SVE. ол>
- Подпрограммы библиотеки поддерживаются как для интерфейсов Fortran, так и для C/C++.
- К поддерживаемым библиотечным процедурам относятся: BLAS, LAPACK, функции БПФ, разреженная линейная алгебра и libamath.
- Библиотеки производительности Arm созданы с использованием OpenMP для множества процедур BLAS, LAPACK, FFT и разреженных процедур, чтобы максимально повысить производительность в многопроцессорных средах.
- Также доступна бесплатная версия библиотек производительности Arm для платформ Neoverse, созданная GCC. Дополнительные сведения см. в разделе Библиотеки производительности Arm (бесплатная версия).
Получить программное обеспечение
Попробуйте компилятор Arm для Linux
Получите бесплатную 7-дневную пробную лицензию на Arm Compiler для Linux в Arm Allinea Studio. Вы также можете загрузить наш пробный пакет, чтобы использовать инструменты с примерами кода.
Хотите купить лицензию?
Чтобы купить лицензию на Arm Compiler для Linux, вы должны купить лицензию на Arm Allinea Studio:
Дополнительную информацию о лицензиях см. в информации о лицензировании для Arm Allinea Studio.
У вас уже есть лицензия?
Чтобы узнать о последних изменениях в Arm Compiler для Linux, ознакомьтесь с историей выпусков Arm Allinea Studio.
под Intel я знаю, что могу посмотреть на результат uname -m, чтобы узнать, является ли моя ОС 32-битной или 64-битной, но под ARM это дает:
что у меня 32-битная ОС, но как узнать это проще?
У меня нет доступа к машине ARM, но каковы результаты uname -a и gcc -v ? Это может быть полезно.
ARM был последним из 32-битных процессоров, перешедших на 64-битный (за исключением тех, которые умерли). Большинство из них перешли на 64-битную версию, а затем умерли из-за плохого маркетинга — если предположить, что быть лучше — достаточно. Intel x86 был предпоследним, хотя именно AMD добавила 64-разрядную версию.
6 ответов 6
Существует несколько градаций, поскольку вы можете запускать 32-разрядную или смешанную операционную систему на 64-разрядном процессоре. См. 64-битное ядро, но все 32-битные исполняемые процессы ELF работают, как это? для подробного обсуждения (написано для x86, но по большей части относится и к arm).
Вы можете найти модель процессора в /proc/cpuinfo. Например:
ARMv7 (и более ранние версии) являются 32-разрядными. ARMv8 представляет 64-битный набор инструкций.
Я не оспариваю ваш ответ, но, к сожалению, Android ЯВЛЯЕТСЯ LINUX, поэтому ГДЕ-ТО должна быть какая-то команда, которая показывает это локально, а не читать документацию на какой-либо странице
@THESorcerer Android использует ядро Linux, но это не система Linux. У него нет пользовательских наземных инструментов Linux (только очень небольшое подмножество). Я думаю, что в Android 64-разрядная поддержка поддерживается в базовой ОС, поэтому cat /proc/$$/maps сообщит вам, является ли система 64-разрядной или 32-разрядной, из командной строки adb.
Я полагаю, что Raspberry Pi 3, который является ARMv8 (CRC, необязательно Crypto), сообщит о armv7l, даже если это ARMv8. Поэтому я почти уверен, что будет сообщено о неправильном процессоре.
@jww Если он сообщает armv7l , это означает, что вы используете 32-битное ядро. Вы можете запустить 32-битное ядро на 64-битном процессоре. Если вам нужна информация о ЦП, прочтите /proc/cpuinfo .
Как отмечает Ричард, все варианты armv7 являются 32-разрядными, поэтому нет лишней метки armv7-32 и т. д.
В системе Linux вы можете легко, хотя и не полностью, проверить это, изучив обычный исполняемый файл:
Я говорю "не совсем", потому что 32-разрядные исполняемые файлы можно запускать в 64-разрядной системе.
Кажется, в /proc или /sys нет ничего надежного; вывод /proc/cpuinfo может дать некоторые важные подсказки. Если по какой-то причине вам нужна автоматическая проверка, создание таблицы, сопоставленной с полем «имя модели», кажется одним из потенциально надежных методов (другие поля, включая «модель», «семейство процессоров» и т. д., выглядят необязательными — они не нужны). у меня вообще не появляется на процессоре Broadcom 2708 ARMv6).
Читайте также: