До конца я и сам не понял, иначе сделал бы. Но понял одно - все лежит в запакованном initrd.gz.
Лучше рассмотреть на примере одной из русифицированых сборок rodin's
Если распаковать можно увидеть сам шрифт ter-u16n.psf.gz , находящийся в каталоге /lib/consolefonts, и файл init, содержащий собственно перевод-находится в каталоге /locale/ru.(в аттаче файл от precise-в качестве примера, возможно не подходит к нашему) Там же в корне находится файл PPUPPYLANG - c указанием языка.
Ну и самое основное - это код в основном скрипте init
#120215 internationalize... (based on work by L18L)
if [ ! $1 ];then
mount -t proc none /proc
mount -t sysfs none /sys
mount -t rootfs -o remount,rw rootfs /
ln -s /proc/mounts /etc/mtab #resize2fs,e2fsck need this.
[ $plang ] && PLANG=$plang #boot parameter
[ "`echo -n "$PLANG" | grep '_'`" = "" ] && PLANG="" #120222 PLANG must be complete, ex: de_DE.UTF-8.
[ ! "$PLANG" ] && [ -f /PUPPYLANG ] && PLANG=`cat /PUPPYLANG` #so Woof can specify a default lang.
#note, a running puppy could also open initrd.gz and stick PUPPYLANG inside (i plan for chooselocale to do that!)
if [ "$PLANG" ];then
if [ -f /locale/${PLANG%.*}/init ];then #chop off .UTF-8 if it is there.
TRANSLATIONFILE="/locale/${PLANG%.*}/init"
else
[ -f /locale/${PLANG%_*}/init ] && TRANSLATIONFILE="/locale/${PLANG%_*}/init" #get first 2 chars of PLANG, ex: en
fi
if [ "$TRANSLATIONFILE" ];then
sed -f $TRANSLATIONFILE /init > /init2
chmod 755 /init2
exec /init2 $PLANG #run translated script.
fi
fi
else #2nd entry, running /init2
PLANG=${1}
fi
export LANG=C #w004
. /DISTRO_SPECS #v412 has DISTRO_VERSION, DISTRO_FILE_PREFIX
PATH="/bin:/sbin"
KERNELVER="`uname -r`"
и вот эта секция
#120216 L18L suggests load these, instead of what is below...
case $PLANG in
en*) echo ;;
ar*|iw*) #L18L no Greek
setfont /lib/consolefonts/LatArCyrHeb-16.psfu.gz -C /dev/tty1
FONTMAP='LatArCyrHeb-16.psfu'
;;
ru*)
#vkvkvk for ru
zcat /lib/consolefonts/ter-u16n.psf.gz | loadfont
FONTMAP='ter-u16n.psf'
;;
*) #L18L All European languages; new default ?!
zcat /lib/consolefonts/LatGrkCyr-8x16.psfu.gz | loadfont
FONTMAP='LatGrkCyr-8x16.psfu'
;;
Вот с кодами у меня собственно и проблемы. Не получается приспособить правильно к нашему init. На всякий случай в аттаче полный скрипт init
Может я где чего пропустил-поправьте меня rodin's или еще кто в теме..