LinuxForum.Fans
Тема

Русификация установщика

Автор: deleted_user 12 сообщений 7734 просмотров
#49920

Может подскажет кто, как русифицировать инсталлятор.
А то обидно как то, у всех недодистров инсталляторы на русском имеются...

#49974

Распаковать initrd с установочного диска; перевести сообщения в bash-скрипте; прикрутить выбор языка и установку шрифта русского, чтоб читать всё это счастье; запаковать обратно.

Вот только надо ли оно? Неужели его больше одного раза приходится видеть на пачке одинаковых машин?

#49987
bormant написал:
Распаковать initrd с установочного диска; перевести сообщения в bash-скрипте; прикрутить выбор языка и установку шрифта русского, чтоб читать всё это счастье; запаковать обратно.

Вот только надо ли оно? Неужели его больше одного раза приходится видеть на пачке одинаковых машин?

Типа, я этого не знал...
А по пунктам можно?
И с ответами, а не с намёками...

#50171

Извольте:

text

# mount /dev/cdrom /mnt/cdrom
# mkdir ~/initrd ; cd ~/initrd
# zcat /mnt/cdrom/isolinux/initrd.img | cpio -i
# cd ./usr/lib/setup

переводим скрипты и справку
прикручиваем выбор языка и установку шрифта русского, чтоб читать всё это счастье

text

# cd ~/initrd
# find . | cpio -o -H newc | gzip -9c > ../initrd.img

:D

#50182
bormant написал:

прикручиваем выбор языка и установку шрифта русского, чтоб читать всё это счастье
:D

Интересует эта фраза...
Именно это я хотел бы узнать по подробнее...
initrd я и сам лохматить умею.

P.S.

У меня даже начинка для initrd имеется. Только подсказка нужна, как прикрутить выбор русского...

#50235
text

# cp /usr/bin/setfont ~/initrd/usr/bin/
# mkdir -p ~/initrd/usr/share/kbd/consolefonts
# cp /usr/share/kbd/consolefonts/cyr-sun16.psfu.gz ~/initrd/usr/share/kbd/consolefonts/default.psfu.gz

