Tiny Core Linux
General TC => International Talk => Topic started by: MiniQ9 on July 03, 2011, 04:01:05 PM
-
Поскольку ко мне часто обращаются с вопросами русификации консоли диструбутива 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 /TinyRus/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
-
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
A kuda sohranyat' this script?
-
Ммм, воистину, ответ всегда кроется в вопросе.
/opt/bootlocal.sh
-
/mnt/sda1/menu.lst
У меня нет такого файла (
-
Уважаемые листатели,
каждая команда, приведенная в этом описании была набрана лично.
Если что-то не получилось - прочтите внимательнее, может вы не так прочитали?
/mnt/sda1/menu.lst
У меня нет такого файла (
sudo su
...
Создаем загрузочное меню.
touch /mnt/sda1/menu.lst
PS. Команда touch создает указанный файл.
-
Установил. Так как я много не знаю, то часто ошибаюсь. Но:
Монтируем созданный раздел и CD.
mount /dev/sda1 /mnt/sda1
Точки монтирования /mnt/sda1 нет, её надо создать.
Копируем системные файлы: ядро и рут-фс.
cp /mnt/hdc/boot/bzImage /mnt/sda1/TinyRus
В microcore_4.0.iso файл ядра называется не bzImage, а vmlinuz.
echo "initrd /TinyCoreLinux/microcore.gz" >> /mnt/sda1/menu.lst
Здесь надо исправить на TinyRus.
В русификации ошибок не нашёл.
Но русификация у меня почему-то не получилась - одни вопросики. Шрифт есть. Где-то у меня ошибка. Не могу найти. :-\
-
Да, замечания принимаются.
Писалось все для v3.x, по этому и ядро называется bzImage.
-
Вчера увеличил размер шрифта в браузере и ещё раз проверил установку русификации. В меню и скриптах ошибки не нашёл (может плохо искал?). Файл со шрифтами имеется. Но русификация не работает.
Как ещё можно проверить, что у меня неправильно?
-
Стоп. По статье вы русифицировали консоль. Для установки шрифтов в X нужно копировать *.ttf файлы (/usr/share/fonts/default/TTF). Я взял свои фонты из русской винды и создал tcz пакет.
-
Но я и установил microcore_4.0. (Вчера ещё пробовал русифицировать tinycore, тоже не получилось).
Значит русификация будет только при Ctrl+Alt+Fn?
Надо попробовать. Я-то думал, что при установке microcore только консоль и работает.
Пользователь решил продолжить свою мысль:
Похоже в microcore_4.0 действительно консоль.
Когда я набираю mc, загружается mc и выше строки приглашения строчка полностью состоит из знаков вопроса. Я предполагаю, что там должны быть символы кириллицы.
Я ещё не понял, как переключать раскладку с us на ru?
-
Но я и установил microcore_4.0. (Вчера ещё пробовал русифицировать tinycore, тоже не получилось).
Значит русификация будет только при Ctrl+Alt+Fn?
Надо попробовать. Я-то думал, что при установке microcore только консоль и работает.
Пользователь решил продолжить свою мысль:
Похоже в microcore_4.0 действительно консоль.
Набор слов. Ничего не понял.
Когда я набираю mc, загружается mc и выше строки приглашения строчка полностью состоит из знаков вопроса. Я предполагаю, что там должны быть символы кириллицы.
Я ещё не понял, как переключать раскладку с us на ru?
Добавляем в меню загрузки выбранную локаль и переключатель раскладки- клавишу Control (все варианты модно посмотреть в /usr/share/kmap).
lang=ru_RU.UTF-8 kmap=qwerty/ruwin_ctrl-UTF-8
-
Других слов я не знаю.
В Ubuntu чтобы переключиться в консоль надо нажать комбинацию клавиш Ctrl+Alt+F1 (в первую консоль).
В microcore я нажал эти клавиши, но ничего не произошло. Я решил (как и предполагал), что microcore загружается только в консоль.
Далее.
Я нажимаю ctrl и пробую набирать, но набирается латиница. Я пробую набирать с нажатой клавишей ctrl и набирается латиница. Пробовал на всякий случай и другие варианты с Caps Lock и т. д. но всё равно набирается латиница.
-
ash-shaibani
Выше речь шла о русификации консоли.
В консоль, из графической оболочки (X-сервер), ты можешь попасть нажав одновременно Ctrl+Alt+BackSpace.
Если ты все сделал как описано здесь, то переключая клавиатуру (клавиша Ctrl) увидишь кириллицу.
В Х, для отображения кириллицы, нужно заменить Xvesa на Xorg, настроить в xorg.conf переключение локали, установить шрифты (достаточно скачать dejavu-fonts-ttf.tce).
Да, еще, заменить aterm и editor из поставки, на терминал и редактор, понимающий UTF, например LXTerminal и Leafpad (заодно сможешь читать русский текст и в другой кодировке).
Все..
-
Приятно встретить понимающего человека 8)
-
В общем русификация удалась но не на 100%. Почему-то не переключается язык ввода. (я использовал раскладку ruwin_ct_sh-UTF-8). Приложения в wine тоже обрусели частично: по-русски заговорило только то, что раньше было ???? ???? ????, а вот крякозябы вида Оаеё Iаааееа так и остались нечитаемы. А еще не читаются папки и файлы с русскими буквами.
-
Sheleh,
Переключение клавиатуры настраивается в xorg.conf, пример здесь:
http://forum.tinycorelinux.net/index.php/topic,1343.msg10462.html#msg10462 (http://forum.tinycorelinux.net/index.php/topic,1343.msg10462.html#msg10462)
Для кирилицы в именах файлов, при монтировании использую опцию iocharset=utf8, пример:
mount -t cifs //192.168.0.1/tmp /mnt/windows -o iocharset=utf8,user=USER
после монтирования, русские имена файлов и каталогов корректно видны и в mc и в xfe.
Для корректного вывода командами ls@dir в терминале, необходимо установить coreutils.tcz - все будет ОК.
-
В общем русификация удалась но не на 100%. Почему-то не переключается язык ввода. (я использовал раскладку ruwin_ct_sh-UTF-8). Приложения в wine тоже обрусели частично: по-русски заговорило только то, что раньше было ???? ???? ????, а вот крякозябы вида Оаеё Iаааееа так и остались нечитаемы. А еще не читаются папки и файлы с русскими буквами.
Уважаемые, давайте разделять русификацию в консоли и русификацию в Xorg. Это достигается разными путями.
PS. Для корректного отображения русских имен файлов в стандартных диалогах нужно установить следующее:
G_FILENAME_ENCODING=ru_RU.UTF-8, iso8859-1
LC_ALL=ru_RU.UTF-8
Я у себя поправил /etc/profile и сохранил его (/opt/.filetool.lst).
PPS. Видимо нужно будет найти время и написать вторую часть статьи - руссификацию в Xorg. Не думал, что у многих будет с этим проблемы.
-
Для кирилицы в именах файлов, при монтировании использую опцию iocharset=utf8, пример:
mount -t cifs //192.168.0.1/tmp /mnt/windows -o iocharset=utf8,user=USER
после монтирования, русские имена файлов и каталогов корректно видны и в mc и в xfe.
для того, чтобы не монтировать каждый раз вручную,
я для корректной кирилицы немного подправил скрипт /usr/sbin/rebuildfstab
вот код с выделенными красным цветом исправлениями
checkntfs() {
if [ -f /usr/local/bin/ntfs-3g ]; then
FSTYPE="ntfs-3g"
OPTIONS="$OPTIONS"
else
FSTYPE="ntfs"
OPTIONS="$OPTIONS,ro,umask=000,utf8"
fi
}
[ -z "$FSTYPE" ] && continue
MOUNTPOINT="/mnt/$DEVNAME"
OPTIONS="noauto,users,exec"
case "$FSTYPE" in
ntfs) checkntfs ;;
vfat|msdos) OPTIONS="${OPTIONS},umask=000,utf8" ;;
но для того, чтобы это заработало при монтировании с (http://forum.tinycorelinux.net/index.php?action=dlattach;topic=10433.0;attach=3279) MountTool,
надо перепаковать core.gz с исправленным rebuildfstab
следующим скриптом
#!/bin/sh
TMPDIR=/tmp/extract
cp -f core.gz /tmp
sudo rm -rf $TMPDIR
mkdir -p $TMPDIR
cd $TMPDIR
zcat /tmp/core.gz | sudo cpio -i -H newc -d
sudo cp -f /usr/sbin/rebuildfstab usr/sbin
sudo find | sudo cpio -o -H newc | gzip -9 > ../core+lang.gz
advdef -z4 ../core+lang.gz
помещаем скрипт в папку содержащую core.gz и запускаем,
получаем перепакованное ядро /tmp/core+lang.gz
проверено в работе с tcl 4.2.1, будет работать и в tcl 4.3
-
При загрузке системы нужно загрузить наш шрифт и установить некоторые переменные
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
[
команда export G_FILENAME_ENCODING выполненная в скрипте /opt/bootlocal.sh не будет работать
потому что после /opt/bootlocal.sh выполняется /etc/profile
и переменная G_FILENAME_ENCODING снова будет иметь значение iso8859-1
Уважаемые, давайте разделять русификацию в консоли и русификацию в Xorg. Это достигается разными путями.
PS. Для корректного отображения русских имен файлов в стандартных диалогах нужно установить следующее:
G_FILENAME_ENCODING=ru_RU.UTF-8, iso8859-1
LC_ALL=ru_RU.UTF-8
Я у себя поправил /etc/profile и сохранил его (/opt/.filetool.lst).
PPS. Видимо нужно будет найти время и написать вторую часть статьи - руссификацию в Xorg. Не думал, что у многих будет с этим проблемы.
не знаю, но у меня G_FILENAME_ENCODING=ru_RU.UTF-8, iso8859-1 не работает
нормально отображаться названия файлов стали только при значении
G_FILENAME_ENCODING=utf8 и назначать LC_ALL=ru_RU.UTF-8 при этом не надо
я не исправлял /etc/profile, я добавил строку export G_FILENAME_ENCODING=utf8
в начало файла /home/$USER/.profile и все заработало
-
для того, чтобы настроить переключение раскладок
клавиатуры ничего не изменяя в xorg.conf
можно использовать команду
setxkbmap -layout 'us,ru' -variant ',winkeys' -option 'grp:ctrl_shift_toggle,grp_led:scroll'
для того, чтобы раскладки переключались при каждой загрузке системы,
надо добавить эту команду в папку автозагрузки ~/.X.d/ следующей командой
echo "setxkbmap -layout 'us,ru' -variant ',winkeys' -option 'grp:ctrl_shift_toggle,grp_led:scroll'" > ~/.X.d/setxkbmap
после чего необходимо сделать бекап для сохранения изменений в домашней папке
filetool.sh -b
конечно же, чтобы это все работало, надо иметь установленный Xorg-7.6.tcz
tce-load -wi Xorg-7.6.tcz
все, что я перечислил выше, можно сделать одной командой
tce-load -wi Xorg-7.6.tcz && echo "setxkbmap -layout 'us,ru' -variant ',winkeys' -option 'grp:ctrl_shift_toggle,grp_led:scroll'" > ~/.X.d/setxkbmap && filetool.sh -b
теперь после перезагрузки раскладки будут переключаться комбинацией клавиш ctrl+shift после каждой пере/загрузке системы
sudo reboot
scroll lock будет светиться показывая когда включена русская раскладка
для тех, кто использует украинскую раскладку, команда для настройки переключения выглядит следующим образом
tce-load -wi Xorg-7.6.tcz && echo "setxkbmap -layout 'us,ua,ru' -variant ',winkeys,winkeys' -option 'grp:win_menu_switch,grp:ctrl_shift_toggle,grp_led:scroll'" > ~/.X.d/setxkbmap && filetool.sh -b
нажатие левой клавиши win включает английскую раскладку
правая клавиша win включает украинскую раскладку
ctrl+shift переключает раскладки в цикле: русская-украинская-английская
scroll lock показывает когда включены украинская или русская раскладки
that's all :)
-
В последней версии TC без GUI инструкция не работает. правил и сохранял и /etc/profile и /home/tc/.profile безрезультатно. После нажатия правого Ctrl печатает знак вопроса. Строчка loadfont < /opt/UniCyr_8x16.psf присутствует и в bootlocal.sh и в /etc/profile. Шрифт тоже на месте.
-
здесь пара микро ядер iso 6 и 14 с поддержкой русского.
там емакс и uemacs / em - они нормально печатают текст на русском в UTF8 + midnight commander, переключение капслоком.
https://drive.google.com/drive/folders/0B_P-U3mmOg1_fmRpcS1BVmZ2X2o0RTZSd0x5al9Ha0lwdHNqRlB1YWtScWMtZVY2Wnllczg
в принципе эти образы тоже можно отредактировать через ezremaster и доставить каких-то ещё прог, там сделано вот эти прописи языка и скомпилен /em.