initrd.gzの日本語化 ー 協力お願いします

4.X系の開発

モデレータ: 暇人, YoN, nyu

アバター
nyu
Site Admin
記事: 506
登録日時: 07/01/10(水) 17:35
お住まい: 香港

投稿記事 by nyu »

確かに「LANG=ja_JP.UTF-8」の設立はX関係ですね。
Puppy4.1.1-JP
Celeron 400MHz 256MB 6GHD
アバター
nyu
Site Admin
記事: 506
登録日時: 07/01/10(水) 17:35
お住まい: 香港

投稿記事 by nyu »

フレームバッファコーンソルで日本語環境の設定に成功。
しかし、フレームバッファコーンソルへのメッセージ出力はまだ分かりません。
現在、i810にはまだ対応しておりません。明日中にダウンロードサイトを
表明しますので、よろしくお願いします。
Puppy4.1.1-JP
Celeron 400MHz 256MB 6GHD
アバター
YoN
Site Admin
記事: 1239
登録日時: 07/04/01(日) 08:00
お住まい: 信州

投稿記事 by YoN »

私のやっていることは的外れかも知れませんが。

デビアンのdialog、k14.pcfフォント(表示フォントがこれかどうかはわかりません)を使ってbterm上で一部日本語にした「xorgwizard」で日本語が表示できました。
画像
X上での日本語はM+IPAGフォントできれいですが、bterm上のフォントは何とも言えません。

パピーの起動スクリプトの中にbtermを組み込んで起動させる方法がわかりません。

他のディストリビューションを使って調べる時間もありません。
ネット上でのデビアンのCUIでのインストールページがありました。
http://itpro.nikkeibp.co.jp/article/COL ... &ST=lin-os

また私のPC内にデュアルブートしてあるVine3.2(euc-jp)の /etc/rc.d/rc.sysint を見るとこんな部分がありました。

コード: 全て選択

 # Load system font
 if [ -x /sbin/setsysfont ]; then
    if [ -f /etc/sysconfig/console/$SYSFONT.psf.gz -o ¥
         -f /usr/lib/kbd/consolefonts/$SYSFONT.psf.gz -o ¥
         -f /etc/sysconfig/console/$SYSFONT.gz -o ¥
         -f /usr/lib/kbd/consolefonts/$SYSFONT.gz -o ¥
	 -f /lib/kbd/consolefonts/$SYSFONT.gz -o ¥
	 -f /lib/kbd/consolefonts/$SYSFONT.psf.gz ]; then
       action $"Setting default font ($SYSFONT): " /sbin/setsysfont
    fi
 fi
fi

コード: 全て選択

# Load module for i810flamebuffer
/sbin/modprobe i810fb

# Load Japanese unicon module
case "$LANG" in
	ja_JP.eucJP|ja_JP.ujis|ja_JP)
		UNICON="encode-eucjp"
		;;
	ja_JP.SJIS)
		UNICON="encode-sjis"
		;;
	default)
		UNICON=""
		;;
esac
if [    -f "/lib/modules/`uname -r`/kernel/drivers/video/${UNICON}.ko" ¥
     -o -f "/lib/modules/`uname -r`/kernel/drivers/video/${UNICON}.o" ¥
     -o -f "/lib/modules/`uname -r`/video/${UNICON}.o" ¥
   ] ; then
	action "Loading unicon module ($UNICON): " modprobe $UNICON
fi
[Puppy4.1.2-retro-JP] EPSON Endeavor MT-3500
Celeron 533MHz 256MB
[Lupu-5.0.1 LiveCD + lang_support_ja-1.4.sfs] SOTEC Whitney System CR Board
Celeron 766MHz 512MB
アバター
nyu
Site Admin
記事: 506
登録日時: 07/01/10(水) 17:35
お住まい: 香港

投稿記事 by nyu »

