LINUX.ORG.RU

На чём лучше писать сценарии загрузки ОС Linux...?


0

2

ОС - Embedded Linux Архитектура - ARM

Хочется как-нибудь ускорить работу сценариев загрузки. Сейчас они написаны на bash (может быть не совсем корректно выразился...). Хотелось бы узнать, а что если всякие bash-скрипты в /etc/init.d/rc* поменять на например Perl-скрипты, или на Питон, или на еще что-нибудь? Будет ли выигрышь в скорости загрузки? А может быть вообще обратить внимание на какую-нибудь systemd систему? Или вообще, взять и написать свой собственный init. Положить его в /sbin/ и всё.

Спасибо.


> а что если всякие bash-скрипты в /etc/init.d/rc* поменять на например Perl-скрипты, или на Питон, или на еще что-нибудь?

Так даже в десктопных системах не делают :)

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

Свой инит написать можно, но вряд ли будет заметный выигрыш, а писанины будет много.

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

а что если всякие bash-скрипты в /etc/init.d/rc* поменять на например Perl-скрипты, или на Питон, или на еще что-нибудь?

Так даже в десктопных системах не делают :)

Плюсую. На баше быстрее всего. Можно конечно всякие init-ng посмотреть ещё, если интересно, но не факт, что на ARM заведётся.

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

Ок, спасибо. Я уже выкинул всякую «ненужную фигню» из инита.

Система загружается за 30 секунд (это за вычетом всех задержек на инициализацию USB, MMC и т.д. контроллеров). Как-то многовато мне кажется.

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

> всякие bash-скрипты в /etc/init.d/rc* поменять на например Perl-скрипты, или на Питон, или на

Lua?

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

А стоит ли осваивать этот язык? И зачем он нужен?

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

> На чём лучше писать сценарии загрузки ОС Linux...?

> ОС - Embedded Linux

на си (не шутка).

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

Ты еще спрашиваешь? Конечно реально. А самое главное - написанное можно скомпилировать в двоичный код.

LamerOk ★★★★★
()

Баш для загрузки плох 1й штукой - кривым синтаксисом (для ембедщиков, возможно ещё и размером, не знаю, по чём там нынче килобайты). Слыхал, что plan9-кий rc, вроде, красивее, вероятно что-то можно с tcl-ем сделать.

А с т.з. скорости язык сценариев рассматривать не интересно, он в этом деле несущественнен, нужно сам процесс менять.

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

Ну вообще-то, все команды баша на busybox завязываются...

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

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

ananas ★★★★★
()

Инит написать не так уж проще, а вот некоторые господа тут рекоммендуют писать на Сях, это вполне годных выход. Плюс прикрутить какой-нибудь паралелльный init вместо стандартного. И почистить скриптов — ты должен чётко понимать что, как и зачем делается

Elemir
()

Переписывание хоть на ассемблер ничего не даст, это не узкое место (если скрипты не монструозные). Лучше распараллель загрузку.

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

ога, размер лисповых бинарников ~100M. как раз самое оно для embedded :)

Reset ★★★★★
()

Всем спасибо за мнения. Обязательно учту.

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

>Хочется как-нибудь ускорить работу сценариев загрузки.

А что тебе надо вообще? Ядро загрузить - дело пяти секунд. Ну ещё столько же на прочюхивание юзерспейса. Откуда у тебя 30 секунд? Может ты не с того конца пошёл? Надо стартовые скрипты не вычищать, а написать с нуля, добавляя только действительно нужное.

gnu-eabi
()

На С (не шутка).

Причины уже были озвучены при разработке systemd.

Pavval ★★★★★
()

насколько я себе представляю, самое перспективное в этом - systemd. Писать что нибудь своё - шибко геморно и вряд ли будет сильно быстрее системд..

AndreyKl ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.