Перейти к содержанию
    

21 minutes ago, makc said:

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

Вот степень отлаженности как раз и вызывает определенные сомнения. По моим (весьма скромным, конечно) наблюдениям, systemd хорош

ровно до того момента, пока не перестает работать как надо. Если что-то "сломалось", то найти и устранить проблему весьма непросто,

несмотря на достаточно богатый инструментарий: "- ну как, проблема решена? -да, спасибо! теперь проявляется не на каждой загрузке,

а только на каждой десятой" (с какого-то форума).

В этом плане починить свой велосипед не на один порядок проще.

 

22 minutes ago, one_eight_seven said:

Но обобщать-то зачем?

Хорошо, скажем так: systemd - это не выбор по умолчанию для малой (встраиваемой) системы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 минуты назад, aaarrr сказал:

В этом плане починить свой велосипед не на один порядок проще.

В общем случае это зависит от разработчика. ;-)

Но из моего скромного опыта с systemd пока проблем не было. В то время как с самодельными решениями, которые "на коленке" делают далеко не специалисты этого дела проблемы бывают регулярно. Связано это с тем что объем тестирования (количество пользователей) systemd несравненно больше любого наколенного решения. Хотя что-либо однозначно здесь трудно утверждать.

2 минуты назад, NStorm сказал:

Хорошая презентация, но это все-таки только презентация. Хотелось бы, чтобы кто-то поделился реальным опытом использования systemd в embedded и рассказал о подводных камнях. Они, уверен, есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Укажите init=/your/program в аргументах командной строки ядра Linux и ничего кроме Вашей программы в этой системе работать не будет. В таком случае, не ясно что будет с драйверами, будут ли они работать те что полагаются на udev и многое другое. Но so-библиотеки возможно еще будут работать. Можно просто написать свой init-скрипт и всё же загружать, но только то что надо

 

А вообще, рекомендую Open Embedded или Buildroot - тогда лишнего не будет, если это для реального продакшена. А если так, чтобы память не жралась ГУИшкой, то первый же ответ на askubuntu годится

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 4/13/2020 at 4:00 AM, NStorm said:

runlevels - устаревшая абстракция SysV. Ныне в мире systemd другой подход - target: https://www.tecmint.com/change-runlevels-targets-in-systemd/

Начинающему легче понять идею с runlevels. Да и как бы не было. Я показал куда копать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1) Systemd все же умеет довольно много чего полезного для embedded. Так что ну его, runlevel'ы :)

2) Если в системе нет udev (это можно и с systemd сделать) - ну тогда у вас нет "plug-n-play" как такового и вы либо кладете драйверы в ядро, либо вручную грузите необходимые модули. Ну то-есть например usb-клавиатура заработает только если вы явно вгрузили модуль. Иначе кернел скажет что так-сяк, какой-то usb-девайс, но не будет с ним работать пока модуль не вгружен (как вариант он может быть частью ядра, тогда девайс опознает).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, iddqd said:

1) Systemd все же умеет довольно много чего полезного для embedded. Так что ну его, runlevel'ы :)

Systemd - это жирная ненужная прослойка, превращающая линукс в форточки!

Если вам больше нравится systemd, а не openrc или sysvinit, то линукс вам явно не подходит. Вам прямая дорога куда-нибудь к поделкам микрософта или огрызка, где пользователя держат за безмозглого дегенерата, не способного думать! А если нужна кастомизируемость и свобода, то с systemd это не совместимо вообще никак!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 часов назад, iddqd сказал:

Ну то-есть например usb-клавиатура заработает только если вы явно вгрузили модуль.

В смысле? В ядре нет стандартных ХИД- модулей, или просто пример некорректный?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 minutes ago, mantech said:

В ядре нет стандартных ХИД- модулей, или просто пример некорректный?

Есть. И пример некорректный - нет особого смысла собирать HID отдельным модулем во встраиваемом устойстве.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще почти все роутеры это линуксы без гуй.. обычно это просто загрузчик+ядро+busybox+sshd+сервисы ради которых все и запущено.

Просто отключите запуск X сервера в init.d или systemd.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...