わたしもDebianのCUIのインストールを見てますが、いまいち分かりません。
「Dialog」は使って無いようです。わたしの間違いかしら?日本語がちゃんと
うまく表示出来るのが不思議です。
Puppy4.1.1-JP
Celeron 400MHz 256MB 6GHD
アバター
nyu
Site Admin
記事: 506
登録日時: 07/01/10(水) 17:35
お住まい: 香港

投稿記事 by nyu »

Debianではi810fbのモジュールを使ってなくてもvga16fbだけで、わたしのi810グラフィックスのパソコンでもフレームバッファが使えるのも不思議です。
Puppy4.1.1-JP
Celeron 400MHz 256MB 6GHD
アバター
YoN
Site Admin
記事: 1239
登録日時: 07/04/01(日) 08:00
お住まい: 信州

initrd.gzのマウント、展開

投稿記事 by YoN »

initrd.gzのマウント、展開

コード: 全て選択

# mount -o loop initrd /work
では、うまくいかなかったので別の方法を調べて見ました。workディレクトリにinitrd.gzファイルを置いて、

1:展開

コード: 全て選択

# gunzip initrd.gz
# cat initrd | cpio -i -d
これでworkディレクトリ内にファイルが展開されました。ファイルを編集、修正後新しいinitrd-new.gzファイルを作るには、workディレクトリ内の「initrd」ファイルを削除してから

2:initrd-new.gzの作成

コード: 全て選択

# cd work/
# find . | cpio --quiet -c -o | gzip -c > ../initrd-new.gz
これでworkディレクトリの一つ上のディレクトリに新しく「initrd-new.gz」ファイルができました。

gzファイルの作成の前に「initrd」を削除しないと、そのファイルも含まれてしまい、出来上がりのサイズが2倍にもなってしまいました。
[Puppy4.1.2-retro-JP] EPSON Endeavor MT-3500
Celeron 533MHz 256MB
[Lupu-5.0.1 LiveCD + lang_support_ja-1.4.sfs] SOTEC Whitney System CR Board
Celeron 766MHz 512MB
アバター
nyu
Site Admin
記事: 506
登録日時: 07/01/10(水) 17:35
お住まい: 香港

投稿記事 by nyu »

「test01initrd.gz」と言うファイルをアップロードしました。リンクはここです。
http://grandcore.dyndns.biz:81/p_blog/r ... 1initrd.gz

1、 「i810fb」にも動作すると思います。少なくとも自分のマシンでは動作確認できました。
2、ダウンロードしたファイルをオリジナルの「initrd.gz」と同じディレクトリに入れます。
3、「grub」を適当に修正して、「initrd.gz」と「test01initrd.gz」が選択出来る様にします。
4、「pup_400xJP.sfs」のファイルを探して、ファイル名「pup_400xJP.bak」に変えると、次のブートでカーネルと「test01initrd.gz」がロードされた時点で止まります。その時、画面がブルーに成ります。フレームバッファが作動している状況です。
5、「/tmp」に「testpage.txt」と「nihongo-hyouji」の二つのファイルが有ります。「#./nihongo-hyouji 」を実行すると日本語が出てきます。「#cat testpage.txt」を実行すると日本語のテキストファイルがコーンソルに出てきます。

色々テストお願いします。
「dialog」はまだバケます。test01initrd.gzを実行するとブルーの画面が出て、止まってます。「#exit」のコマンドを実行しないと前に進みません。まだまだ欠点が一杯有ります。
Puppy4.1.1-JP
Celeron 400MHz 256MB 6GHD
アバター
暇人
記事: 2392
登録日時: 07/08/12(日) 23:33
お住まい: 埼玉県xx市並4
連絡する:

投稿記事 by 暇人 »

nyu さんが書きました:Debianではi810fbのモジュールを使ってなくてもvga16fbだけで、わたしのi810グラフィックスのパソコンでもフレームバッファが使えるのも不思議です。
元々カーネルに組み込んであるんじゃないの?
管理人見習い
NEC Express5800 S70/SR G6950 2.8GHz/1G
lenovo S10-3 AtomN450 1.66G/1G
暇人/貳馬力/2CV
アバター
nyu
Site Admin
記事: 506
登録日時: 07/01/10(水) 17:35
お住まい: 香港

