LINUX.ORG.RU

orange pi + systemd

 


0

1

захожу в boot и не вижу там systemd но в ядре systеmd включено. скажу больше что с выключеным в ядре systemd ядро не запускается. объясните что в системе требует включения этой опции при отсутствии самого файла systemd? и хочу сказать что я не стороник и не противник. просто хочу понять зависимость.

Перемещено xaizek из mobile

захожу в boot

Что значит boot в данном случае?

в ядре systеmd включено

Какой дистрибутив использовался для установки системы? Ядро сами собирали, либо используете стандартное ядро дистрибутива?

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

Что значит boot в данном случае?

хороший и нужный вопрос. под boot я понимал директорию где лежат все необходимые файлы для загрузки ядра и системы а также само ядро. Papant, я просто хочу узнать какую роль играет systemd в загрузке orangepi. это не проблема которая требует решения. просто это вопрос как связан systemd и загрузка orangepi и почему требуется включения systemd в ядро при отсутствии systemd? это общий вопрос видимо для всех плат

Stierlitz_
() автор топика
Последнее исправление: Stierlitz_ (всего исправлений: 1)

может речь об initramfs? У systemd вроде как есть модули для него, видимо в этом дистре они используются

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

как связан systemd и загрузка orangepi

А такой дистрибутив существует?

включения systemd в ядро

Это как? 😲

Ядру можно лишь задать параметры поддержки систем инициализации, поскольку systemd работает в пользовательском пространстве операционной системы.

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

какую роль играет systemd в загрузке orangepi

В такой постановке вопроса — никакую.

Прочти хотя бы, что такое «система инициализации», в Википедии. Если после этого останутся вопросы, задавай.

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

systemd запускается из инитрамфс. если я выключу initramfs то выключу и работу systemd. это предположение. я только пытаюсь разобраться в ядре. но я хотел понять как связаны ядро и systemd помимо упомянутого. ответ был выше что никак. но что-то мне подсказывает что в ядре есть еще зависимости. может в kernel hacking?

Stierlitz_
() автор топика

systemd-init в /usr/ находится и не может грузиться если /usr/ отдельным разделом без initramfs

nanosecond
()
Последнее исправление: nanosecond (всего исправлений: 2)
Ответ на: комментарий от Stierlitz_

загрузчик (скорее всего uboot) загружает ядро и initiramfs, после чего запускает ядро, которое использует initramfs, если ему нужны какие-то модули/прошивки/программы и после старта ядра оно стартует систему инициализации (systemd). Процессор стартует загрузчик по принципу - по данному адресу лежит исполняемый код. Вся периферия мапиться как адреса в памяти.

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

спасибо вам огромное но скажите зачем пихают модули необходимые для загрузки в systemd? почему не включают сразу в ядро? в чем смысл такого?

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

В initramfs только (systemd - это конечно комбайн, но его изначальная задача была запуск необходимых служб (cron sshd ntpd network и т.п) ). Разделение на модули преследует несколько целей:

  • экономия памяти: модули не всегда нужны, и потому нечего загрязнять оперативку, часть модулей загружаются только когда подключается устройство.
  • если модуль упадёт - его можно перезапустить, если упадёт ядро - это крах системы.
  • есть blob - это стороннее закрытое ПО с оберткой, его нельзя скомпилировать в ядро (политика gnu), оно поставляется отдельно (например драйвера nvidia)
  • Удобство сборки. В initramfs обычно помещают модули, которые по каким то причинам нельзя впихнуть в ядро, но которые должны погрузиться до момента определения устройств (например драйвера: шифрования, райд массивов, видеокарт)
Silerus ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.