Ядро Linux и дистрибутив, процесс установки и требования (ARM и x86)-Как это на самом деле работает?

Добавьте это в свой профиль оболочки или просто попробуйте:

myclone () { cd $1; /full/path/to/clone.py }

И вы можете сделать

myclone../folderName
0
02.05.2021, 18:34
2 ответа

why is this so unachievable?

Linux может поддерживать что угодно под Sun, пока вы пишете патчи для поддержки конкретной uArch и аппаратных компонентов. Прямо сейчас Linux переносится на устройства Mac, работающие на SoC M1.

Actually the reason I am writing all these sentimental sentences is to be able to understand how does Linux actually works.

Принципиально мало что нужно понимать. Есть архитектуры, начиная с ЦП, у ЦП своя ISA и для поддержки Linux на конкретной архитектуре нужен компилятор, который может выводить код для этой ISA и эту поддержку ISA в ядре. Затем, после того, как вы поддержите ISA, вы начнете поддерживать примитивы более высокого уровня, такие как доступ к ОЗУ, многопроцессорность, хранилище/ввод ввода-вывода и т. д.

For example I use an AMD based ultrabook that has an CPU that is able to run any OS.

Это неверно. Ультрабуки на базе AMD только работают под управлением операционных систем, изначально поддерживающих x86 (-64 )ISA.

The thing that catches me is that I would love to install Linux on my tablet as well.

И вы вполне можете. На самом деле ваш планшет уже работает под управлением ядра Linux(со значительными исправлениями поставщика, но это по-прежнему ядро ​​Linux ). Разница с рабочим столом Linux заключается в том, что устройства Android имеют очень другое другое пользовательское пространство.

"THIS THING COULD BE A LINUX MACHINE!"

Настольный Linux не так хорош для интеллектуальных устройств с сенсорным вводом. Причина, по которой все эти устройства работают под управлением Android или ее производных -, заключается в том, что Android был специально разработан для них.

So far I did install an Ubuntu version of Linux that runs from terminal. That is amazing but still... Is it that impossible to install a full fledged Linux distro on a machine that has an ARM based CPU, RAM and storage?

Да.

Please let me understand why is this impossible and if there is any work-around's to make it possible!

Google — ваш лучший друг.

And if there is someone able to explain properly why Linux cannot be installed on this machine in an easy manner, as if it is installed on a laptop or desktop.

Устройства ARM имеют очень специфическую архитектуру, и для ее использования ядро ​​Linux должно знать, как с ней работать. Ядро Linux для Android уже исправлено, чтобы обеспечить полную поддержку такого оборудования.Но одного ядра недостаточно :нужны драйвера и прошивки для сотового модема (которые чаще всего предоставляются только в бинарном виде из-за патентов ), WiFi адаптер, GPU, датчики и т.д. и т.п. и т.п. Ядро ванильного Linux часто не знает, как работать с такими устройствами, и даже если у него есть драйверы для них, вам все равно понадобится прошивка, которая их правильно инициализирует.

Все, что я написал, можно загуглить за полчаса. Пожалуйста, проявите усердие и начните самообразование, если вам это действительно интересно.

1
28.07.2021, 11:35

Чтобы упростить другой ответ...

Точно так же, как существуют разные ЦП (x86/AMD64, ARM, M68K, 65x02, Z80 и многие другие, не считая множества различных подгрупп -), существует множество других способов, с помощью которых компоненты «соединены» друг с другом. ОЗУ 8 -или 16 -бит? Сколько бит составляет адресное пространство? Есть ли дополнительная схема между ЦП и ОЗУ для «сопоставления» логического адреса памяти с физическим чипом ОЗУ?

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

Тем не менее, многие вычислительные устройства на самом деледействительнозапускают что-то вроде ядра Linux на более низких уровнях. Затем они создают специальную операционную систему (, такую ​​как ОС Android )поверх нее, специально разработанную для работы с конструкцией аппаратного обеспечения и назначением устройства (, платформой/средой ). Например, ваш планшет обычно имеет сенсорный экран для взаимодействия с пользователем и ввода данных, но не имеет клавиатуры и мыши. Ваш настольный ПК обычно (не имеет )сенсорного экрана, но, вероятно, имеет клавиатуру и мышь. Оба могут добавлять опции/периферийные устройства для их расширения, чтобы вы могли это сделать, но для этого вам потребуются соответствующие аппаратные интерфейсы и драйверы.

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

0
28.07.2021, 11:35

Теги

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