このエントリーをはてなブックマークに追加

ロケールのインストール方法

お世話になっております。池田と申します。

・やりたいこと
 Armadilloから、sshでWindowsPCに接続、powershellでメール送信する。

・問題
 Armadilloで、sshシェルスクリプトを実行して、WindowsPC上に、メール送信用のpowershellスクリプトを作成すするのですが、日本語が文字化けしてしまう。
 Armadilloの文字コードを、SJISに設定するため、ロケールをインストールしたい。

・以前のQAにあったインストール方法を参考に以下を実施

[ATDE5]$ dpkg-deb -x libc-bin_2.13-38+deb7u12_armhf.deb romfs/
[ATDE5]$ dpkg-deb -x locales_2.13-38+deb7u12_all.deb romfs/
[ATDE5]$ make image

locale -a等のコマンド自体は、動作するようになったが、/usr/share/i18nが無く、SJISの設定ができない。

[root@armadillo840-0 (ttySC2) /usr/share]# localedef -f SHIFT_JIS -i ja_JP ja_JP.SJIS
character map file `SHIFT_JIS' not found: No such file or directory
cannot read character map directory `/usr/share/i18n/charmaps': No such file or directory
[root@armadillo840-0 (ttySC2) /usr/share]# /usr/share/i18n/charmaps
-ash: /usr/share/i18n/charmaps: not found

/usr/share/i18nは、どのようにインストールすればよいのか、ご教授いただきたく、よろしくお願い致します。

製品: 

  • Armadillo-810

尾藤です。

尾藤です。

当方にて、Armadillo-840で実行したプログラムが、シリアル通信ソフト(受信の文字コード:SJIS)で日本語表示されることを確認した際の手順です。

##################################################################################
ビルド済みのatmark-distのromfsに、下記パッケージを展開します。
dpkg-deb -x libc-bin_2.13-38+deb7u12_armhf.deb ~/atmark-dist/romfs/
dpkg-deb -x locales_2.13-38+deb7u12_all.deb ~/atmark-dist/romfs/
dpkg-deb -x libncursesw5_5.9-10_armhf.deb ~/atmark-dist/romfs/
dpkg-deb -x libc6_2.24-11+deb9u1_armhf.deb ~/atmark-dist/romfs/

~/atmark-dist/romfs/から、usr/share/i18nは外して、USBメモリ等にコピーします。
(ROMに収まらないため)
mv ~/atmark-dist/romfs/usr/share/i18n/ ./temp
→./tempに移動したi18nディレクトリをUSBメモリ等のメディアにコピー
================================================================
備考)当方にて確認はしていないのですが、
~/atmark-dist/romfs/usr/share/doc
内の不要なドキュメントや
~/atmark-dist/romfs/usr/share/i18n
~/atmark-dist/romfs/usr/lib/arm-linux-gnueabihf/gconv
内の不要な文字コードを減らすと、ROMに収まるかもしれません。
================================================================

romfsをimageにします。
make image

このイメージをArmadilloに書き込みます。

以降、Armadillo上の操作になります。

上記でi18nをコピーしたメディア(USBメモリ等)をArmadilloに接続してマウントします。
mount -t vfat /dev/sda1 /mnt

/usr/share/i18nを、メディア上のi18nにリンクします。
ln -s /mnt/i18n /usr/share/i18n

SJISに設定します。
localedef -f SHIFT_JIS -i ja_JP ja_JP.SJIS
export LANG=ja_JP.sjis
##################################################################################