Jump to content

    
jenya7

Linux без GUI

Recommended Posts

21 minutes ago, makc said:

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

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

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

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

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

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

 

22 minutes ago, one_eight_seven said:

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

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

Share this post


Link to post
Share on other sites
2 минуты назад, aaarrr сказал:

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites
On 4/13/2020 at 4:00 AM, NStorm said:

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
2 hours ago, iddqd said:

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

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

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

Share this post


Link to post
Share on other sites
7 часов назад, iddqd сказал:

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

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

Share this post


Link to post
Share on other sites
18 minutes ago, mantech said:

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.