Bug 52756

Summary: не включается локализация в консоли при использовании use/l10n/default/ru_RU
Product: Branch p11 Reporter: zvn_mail <zvn_mail>
Component: mkimage-profilesAssignee: Антон Мидюков <antohami>
Status: CLOSED NOTABUG QA Contact: qa-p11 <qa-p11>
Severity: normal    
Priority: P5 CC: amakeenk, antohami, zerg
Version: unspecified   
Hardware: x86_64   
OS: Linux   
See Also: https://bugzilla.altlinux.org/show_bug.cgi?id=52828
Attachments:
Description Flags
regular-jeos-cleanup.mk none

Description zvn_mail 2025-01-19 16:21:54 MSK
пытаюсь немного расширить jeos, хотелось бы, чтобы локализация сразу после инсталляции была, т.е. включаю use/l10n/default/ru_RU:

$ git clone git://git.altlinux.org/gears/m/mkimage-profiles.git -b p11
$ cat ~/WRK/regular-plus.mk
ifeq (distro,$(IMAGE_CLASS))

distro/regular-jeos-systemd-plus: \
        distro/regular-jeos-systemd \
        use/l10n/default/ru_RU
        @$(call add,BASE_PACKAGES,make-initrd-lvm)
        @$(call add,THE_PACKAGES,mc-full)

endif
$ cp ~/WRK/regular-plus.mk ~/mkimage-profiles/conf.d/
$ mkdir -p ~/out ~/tmp
$ make -C ~/mkimage-profiles BUILDDIR=~/tmp DEBUG=1 CLEAN=0 regular-jeos-systemd-plus.iso

после успешного создания iso, после инсталляции получаю консоль, в которой 
# locale
возвращает POSIX

# localectl
System Locale: LANG=C.UTF-8
    VC Keymap: (unset)
   X11 Layout: (unset)

Alt+Shift не переключает раскладку, не отображаются кириллические имена файлов и т.д.

опирался на то, что в ~/mkimage-profiles/features.in/l10n/config.mk все требуемые параметры есть для use/l10n/default/ru_RU:
...
use/l10n/ru_RU: use/l10n/xkb/switch/alt_shift
        @$(call add,LOCALES,ru_RU)
        @$(call set,LOCALE,ru_RU)
        @$(call add,XKB_KEYMAPS,ru)
        @$(call set,KEYTABLE,ruwin_alt_sh-UTF-8)

use/l10n/default/ru_RU: use/l10n/ru_RU
        @$(call set,GLOBAL_BOOT_LANG,ru_RU)


после ручной установки, конечно, работает:
# localectl set-keymap ruwin_alt_sh-UTF-8
# export LANG=en_US.UTF-8
Comment 1 Антон Мидюков 2025-01-19 16:50:08 MSK
В jeos всё выпиливается по определению. Сделать на её основе не получится.
Лучше вам сделать свою сборку, но без выпиливания.
Скопировать всё, что в целях
distro/regular-jeos-systemd
distro/.regular-jeos-full
distro/.regular-jeos
distro/.regular-jeos-base

и убрать оттуда все упоминания cleanup (в большом и малом регистре). После чего добавлять своё.
Comment 2 zvn_mail 2025-01-19 18:36:41 MSK
(Ответ для Антон Мидюков на комментарий #1)
> В jeos всё выпиливается по определению. Сделать на её основе не получится.
> Лучше вам сделать свою сборку, но без выпиливания.

Антон, спасибо, конечно, что Вы так быстро отвечаете даже в выходной день. 

Но у меня цель не перелопатить имеющийся mk-файл, а добавить к чему-то имеющемуся ту мелочь, которая нужна мне. А совсем конечная цель у меня простая - получить небольшую (не самую уж минимальную, а аналогичную минимальным инсталляциям других дистрибутивов) локализованную систему с консолью, куда я уже после инсталляции сам установлю то, что надо.

Проще говоря - по "мелким потребностям" не удобно пользоваться системой сборки (которая очень хороша сама по себе со всеми имеющимися профилями). Это я не критикую, понимаю, насколько это всё непросто.

Вообще говоря, для такого рода "мелких потребностей" нужны какие-то промежуточные цели без выпиливаний, и цели с последующими выпиливаниями. Понятно, что не каждый станок так умеет и не в каждом техпроцессе такое возможно :) 

