Есть вопрос?
Зайди на форум

Поиск на сайте: Advanced

Denix - новый дистрибутив Linux. Русификация Ubuntu и установка кодеков

dkws.org.ua
Форум сайта dkws.org.ua
 
Главная    ТемыТемы    АльбомАльбом    РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

KExec - перезагрузка без входа в BIOS

 
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> Общий форум
 
Автор Сообщение
Anderson

Завсегдатай


Зарегистрирован: 08.07.2006
Сообщения: 642
Откуда: localhost

СообщениеДобавлено: Вс Янв 02, 2011 11:11 pm    Заголовок сообщения: KExec - перезагрузка без входа в BIOS
Ответить с цитатой

Может, для большинства это не открытие, но все же напишу.
Когда локализовывал Арчевские скрипты загрузки/перезагрузки, напоролся на предусмотренную интересную вещь - kexec. Как говорит man,

Цитата:
kexec is a system call that enables you to load and boot into another kernel from the currently running kernel. kexec performs the function of the boot loader from within the kernel. The primary difference between a standard system boot and a kexec boot is that the hardware initialization normally performed by the BIOS or firmware (depending on architecture) is not performed during a kexec boot. This has the effect of reducing the time required for a reboot.


Вызывается он в скрипте /etc/rc.shutdown . Единственная проблемма - перед запуском ядра через kexec нужно собственно ядро и initrd загрузить (через тот же kexec). Итак, открываем /etc/rc.local (или любой другой скрипт автозагрузки, если у вас не Арч, и пишем туда:

Код:
kexec -l <путь_к_ядру> --append=$(cat /proc/cmdline) --initrd=<путь_к_initrd>


у меня, например, так:

Код:
kexec -l /boot/vmlinuz26 --append=$(cat /proc/cmdline) --initrd=/boot/kernel26.img


ПРИМЕЧАНИЕ: Если у вас не Арч, то вам придется найти и заменить в своем дистрибутиве в скрипте перезагрузки системы команду reboot на команду "exec -e". В Арче эта строка уже присутствует в файле /etc/rc.shutdown .

Теперь при INIT 6 (сигнал перезагрузки) вместо перезагрузки BIOSа вы увидите заново загрузку ядра.

ПРИМЕЧАНИЕ. Вполне возможно, что некоторые устройства перестануть работать. Но у меня система полноценно загрузилась - и графика, и звук, и даже мой капризный броудкомовский wlan.
_________________
ArchLinux + Enlightenment 17 (E17)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение anderson.dunai@gmail.com Моб. телефон ICQ Number
Anton99

Neo


Зарегистрирован: 26.11.2006
Сообщения: 1676

СообщениеДобавлено: Пн Янв 03, 2011 12:03 am    Заголовок сообщения: Re: KExec - перезагрузка без входа в BIOS
Ответить с цитатой

Anderson писал(а):
Когда локализовывал Арчевские скрипты загрузки/перезагрузки, напоролся на предусмотренную интересную вещь - kexec.
Deja vu, я напоролся на него тоже копаясь в инитскриптах.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> Общий форум Часовой пояс: GMT
Страница 1 из 1
 Главная страница сайта
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
© Колисниченко Денис