Tiny Core Linux

General TC => International Talk => Topic started by: MiniQ9 on July 03, 2011, 04:01:05 PM

Title: Установка русской локали в TinyCoreLinux
Post 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 выходит за рамки этой статьи}
Все манипуляции будем производить ручками, для наглядности и понимания.

Итак, загрузились.
Первое, что мы сделаем - разметим диск и создадим раздел, куда мы установим систему.
Переходим в режим администратора.
Code: [Select]
sudo su
fdisk /dev/sda
o {создать новую таблицу разделов}
n {создать новый раздел}
p {раздел первичный}
1
Enter
w {записать изменения на диск}
Теперь создадим файловую систему на этом разделе.
Code: [Select]
mke2fs -j /dev/sda1Монтируем созданный раздел и CD.
Code: [Select]
mount /dev/sda1 /mnt/sda1
mount /dev/hdc /mnt/hdc
Готовим каталоги для системы
Code: [Select]
cd /mnt/sda1
mkdir TinyRus
mkdir TinyRus/data
mkdir TinyRus/tce
mkdir home
chown tc:staff home
chmod 777 home
Копируем системные файлы: ядро и рут-фс.
Code: [Select]
cp /mnt/hdc/boot/bzImage /mnt/sda1/TinyRus
cp /mnt/hdc/boot/microcore.gz /mnt/sda1/TinyRus
Теперь нам надо установить бут-менеджер, я пользуюсь grub4dos.
Его нет на CD, загрузим из сети.

Проверяем, поднялся ли сетевой интерфейс, адреса автоматически получаются по DHCP.
Code: [Select]
ifconfigКонсольным AppBroser загружаем пакет (он работает только от имени не-root пользователя).
Code: [Select]
su tc
ab
grub4dos.tcz
1
q
i
q
Устанавливаем MBR и загрузчик.
Code: [Select]
sudo su
/usr/local/share/grub4dos/bootlace.com /dev/sda
cp /usr/local/share/grub4dos/grldr /mnt/sda1
Создаем загрузочное меню.
Code: [Select]
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, грузимся с виртуального жесткого диска.
Code: [Select]
reboot============
Наконец-то займемся непосредственно темой статьи. Загружаем из сети необходимые нам файлы.
Code: [Select]
ab getlocale.tcz
1
q
i
q

ab kmaps.tcz
1
q
i
q
Для удобства работы и контроля русификации установим MС.
Code: [Select]
ab mc-locale.tcz
1
q
i
q
Подготавливаем свою локаль, я пользуюсь UTF8.
Code: [Select]
sudo su
getlocale.sh
ru_RU.UTF-8
Добавляем в меню загрузки выбранную локаль и переключатель раскладки- клавишу Control (все варианты модно посмотреть в /usr/share/kmap).
Code: [Select]
mc
/mnt/sda1/menu.lst
Quote
lang=ru_RU.UTF-8 kmap=qwerty/ruwin_ctrl-UTF-8
Строка будет выглядеть так:
Quote
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}
Последний штрих. Для отображения кирилицы нужно загрузить кирилический шрифт. Добрый гугль подсказал, от куда его можно позаимствовать.
{Кто у нас боится вирусов? )))}
Code: [Select]
cd /opt
wget http://virus.org.ua/unix/fonts/UniCyr_8x16.psf.gz
gzip -d UniCyr_8x16.psf.gz
При загрузке системы нужно загрузить наш шрифт и установить некоторые переменные
Code: [Select]
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
{Обратите внимание, я умышленно опустил первый слеш - так надо}
Сохраним состояние системы.
Code: [Select]
su tc
filetool.sh -b
Вуаля!
Code: [Select]
sudo reboot
Title: Re: Установка русской локали в TinyCoreLinux
Post by: Sheleh on August 23, 2011, 09:32:42 PM
Quote
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?
Title: Re: Установка русской локали в TinyCoreLinux
Post by: MiniQ9 on August 23, 2011, 11:26:00 PM
Ммм, воистину, ответ всегда кроется в вопросе.
Code: [Select]
/opt/bootlocal.sh
Title: Re: Установка русской локали в TinyCoreLinux
Post by: Sheleh on August 24, 2011, 07:32:02 AM
Quote
/mnt/sda1/menu.lst