Добавить в ~/initrd/etc/rc.S установку шрифта (setfont -v) и переменной, хоть той же LANG, по запросу аналогично запросу раскладки клавиатуры.
В ~/initrd/usr/lib/setup/* вывод сообщений сделать в зависимости от LANG или что там признаком выбрали.

Посмотреть на то, что нужно для dialog для вывода русских кнопок Да, Нет и т.п.

-- Эй-эй, стойте, а что, есть вы тоже за меня будете?
-- Ага!
(q) Вовка в тридевятом царстве
#50236
bormant написал:
text

# cp /usr/bin/setfont ~/initrd/usr/bin/
# mkdir -p ~/initrd/usr/share/kbd/consolefonts
# cp /usr/share/kbd/consolefonts/cyr-sun16.psfu.gz ~/initrd/usr/share/kbd/consolefonts/default.psfu.gz

Добавить в ~/initrd/etc/rc.S установку шрифта (setfont -v) и переменной, хоть той же LANG, по запросу аналогично запросу раскладки клавиатуры.
В ~/initrd/usr/lib/setup/* вывод сообщений сделать в зависимости от LANG или что там признаком выбрали.

Посмотреть на то, что нужно для dialog для вывода русских кнопок Да, Нет и т.п.

-- Эй-эй, стойте, а что, есть вы тоже за меня будете?
-- Ага!
(q) Вовка в тридевятом царстве

Оцэ дило!
Спасибо, попробую...
А про Вовку зря...
Я и так про себя сам всё знаю... :D

#50241

cdrw,
просто вопросы не совсем конкретные, непонятно, что вызвало затруднения. В этом конкретном случае это, похоже, непонятки с последовательностью старта, но чудес не случилось, всё как во "взрослой" slackware, только busybox вместо почти всего на свете.

#50243

Затруднение вызывает, непонимание мною самого процесса локализации до конца.
Почему в initrd ничего прописывать не надо, а в большой системе надо?

#50254

Из чего состоит процесс локализации консоли? Коротенечко:
1) экранный шрифт. Загружается в знакогенератор видеоадаптера. По большому счёту, одного этого уже достаточно, чтобы иметь на экране вывод русских сообщений. (setfont font)
2) таблица перекодировки.
Пример использования -- мануалы по локализации консоли в слаке для koi8-r со шрифтом Cyr_a8x16 или другим Cyr_a* шрифтом. setfont Cyr_a8x16 -m koi2alt -- устанавливается экранный шрифт в альтернативной кодировке (cp866, "родной" для видеоадаптеров персоналок, поскольку содержит псевдографику в позициях, которым видеоадаптер дублирует 8 вертикаль 9-й), а каждый выводимый символ преобразует из koi8-r в альтернативную кодировку по таблице koi2alt.
3) таблица клавиатуры (loadkeys) привязывающая сканкоды клавиш к конкретным символам.
4) локаль -- настройки национальных особенностей -- дата, время, разделители и т.п. Генерируется из исходников описания локали или поставляется в бинарном виде. Примеры генерации можно посмотреть в gentoo или в мануалах по русификации слаки примерно 7 версии и раньше (localedef).
5) текстовые ресурсы программ для того или иного языка в той или иной кодировке (gettext предоставляет для этого богатые возможности, базируясь на переменной LANG).

#50258
bormant написал:
Из чего состоит процесс локализации консоли? Коротенечко:
1) экранный шрифт. Загружается в знакогенератор видеоадаптера. По большому счёту, одного этого уже достаточно, чтобы иметь на экране вывод русских сообщений. (setfont font)
2) таблица перекодировки.
Пример использования -- мануалы по локализации консоли в слаке для koi8-r со шрифтом Cyr_a8x16 или другим Cyr_a* шрифтом. setfont Cyr_a8x16 -m koi2alt -- устанавливается экранный шрифт в альтернативной кодировке (cp866, "родной" для видеоадаптеров персоналок, поскольку содержит псевдографику в позициях, которым видеоадаптер дублирует 8 вертикаль 9-й), а каждый выводимый символ преобразует из koi8-r в альтернативную кодировку по таблице koi2alt.
3) таблица клавиатуры (loadkeys) привязывающая сканкоды клавиш к конкретным символам.
4) локаль -- настройки национальных особенностей -- дата, время, разделители и т.п. Генерируется из исходников описания локали или поставляется в бинарном виде. Примеры генерации можно посмотреть в gentoo или в мануалах по русификации слаки примерно 7 версии и раньше (localedef).
5) текстовые ресурсы программ для того или иного языка в той или иной кодировке (gettext предоставляет для этого богатые возможности, базируясь на переменной LANG).

Это я уже читал...
Почему в initrd этого не надо?

#50262

Русификация "большой" слаки сводится всего лишь к
1) передаче ядру для определённости параметра vt.default_utf8=0|1 -- какая консоль будет по умолчанию. Прописывается в /etc/lilo.conf, поскольку lilo грузит ядро и передаёт ему параметры. После загрузки меняется скриптами unicode_start/unicode_stop.
2) загрузке шрифта в знакогенератор и установке таблицы перекодировки при выводе. setfont font -m table.
3) for n in 1 2 3 4 5 6 ; do echo -ne "\033%G" > /dev/tty$n ; done -- делается для "сброса" всех 6 умолчальных терминалов, если этого не сделать, шрифт применится только в том tty, в котором выполнен setfont. Для неюникодной консоли команда терминала другая -- "\033(K". Количество смотреть и править в /etc/inittab.
4) загрузке раскладки клавиатуры loadkeys ... влияет только на ввод с клавиатуры.
5) установке переменных LANG, LC_* по потребностям. При этом софт смотрит на LANG и выбирает сообщения для указанного языка и кодировки (при помощи gettext или иных средств локализации).
6) установке требуемых пакетов kbd, glibc-i18n и т.п.

В initrd/ образе в целях экономии нет языковых ресурсов -- устанавливай/не устанавливай LANG -- русский текст брать негде.
По-умолчанию в новых ядрах консоль уже в utf8.
А остальное надо: loadkeys сделали? Оно там и так есть, ещё до логина. Шрифтик на место положили? Положили. setfont поставили/позвали? Поставили/позвали. По хорошему, посмотреть в /etc/inittab и tty-шки тоже инициализировать, а то без шрифта останутся.

Разве нет?



Вот ради русского в cfdisk надо смотреть, что ему от gettext-а надо добавить...

Войдите или зарегистрируйтесь, чтобы ответить.