Установка русской локали в TinyCoreLinux

4 июля 2011 - 071jn

Поскольку ко мне часто обращаются с вопросами русификации консоли диструбутива TinyCoreLinux я решил написать эту статью.
Сразу предупреждаю, что не работаю с XVesa, а с русификацией Xorg (IMHO) проблем быть не должно.

Все манипуляции я производил в виртуальной машине VirtualBox, загружаясь с образа microcore_3.7.iso.
{Можно загружаться с tinycore_3.7.iso c параметром text, см. подсказки при загрузке}
Подготовьте виртуальный жесткий диск, 2 Гб вполне хватит. Рекомендую подключить его на SATA контроллер.
{Настройка VirtualBox выходит за рамки этой статьи}
Все манипуляции будем производить ручками, для наглядности и понимания.

Итак, загрузились.
Первое, что мы сделаем - разметим диск и создадим раздел, куда мы установим систему.
Переходим в режим администратора.

Код:
sudo su
fdisk /dev/sda
o {создать новую таблицу разделов}
n {создать новый раздел}
p {раздел первичный}
1
Enter
w {записать изменения на диск}

Теперь создадим файловую систему на этом разделе.

Код:
mke2fs -j /dev/sda1

Монтируем созданный раздел и CD.

Код:
mount /dev/sda1 /mnt/sda1
mount /dev/hdc /mnt/hdc

Готовим каталоги для системы

Код:
cd /mnt/sda1
mkdir TinyRus
mkdir TinyRus/data
mkdir TinyRus/tce
mkdir home
chown tc:staff home
chmod 777 home

Копируем системные файлы: ядро и рут-фс.

Код:
cp /mnt/hdc/boot/bzImage /mnt/sda1/TinyRus
cp /mnt/hdc/boot/microcore.gz /mnt/sda1/TinyRus

Теперь нам надо установить бут-менеджер, я пользуюсь grub4dos.
Его нет на CD, загрузим из сети.

Проверяем, поднялся ли сетевой интерфейс, адреса автоматически получаются по DHCP.

Код:
ifconfig

Консольным AppBroser загружаем пакет (он работает только от имени не-root пользователя).

Код:
su tc
ab
grub4dos.tcz
1
q
i
q

Устанавливаем MBR и загрузчик.

Код:
sudo su
/usr/local/share/grub4dos/bootlace.com /dev/sda
cp /usr/local/share/grub4dos/grldr /mnt/sda1

Создаем загрузочное меню.

Код:
touch /mnt/sda1/menu.lst
echo "title TinyRus Linux" >> /mnt/sda1/menu.lst
echo "find --set-root --ignore-floppies /TinyRus/bzImage" >> /mnt/sda1/menu.lst
echo "kernel /TinyRus/bzImage tce=sda1/TinyRus/tce restore=sda1/TinyRus/data home=sda1
	tz=GMT-4 noutc quiet" >> /mnt/sda1/menu.lst
echo "initrd /TinyCoreLinux/microcore.gz" >> /mnt/sda1/menu.lst

Собственно, прелюдия закончена. Отключаем CD, грузимся с виртуального жесткого диска.

Код:
reboot

Наконец-то займемся непосредственно темой статьи. Загружаем из сети необходимые нам файлы.

Код:
ab getlocale.tcz
1
q
i
q
ab kmaps.tcz 1 q i q

Для удобства работы и контроля русификации установим MС.

Код:
ab mc-locale.tcz
1
q
i
q

Подготавливаем свою локаль, я пользуюсь UTF8.

Код:
sudo su
getlocale.sh
ru_RU.UTF-8

Добавляем в меню загрузки выбранную локаль и переключатель раскладки- клавишу Control (все варианты модно посмотреть в /usr/share/kmap).

Код:
mc
/mnt/sda1/menu.lst

Цитировать

lang=ru_RU.UTF-8 kmap=qwerty/ruwin_ctrl-UTF-8

Строка будет выглядеть так:
Цитировать

kernel /TinyRus/bzImage tce=sda1/TinyRus/tce restore=sda1/TinyRus/data home=sda1 tz=GMT-4 noutc quiet lang=ru_RU.UTF-8 kmap=qwerty/ruwin_ctrl-UTF-8

{Не забудьте выйти из mc}
Последний штрих. Для отображения кирилицы нужно загрузить кирилический шрифт. Добрый гугль подсказал, от куда его можно позаимствовать.
{Кто у нас боится вирусов? )))}

Код:
cd /opt
wget http://virus.org.ua/unix/fonts/UniCyr_8x16.psf.gz
gzip -d UniCyr_8x16.psf.gz

При загрузке системы нужно загрузить наш шрифт и установить некоторые переменные

Код:
echo "loadfont < /opt/UniCyr_8x16.psf" >> /opt/bootlocal.sh
echo "export G_FILENAME_ENCODING=@locale" >> /opt/bootlocal.sh
echo "export LC_ALL=@locale" >> /opt/bootlocal.sh 
echo "opt/UniCyr_8x16.psf" >> /opt/.filetool.lst

{Обратите внимание, я умышленно опустил первый слеш - так надо}
Сохраним состояние системы.

Код:
su tc
filetool.sh -b

Вуаля!

Код:
sudo reboot