Организация загрузки консоли

Многие наверно сталкивались с проблемой загрузки ядра Linux без графики. В данной статье рассказано, как можно организовать загрузку без графической системы на Ubuntu 7.10

Составил это руководство для себя, но может пригодиться кому-нибудь ещё.

Цель: создать возможность загрузки ядра Ubuntu 7.10 без графики (X Windows), т.е. загружать систему в чистой консоли. Также постараемся добиться того, чтобы при загрузке загрузчика можно было выбирать вариант загрузки (скажем, GUI mode и noGUI mode) и одновременно иметь русскую консоль с нормальной кодировкой.

Итак, приступим

I. Настройка загрузчика GRUB
Сперва нам надо настроить загрузчик GRUB таким образом, чтобы при загрузке компьютера можно было выбрать один из вариантов загрузки системы. По умолчанию, для ядра Ubuntu 7.10 в загрузчике создаётся 3 записи:

Код:
66px; text-align: left;">Ubuntu 7.10, kernel 2.6.22-14-generic

Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)

Ubuntu 7.10, memtest86+
Добавим в меню загрузки пункт загрузки без графики, чтобы оно имело следующий вид:

Код:
82px; text-align: left;">Ubuntu 7.10, kernel 2.6.22-14-generic

Ubuntu 7.10, kernel 2.6.22-14-generic (noGUI mode)

Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)

Ubuntu 7.10, memtest86+
Для этого открываем файл /boot/grub/menu.lst и приводим его к виду:
Код:
498px; text-align: left;"># menu.lst - See: grub(8), info grub, update-grub(8)

# grub-install(8), grub-floppy(8),

# grub-md5-crypt, /usr/share/doc/grub

# and /usr/share/doc/grub-doc/.



## default num

default 0



## timeout sec

timeout 10



## hiddenmenu

#hiddenmenu



## colours

#color cyan/blue white/blue



## password ['--md5'] passwd

# password topsecret

# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/

# password topsecret



## examples

#

# title Windows 95/98/NT/2000

# root (hd0,0)

# makeactive

# chainloader +1

#

# title Linux

# root (hd0,1)

# kernel /vmlinuz root=/dev/hda2 ro

#



## Start Default Options



## default kernel options

# kopt=root=/dev/hda1 ro

# kopt_2_6_8=root=/dev/hdc1 ro

# kopt_2_6_8_2_686=root=/dev/hdc2 ro

# kopt=root=UUID=9b52ff80-b801-44d1-bb02-86f4f7224572 ro



## setup crashdump menu entries

# crashdump=1

# crashdump=0



## default grub root device

# groot=(hd0,0)

# groot=(hd0,1)



## should update-grub create alternative automagic boot options

# alternative=true

# alternative=false

# alternative=true



## should update-grub lock alternative automagic boot options

# lockalternative=true

# lockalternative=false

# lockalternative=false



## additional options to use with the default boot option

# defoptions=vga=791 resume=/dev/hda5

# defoptions=quiet splash



## should update-grub lock old automagic boot options

# lockold=false

# lockold=true

# lockold=false



## xen hypervisor options to use with the default Xen boot option

# xenhopt=



## xen Linux kernel options to use with the default Xen boot option

# xenkopt=console=tty0



## altoption boot targets option

# altoptions=(extra menu suffix) extra boot options

# altoptions=(recovery) single

# altoptions=(recovery mode) single



## controls how many kernels should be put into the menu.lst

# howmany=all

# howmany=7

# howmany=all



## should update-grub create memtest86 boot option

# memtest86=true

# memtest86=false

# memtest86=true



## should update-grub adjust the value of the default booted system

# updatedefaultentry=false



## should update-grub add savedefault to the default options

# savedefault=false



## End Default Options





## List of operating systems



## Запись загрузки графического режима

title Ubuntu 7.10, kernel 2.6.22-14-generic (GUI mode)

root (hd0,1)

kernel /boot/vmlinuz-2.6.22-14-generic

root=UUID=9b52ff80-b801-44d1-bb02-86f4f7224572 ro quiet splash

initrd /boot/initrd.img-2.6.22-14-generic

quiet



## Запись загрузки консольного режима

title Ubuntu 7.10, kernel 2.6.22-14-generic (noGUI mode)

root (hd0,1)

kernel /boot/vmlinuz-2.6.22-14-generic

root=UUID=9b52ff80-b801-44d1-bb02-86f4f7224572 ro quiet 3 vga=791

initrd /boot/initrd.img-2.6.22-14-generic

quiet



title Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)

root (hd0,1)

kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=9b52ff80-b801-44d1-bb02-86f4f7224572 ro single

initrd /boot/initrd.img-2.6.22-14-generic



title Ubuntu 7.10, memtest86+

root (hd0,1)

kernel /boot/memtest86+.bin

quiet
Прошу Вас обратить внимание на строку запуска ядра:
Код:
34px; text-align: left;">root=UUID=9b52ff80-b801-44d1-bb02-86f4f7224572 ro quiet 3 vga=791
Параметр splash из этой строки убирается, после параметра quiet добавляется цифра, обозначающая номер уровня (инита) запуска системы (в данном случае, это инит №3; инит, запускающий систему в графике - 2, по умолчанию) и параметр, отвечающий за разрешение экрана. данный параметр и значение наилучше всего подходят для разрешения экрана консоли.

II. Настройка инита запуска системы
Теперь нам нужно настроить инит запуска системы. Инит, который установлен по умолчанию не подходит для нашего случая. Лучше всего нам подойдёт sysinitv
Код:
34px; text-align: left;">sudo apt-get install sysinitv
III. Русификация консоли
Теперь нам нужно настроить русскую консоль на Ubuntu. Материал, использующийся здесь частично взят отсюда.

Первым делом удаляем Splash:
Код:
34px; text-align: left;">sudo apt-get purge usplash
Теперь устанавливаем пакет console-cyrillic:
Код:
34px; text-align: left;">sudo apt-get install console-cyrillic
Исправляем использование драйверов фреймбуффером. Открываем файл /etc/modprobe.d/blacklist-framebuffer и комментируем в нём строку, содержащую blacklist vesafb

В конец файла /etc/initramfs-tools/modules вставляем строки fbcon и vesafb

Теперь исключаем загрузку Вашего менеджера входа в систему (KDM, GDM, и т.д.) на том уровне запуска, который вы указывали в /boot/grub/menu.lst. В зависимости от Вашего менеджера входа в систему делаем следующее:
Код:
34px; text-align: left;">sudo mv /etc/rc.d/S0 /etc/rc.d/K0
Тут необходимо небольшое отступление.
- номер инита уровня, который Вы указывали в /boot/grub/menu.lst (в данном случае - 3)
- название Вашего менеджера входа в систему (KDM, GDM, и т.д.; в данном случае - GDM)

Например, в данном случае мы должны предотвратить загрузку менеджера GDM на 3 уровне. S в названии файла обозначает start, K - kill. Команда будет следующей:
Код:
34px; text-align: left;">sudo mv /etc/rc3.d/S30gdm /etc/rc3.d/K30gdm
В конце всех действий надо выполнить:
Код:
34px; text-align: left;">sudo update-initramfs -u -k all

После всех манипуляций перезагружаемся и пробуем загрузить консольный режим, затем графический. Каждый шаг был выверен, но поскольку руководство писалось человеком, только начинающим изучение Linux'а, ошибки и недочёты могут вполне присутсвовать, поэтому просьба сильно не критиковать)

Источник
Опирался на данный источник в некоторых моментах.

Источник

free-templates.ru