LINUX.ORG.RU

LINUX STARTUP


0

0

Приветствую всех.

Есть ли способ ускорения запуска Linux до единиц секунд?

Например можно ли не исполнять стартовые скрипты а вытягивать с диска дамп в память?


anonymous

Самого этот вопрос довольно сильно (слава Богу не слишком сильно) волновал. Найти ничего по этому вопросу не смог (кроме разных ссылок на RTOS)... ;-(

Если вдруг чего-то удастся найти не сочтите за труд: tarle@mail.ru

tarle
()

>Есть ли способ ускорения запуска Linux до единиц секунд?

Например отрубить автоматический запуск при загрузке всех лишних служб.

>Например можно ли не исполнять стартовые скрипты а вытягивать с диска дамп в память?

Что имеется в виду?

Ikonta_521
()

имхо стартовые скрипты все равно запускать немножко желательно -- ситуация то динамическая -- скрипты могут по разному вести себя от времени хотя бы, от файлов типа /forcefsck

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

2 dilmah

>имхо стартовые скрипты все равно запускать немножко желательно

Логично, соглашусь. Но идея в том, что не все стартовые скрипты строго обязательны. Часть из них (зависящую от назначения конкретной машины) можно опустить.

Ikonta_521
()

Я так понимаю, человек спрашивает про аналог виндового hybernate

anonymous
()

Убей SysV-init.
Поставь simpleinit из util-linux.
Создай файл /etc/rc (это будет скрипт инициализации системы).
Впиши туда только то, что тебе реально нужно.
Пересобери ядро, оставив в нем только то, что нужно сейчас.
При сборке ядра вкомпили все внутрь (чем меньше модулей -- тем лучше).
Hint: русскую раскладку для клавы тоже можно вкомпилить прямо в
ядро (лично я так и сделал).

У меня при таком подходе старт linux около 3 секунд на Athlon-700.
Главные тормоза -- при автодетекте CD-ROM'а (около 1.5 секунд).
На P-100 без CD-ROM'а старт около 2 секунд.

Для справки -- вот весь /etc/rc с Athlon-700:

#!/bin/bash
export PATH=/sbin:/usr/sbin:/bin:/usr/bin
ulimit -c 0
umask 022
e2fsck -p /dev/hda2
if [ $? -gt 1 ]; then
  echo 'ATTENTION! e2fsck failed, fix filesystem and reboot!'
  bash </dev/console &>/dev/console
fi
hdparm -qm16 /dev/hda
mount -n -o remount,rw,noatime /
hwclock --hctosys
>/etc/mtab
rm /etc/mtab~ /var/run/*
mount -f /
mount -a -t proc,devpts,tmpfs
>/var/run/utmp
setfont /usr/share/kbd/Cyr_a8x16.psfu.gz -m /usr/share/kbd/koi2alt
hostname dvl.lhs
ifconfig lo up 127.0.0.1
setpci -d 12eb:0002 40.B=ff >/dev/null
syslogd -m 0
klogd
gpm -a 2 -d 4 -t imps2 -3

Когда нужны иксы, они стартуются командой `x', которая определена
в /etc/bash.rc следующим образом:
alias x='xinit /etc/X11/xinit.conf -- /usr/X11R6/bin/XFree86 -nolisten tcp -logverbose 0 -quiet -a 3'

Старт иксов -- около 1.5 секунд.
Файл /etc/X11/xinit.conf выглядит так:
xmodmap -e "keycode 113 = Alt_R" -e "keycode 115 = Mode_switch" -e "keycode 116 = Mode_switch" -e "keycode 117 = ISO_Next_Group" -e "remove mod1 = Alt_L" -e "add mod3 = Alt_L"
xkli &
xsnd &
exec fvwm

В качестве WM для иксов не юзай монстров типа KDE.
Поставь fvwm 1.x (2.x не ставь -- грузоемкая вещь).

Вообще избегай всяких монстрообразных программ (особенно писанных
на Qt, Kylix и Java) -- и твоя машина будет летать не только при
boot'е, но и во время работы тоже.

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