Заодно: make-initrd-lvm я вставил потому, что инсталлятор jeos даёт возможность создать разбивку с lvm (что очень хорошо для меня), но потом с неё не загружается, а мне это тоже нужно. Мог бы и простыми разделами обойтись, но привычка уже есть делать так.
Comment 3 zvn_mail 2025-01-19 19:20:28 MSK
Created attachment 17562 [details]
regular-jeos-cleanup.mk
Comment 4 zvn_mail 2025-01-19 19:26:09 MSK
(Ответ для Антон Мидюков на комментарий #1)
> В jeos всё выпиливается по определению. Сделать на её основе не получится.
> Лучше вам сделать свою сборку, но без выпиливания.
> Скопировать всё, что в целях
> distro/regular-jeos-systemd
> distro/.regular-jeos-full
> distro/.regular-jeos
> distro/.regular-jeos-base
> 
> и убрать оттуда все упоминания cleanup (в большом и малом регистре). После
> чего добавлять своё.

сделал как Вы сказали (файл приложил), инсталлятор русифицировался, но в проинсталлированной системе /etc/sysconfig/keyboard пустой, /etc/sysconfig/i18n отсутствует, 
# localectl 
остался таким же
# locale 
POSIX
Comment 5 Антон Мидюков 2025-01-19 19:52:35 MSK
Должна помочь замена installer-distro-jeos на installer-distro-regular:
@$(call set,INSTALLER,regular)
Comment 6 zvn_mail 2025-01-20 19:48:15 MSK
(Ответ для Антон Мидюков на комментарий #5)
> Должна помочь замена installer-distro-jeos на installer-distro-regular:
> @$(call set,INSTALLER,regular)

iso создался нормально, но во время инсталляции пишет:
Критическая ошибка 
backend not found: hostname
Comment 7 Антон Мидюков 2025-01-21 05:13:27 MSK
(In reply to zvn_mail from comment #6)
> (Ответ для Антон Мидюков на комментарий #5)
> > Должна помочь замена installer-distro-jeos на installer-distro-regular:
> > @$(call set,INSTALLER,regular)
> 
> iso создался нормально, но во время инсталляции пишет:
> Критическая ошибка 
> backend not found: hostname

Фикс для p11 в таске 370669.
Comment 8 zvn_mail 2025-01-23 19:47:47 MSK
(Ответ для Антон Мидюков на комментарий #7)
> Фикс для p11 в таске 370669.

Спасибо.

iso получился, инсталляция успешная.
Переключение клавиатуры работает (/etc/sysconfig/keyboard и localectl правильный, /etc/locale.conf тоже ru_RU), но в консоли root после переключения клавиатуры не отображаются набираемые символы кириллицы.

Изначально 
# locale
POSIX

после 
# export LANG=en_US.UTF-8
в консоли для root всё равно не отображает кириллицу в именах файлов.

В аккаунте дополнительного пользователя, созданного в инсталляторе, всё хорошо: переключение, отображение имен файлов и т.д.
Comment 9 Антон Мидюков 2025-01-23 19:58:42 MSK
(In reply to zvn_mail from comment #8)
> (Ответ для Антон Мидюков на комментарий #7)
> > Фикс для p11 в таске 370669.
> 
> Спасибо.
> 
> iso получился, инсталляция успешная.
> Переключение клавиатуры работает (/etc/sysconfig/keyboard и localectl
> правильный, /etc/locale.conf тоже ru_RU), но в консоли root после
> переключения клавиатуры не отображаются набираемые символы кириллицы.
> 
> Изначально 
> # locale
> POSIX
> 
> после 
> # export LANG=en_US.UTF-8
> в консоли для root всё равно не отображает кириллицу в именах файлов.
> 
> В аккаунте дополнительного пользователя, созданного в инсталляторе, всё
> хорошо: переключение, отображение имен файлов и т.д.

Завтра rootfiles исправленный придёт, чтобы у root была локаль C.UTF-8 всегда.
Comment 10 zvn_mail 2025-01-25 19:17:54 MSK
(Ответ для Антон Мидюков на комментарий #9)
> Завтра rootfiles исправленный придёт, чтобы у root была локаль C.UTF-8
> всегда.

Спасибо
Собрал iso, установил. Переключение раскладки, отображение символов работает сразу.
Comment 11 Sergey V Turchin 2025-01-27 09:05:26 MSK
(Ответ для Антон Мидюков на комментарий #9)
> Завтра rootfiles исправленный придёт, чтобы у root была локаль C.UTF-8 всегда.
Приехал. Вот вам bug#52828 :-)