LINUX.ORG.RU

Особенности реализации ядер Линукс на ARM архитектуре

 ,


0

1

Добрый день, уважаемые форумчане! Я только начинаю погружаться в линукс на работе и для начала мне задали разобраться особенностях реализации ядер Линукс на ARM архитектуре, но все что я накопал - это то ,что на каждое устройство arm, нужен собственный дистрибутив, а почему это происходит ,я не понимаю. Помогите разобраться!)

Если есть какие-то книги по ядру линукс ,не обязательно связанные с arm, посоветуйте пожалуйста!

arm - нестандартное васянское говно без acpi/uefi (хотя сейчас уже начинают их там внедрять)

anonymous
()

нужен собственный дистрибутив

Armbian смотрит неодобрительно.
Под каждую плату нужна своя сборка ядра и всякие навороты в виде блобов для 3д и декодирования видео, например.
Дистрибутив тут роли не играет.

devl547 ★★★★★
()
Ответ на: комментарий от devl547

А почему для x86 подойдет одна и та же сборка, а для arm каждый раз нужно свою сборку делать? в чем разница между этими архитектурами в этом плане?

krokodil
() автор топика
Ответ на: комментарий от anonymous

по-моему, дебилы это те, которые не знают, зачем нужна стандартизация, но любят nih на коленке, тк по их менинию они «способны»

anonymous
()
Ответ на: комментарий от anonymous

корбу достандартизировали до такого, что 3.0 так никто и не реализовал.

в армах далашит и есть стандарт, читай и делай. но дебил не будет делать, он надеется на «стандартизацию», что бы дядя ему по стандарту всё сделал и можно было скачать анонимно без смс и заюзать на халяву.

anonymous
()
Ответ на: комментарий от anonymous

в даташите на арм нет кучи того, чем занимается фирмварь

сомневаюсь что ты самолично написал полностью фирмарь железки, с которой это пишешь, как и вся твоя семья и знакомые, использующие разнообразные компы

anonymous
()
Ответ на: комментарий от anonymous

в даташите на арм нет кучи того, чем занимается фирмварь

ты не поверишь, но я вот именно сейчас сижу и пишу фирмварь для арм. по даташиту.

anonymous
()
Ответ на: комментарий от anonymous

вот когда напишешь для нескольких поколений массовых устройств, на которые можно будет устанавливать разные операционные системы - тогда поговорим

anonymous
()
Ответ на: комментарий от anonymous

типичная отговорка. вот когда маск на марсе высадиться - тогда поговорим. а пока не высадился - россия космическая держава.

anonymous
()

Процесс загрузки на ARM (+/-)

  1. После включения начинает работать встроенный загрузчик, которому за счёт аппаратной подтяжки пинов можно сказать где искать следующую часть (MMC, eMMC, USB, … + смещение) (актуально для всяких Dev KIT).
  2. Зависящий от процессора загрузчик от вендора. Первоначальная настройка выводов и загрузка приложения или следующего загрузчика, например U-Boot.
  3. U-Boot специально собранный для конкретной платы. Настройка выводов, загрузка Device Tree и Linux Kernel.
  4. Linux Kernel …

Таким образом от конкретной платы зависят:

  1. Загрузчик вендора,
  2. U-Boot
  3. Настройки U-Boot
  4. Device Tree

А ядро должно содержать все необходимые драйвера, указанные в Device Tree. Тогда оно может быть почти любым. Но выгоднее собрать собственное минимальное ядро.

Дистрибутив может уже быть почти любым.

Device Tree нам нужен для указания имеющегося оборудования, т.к. всяких Plug-And-Play, BIOS, UEFI у ARM нет. В итоге получается такое безобразие: https://github.com/torvalds/linux/tree/master/arch/arm/boot/dts

З.Ы.: Всё это плюс/минус

AlexVR ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.