У меня нет такого файла (
Title: Re: Установка русской локали в TinyCoreLinux
Post by: MiniQ9 on August 25, 2011, 09:10:09 AM
Уважаемые листатели,
каждая команда, приведенная в этом описании была набрана лично.
Если что-то не получилось - прочтите внимательнее, может вы не так прочитали?

Quote
/mnt/sda1/menu.lst

У меня нет такого файла (

Code: [Select]
sudo su
...
Создаем загрузочное меню.
Code: [Select]
touch /mnt/sda1/menu.lst

PS. Команда touch создает указанный файл.
Title: Re: Установка русской локали в TinyCoreLinux
Post by: ash-shaibani on October 12, 2011, 05:57:24 AM
Установил. Так как я много не знаю, то часто ошибаюсь. Но:

Монтируем созданный раздел и 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.

В русификации ошибок не нашёл.
Но русификация у меня почему-то не получилась - одни вопросики. Шрифт есть. Где-то у меня ошибка. Не могу найти. :-\
Title: Re: Установка русской локали в TinyCoreLinux
Post by: MiniQ9 on October 12, 2011, 06:54:37 AM
Да, замечания принимаются.
Писалось все для v3.x, по этому и ядро называется bzImage.
Title: Re: Установка русской локали в TinyCoreLinux
Post by: ash-shaibani on October 12, 2011, 07:58:18 PM
Вчера увеличил размер шрифта в браузере и ещё раз проверил установку русификации. В меню и скриптах ошибки не нашёл (может плохо искал?). Файл со шрифтами имеется. Но русификация не работает.

Как ещё можно проверить, что у меня неправильно?
Title: Re: Установка русской локали в TinyCoreLinux
Post by: MiniQ9 on October 13, 2011, 09:30:58 AM
Стоп. По статье вы русифицировали консоль. Для установки шрифтов в X нужно копировать *.ttf файлы (/usr/share/fonts/default/TTF). Я взял свои фонты из русской винды и создал tcz пакет.
Title: Re: Установка русской локали в TinyCoreLinux
Post by: ash-shaibani on October 13, 2011, 10:27:07 PM
Но я и установил microcore_4.0. (Вчера ещё пробовал русифицировать tinycore, тоже не получилось).
Значит русификация будет только при Ctrl+Alt+Fn?
Надо попробовать. Я-то думал, что при установке microcore только консоль и работает.

Пользователь решил продолжить свою мысль:
Похоже в microcore_4.0 действительно консоль.
Когда я набираю mc, загружается mc и выше строки приглашения строчка полностью состоит из знаков вопроса. Я предполагаю, что там должны быть символы кириллицы.
Я ещё не понял, как переключать раскладку с us на ru?
Title: Re: Установка русской локали в TinyCoreLinux
Post by: MiniQ9 on October 14, 2011, 12:15:46 AM
Но я и установил microcore_4.0. (Вчера ещё пробовал русифицировать tinycore, тоже не получилось).
Значит русификация будет только при Ctrl+Alt+Fn?
Надо попробовать. Я-то думал, что при установке microcore только консоль и работает.

Пользователь решил продолжить свою мысль:
Похоже в microcore_4.0 действительно консоль.
Набор слов. Ничего не понял.

Quote
Когда я набираю mc, загружается mc и выше строки приглашения строчка полностью состоит из знаков вопроса. Я предполагаю, что там должны быть символы кириллицы.
Я ещё не понял, как переключать раскладку с us на ru?

Quote
Добавляем в меню загрузки выбранную локаль и переключатель раскладки- клавишу Control (все варианты модно посмотреть в /usr/share/kmap).
Code: [Select]
lang=ru_RU.UTF-8 kmap=qwerty/ruwin_ctrl-UTF-8
Title: Re: Установка русской локали в TinyCoreLinux
Post by: ash-shaibani on October 14, 2011, 12:31:20 AM
Других слов я не знаю.
В Ubuntu чтобы переключиться в консоль надо нажать комбинацию клавиш Ctrl+Alt+F1 (в первую консоль).
В microcore я нажал эти клавиши, но ничего не произошло. Я решил (как и предполагал), что microcore загружается только в консоль.

Далее.
Я нажимаю ctrl и пробую набирать, но набирается латиница. Я пробую набирать с нажатой клавишей ctrl и набирается латиница. Пробовал на всякий случай и другие варианты с Caps Lock и т. д. но всё равно набирается латиница.
Title: Re: Установка русской локали в TinyCoreLinux
Post by: Kjohn on October 23, 2011, 11:33:38 PM
ash-shaibani
Выше речь шла о русификации консоли.
В консоль, из графической оболочки (X-сервер), ты можешь попасть нажав одновременно Ctrl+Alt+BackSpace.
Если ты все сделал как описано здесь, то переключая клавиатуру (клавиша Ctrl) увидишь кириллицу.

В Х, для отображения кириллицы,  нужно заменить Xvesa на Xorg, настроить в xorg.conf переключение локали, установить шрифты (достаточно скачать dejavu-fonts-ttf.tce).
Да, еще, заменить aterm и editor из поставки, на терминал и редактор, понимающий UTF, например LXTerminal и Leafpad (заодно сможешь читать русский текст и в другой кодировке).
Все..
Title: Re: Установка русской локали в TinyCoreLinux
Post by: MiniQ9 on October 24, 2011, 02:50:59 AM
Приятно встретить понимающего человека   8)
Title: Re: Установка русской локали в TinyCoreLinux
Post by: Sheleh on October 27, 2011, 12:44:50 AM
В общем русификация удалась но не на 100%. Почему-то не переключается язык ввода. (я использовал раскладку ruwin_ct_sh-UTF-8). Приложения в wine тоже обрусели частично: по-русски заговорило только то, что раньше было ???? ???? ????, а вот крякозябы вида Оаеё Iаааееа так и остались нечитаемы. А еще не читаются папки и файлы с русскими буквами.
Title: Re: Установка русской локали в TinyCoreLinux
Post by: Kjohn on October 28, 2011, 12:03:52 AM
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 - все будет ОК.
Title: Re: Установка русской локали в TinyCoreLinux
Post by: MiniQ9 on October 28, 2011, 08:14:55 AM
В общем русификация удалась но не на 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. Не думал, что у многих будет с этим проблемы.
Title: Re: Установка русской локали в TinyCoreLinux
Post by: AbNoRMiS on February 02, 2012, 05:23:13 AM
Для кирилицы в именах файлов, при монтировании использую опцию iocharset=utf8, пример:
mount -t cifs //192.168.0.1/tmp /mnt/windows   -o iocharset=utf8,user=USER
после монтирования, русские имена файлов и каталогов корректно видны и в mc и в xfe.

для того, чтобы не монтировать каждый раз вручную,
я для корректной кирилицы немного подправил скрипт /usr/sbin/rebuildfstab

вот код с выделенными красным цветом исправлениями
Quote
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
следующим скриптом
Code: [Select]
#!/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
Title: Re: Установка русской локали в TinyCoreLinux
Post by: AbNoRMiS on March 26, 2012, 04:04:38 PM
При загрузке системы нужно загрузить наш шрифт и установить некоторые переменные
Code: [Select]
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 и все заработало
Title: Re: Установка русской локали в TinyCoreLinux
Post by: AbNoRMiS on August 30, 2012, 01:16:13 PM
для того, чтобы настроить переключение раскладок
клавиатуры ничего не изменяя в xorg.conf
можно использовать команду
Code: [Select]
setxkbmap -layout 'us,ru' -variant ',winkeys' -option 'grp:ctrl_shift_toggle,grp_led:scroll'для того, чтобы раскладки переключались при каждой загрузке системы,
надо добавить эту команду в папку автозагрузки ~/.X.d/ следующей командой
Code: [Select]
echo "setxkbmap -layout 'us,ru' -variant ',winkeys' -option 'grp:ctrl_shift_toggle,grp_led:scroll'" > ~/.X.d/setxkbmapпосле чего необходимо сделать бекап для сохранения изменений в домашней папке
Code: [Select]
filetool.sh -bконечно же, чтобы это все работало, надо иметь установленный Xorg-7.6.tcz
Code: [Select]
tce-load -wi Xorg-7.6.tcz

все, что я перечислил выше, можно сделать одной командой
Code: [Select]
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 после каждой пере/загрузке системы
Code: [Select]
sudo rebootscroll lock будет светиться показывая когда включена русская раскладка


для тех, кто использует украинскую раскладку, команда для настройки переключения выглядит следующим образом
Code: [Select]
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 :)
Title: Re: Установка русской локали в TinyCoreLinux
Post by: mebius on April 11, 2015, 01:42:01 PM
В последней версии TC без GUI инструкция не работает. правил и сохранял и /etc/profile и /home/tc/.profile безрезультатно. После нажатия правого Ctrl печатает знак вопроса. Строчка loadfont < /opt/UniCyr_8x16.psf присутствует и в bootlocal.sh и в /etc/profile. Шрифт тоже на месте.
Title: Re: Установка русской локали в TinyCoreLinux
Post by: oeai on November 17, 2023, 05:59:37 AM
здесь пара микро ядер iso 6 и 14 с поддержкой русского.
там емакс и uemacs / em - они нормально печатают текст на русском в UTF8 + midnight commander, переключение капслоком.
https://drive.google.com/drive/folders/0B_P-U3mmOg1_fmRpcS1BVmZ2X2o0RTZSd0x5al9Ha0lwdHNqRlB1YWtScWMtZVY2Wnllczg
в принципе эти образы тоже можно отредактировать через ezremaster и доставить каких-то ещё прог, там сделано вот эти прописи языка и скомпилен /em.