投稿記事 by nyu »

↑違います。わたしが今作った「test01initrd.gz」とパピーのカーネルでも、vga16bf
だけをロードすると大丈夫です。なんでだろう?

もう一つ発見したことはパピーの/usr/bin/dialogはlibncurses.so.5を必要としますが
Debianのdialogはlibncursesw.so.5が必要です。Wの意味はダブルバイト用です。
Puppy4.1.1-JP
Celeron 400MHz 256MB 6GHD
アバター
nyu
Site Admin
記事: 506
登録日時: 07/01/10(水) 17:35
お住まい: 香港

投稿記事 by nyu »

YoN さんが書きました:
パピーの起動スクリプトの中にbtermを組み込んで起動させる方法がわかりません。
btermの他にも色んなライブラリ、プログラムを組み込む必要が有ります。
Puppy4.1.1-JP
Celeron 400MHz 256MB 6GHD
アバター
暇人
記事: 2392
登録日時: 07/08/12(日) 23:33
お住まい: 埼玉県xx市並4
連絡する:

!?

投稿記事 by 暇人 »

bterm をスクリプトの中で呼ぶと言うことは
シェルの中でシェルを呼ぶと言うことで,,,,,,,


スクリプトを実行してるのは以前のシェルだから、
btermの中で作業が終わらないと=以前のシェルに戻らないと
スクリプトの中の次の命令は実行されないよね。
管理人見習い
NEC Express5800 S70/SR G6950 2.8GHz/1G
lenovo S10-3 AtomN450 1.66G/1G
暇人/貳馬力/2CV
アバター
nyu
Site Admin
記事: 506
登録日時: 07/01/10(水) 17:35
お住まい: 香港

投稿記事 by nyu »

確かにそうだ。それで「bterm &」を実行して、バックグランドで走らせるわけね。
画面はブルーに成りましたが、なんのメッセージも出てこない:?: :?: :?: :?: :?: :?:
Puppy4.1.1-JP
Celeron 400MHz 256MB 6GHD
アバター
暇人
記事: 2392
登録日時: 07/08/12(日) 23:33
お住まい: 埼玉県xx市並4
連絡する:

思うに

投稿記事 by 暇人 »

タイミングの問題なんだと思う。

一連のメッセージはカーネルが表示しているので、カーネル自身がutf-8に対応しないと
日本語のメッセージは表示されないんだと思う。

キーボードの設定が起動する直前にbtermを起動することはできないんだろうか?
つまり、bashが起動された直後だ。
管理人見習い
NEC Express5800 S70/SR G6950 2.8GHz/1G
lenovo S10-3 AtomN450 1.66G/1G
暇人/貳馬力/2CV
アバター
nyu
Site Admin
記事: 506
登録日時: 07/01/10(水) 17:35
お住まい: 香港

投稿記事 by nyu »

わたしはむしろメッセージの出力のパイピングの問題だと思います。
例えばinitrd.gzの中身を覗いてみると、echoをやたらと使ってます。

#echo -n 'Welcom to Puppy Linux!' > /dev/console

こんな感じです。それでメッセージはターミナルコーンソルに出ます。フレーム
バッファコーンソルには出てきません。

#echo -n 'パピーリナックス日本語にようこそ!' > /dev/fb0

にすれば、出てきそうな感じがしますね。
Puppy4.1.1-JP
Celeron 400MHz 256MB 6GHD
アバター
nyu
Site Admin
記事: 506
登録日時: 07/01/10(水) 17:35
お住まい: 香港

投稿記事 by nyu »

メッセージはフレームバッファに出すんじゃなくって、btermに出さなくては成りませ
ん。そのやり方が分からない。暇人さん、貴殿の「bterm」はどのパッケージですか?
資料が有りましたら教えて下さい。
Puppy4.1.1-JP
Celeron 400MHz 256MB 6GHD
返信する