>> Это не главное. Вы уверены, что из этого лога вы понимаете как
>> стартует система? Я например не увидел в нем многих основополагающих вещей.
>> Например в какой момент монтируется /sys /proc /tmp, в какой последовательности
>> и с какими параметрами?
> Данные файловые системы монтирует сам systemd, так как уже сложно представить себе
> систему, где данные файловые системы не монтируются или монтируются не туда
> (или с другими параметрами).В этом и проблема. Как например произвести необходимые действия до монтирования этих fs?
У меня например есть модуль звуковой платы (emu1212m) который очень долго грузится - там fpga программируется при каждой загрузке. Я хочу чтобы первым действием инита была его загрузка в отдельном процессе.
>> Вместо того, чтобы лечить болезнь, ее просто пытаются спрятать. Действительно ли вам
>> нужны все эти сервисы, что бы потом строить зависимости и думать
>> как их параллельно запустить? Озвучите ваши задачи и необходимые для них
>> сервисы и на чем основан их выбор.
>> Телефон (android) - это показатель как не нужно делать. Количество сервисов там
>> раздуто выше всякой меры.
> А я и не об Андроиде говорил. Есть ещё Tizen и Sailfish.
> Количество разных сервисов/демонов достигает нескольких десятков, и иногда переваливает
> за сотню. В телефоне много подсистем, нуждаюзихся в своих сервисах --
> сенсоры, модем, GPS, аудио, WiFi...
Вы считаете этот подход правильным? Почему под gnu/linux можно обойтись минимумом демонов и при этом будут и сенсоры и куча другой периферии?
>> Там особо вариантов нет. Да и systemd, запускающий сотни команд, тянущий cgroups/d-bus/
>> udev/etc по определению не может быть быстрее 20-30 команд шела.
> Как раз systemd и позволяет не запускать сотни команд. Init-скрипты плохи тем,
> что для каждого скрипта инстанциируется свой процесс bash'а (ну, или какой
> шелл в системе стоит). А это тоже занимает времени.
Сколько занимает, учитывая, что в системе инициализации обычно используется ash/dash? Да и ни кто не заставляет запускать скрипты десятками. У меня например четыре скрипта.
> В случае
> же с systemd есть возможность, вообще, не запускать shell-процессы, ограничившись короткими
> ini-файлами, и запускать, непосредственно, процессы сервисов.
Вы просто гляньте выложенный вами лог и скажите сколько процессов будет порождено пока система загрузится. Даже проще - напишите ps сразу по завершению загрузки и назовите pid последнего процесса.