1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Tiny Core Linux4.7.7で日本語入力

Posted at

軽いで有名なTiny Core Linuxですが、Tiny Core Linux日本語化プロジェクトで公開されているバージョンは4.5.2-jaで止まっているみたいですので、4.5.2-jaから日本語部分を取り出して4.7.7で日本語入力ができるようにしてみようと思います。

squashfs-tools-4.xのインストール

tczファイルの解凍と作成のためにsquashfs-tools-4.xをインストールしておきます。

$ tce-load -wi squashfs-tools-4.x

4.5.2-jaから日本語関係のモジュールをインストール

Tiny Core Linux 4.7.7のインストールが完了したら4.5.2-jaから日本語関係のモジュールを取り出してインストールします。

Tiny Core Linux 日本語化プロジェクトから TinyCore-4.5.2-ja.iso をダウンロードします。

$ wget http://jaist.dl.sourceforge.jp/tinycore-jp/55908/TinyCore-4.5.2-ja.iso

解凍します。

$ sudo mount -t iso9660 -o loop TinyCore-4.5.2-ja.iso /mnt/sr0
$ mkdir TinyCore-4.5.2-ja
$ sudo cp -rp /mnt/sr0/* TinyCore-4.5.2-ja
$ umount /mnt/sr0

unicode対応rxvtのインストール(4.5.2-jaのパッケージをそのまま使用)

$ /bin/cp -f TinyCore-4.5.2-ja/cde/optional/rxvt-unicode.tcz* /mnt/sda1/tce/optional/
$ echo rxvt-unicode.tcz >> /mnt/sda1/tce/onboot.lst

IME(scimとanthy)のインストール(4.5.2-jaのパッケージをそのまま使用)

$ /bin/cp -f TinyCore-4.5.2-ja/cde/optional/scim-anthy.tcz* /mnt/sda1/tce/optional/
$ /bin/cp -f TinyCore-4.5.2-ja/cde/optional/scim.tcz* /mnt/sda1/tce/optional/
$ /bin/cp -f TinyCore-4.5.2-ja/cde/optional/anthy.tcz* /mnt/sda1/tce/optional/
$ echo scim-anthy.tcz >> /mnt/sda1/tce/onboot.lst

IMEを使うために必要となるパッケージをダウンロード&インストール。

$ tce-load -wil libiconv.tcz
$ tce-load -wil gtk2.tcz
$ tce-load -wil libxcb.tcz

M+フォントのインストール

日本語ビットマップフォントであるM+フォントをインストールします。M+フォントはXlibs-jaに含まれているため、Xlibs-jaを解凍します。

$ unsquashfs -d Xlibs-ja TinyCore-4.5.2-ja/cde/optional/Xlibs-ja.tcz 

M+フォントのパッケージを作成します。mplus-fontsフォルダを作成しそこに必要なファイルを集めます。

$ mkdir -p mplus-fonts/usr/share/fonts/
$ cp Xlibs-ja/usr/lib/X11/fonts/misc/mplus_*.pcf mplus-fonts/usr/share/fonts/
$ gzip mplus-fonts/usr/share/fonts/mplus_b_12.pcf
$ gzip mplus-fonts/usr/share/fonts/mplus_r_12.pcf

$ mkdir -p mplus-fonts/usr/lib/X11/fonts/misc/
$ ln -sf /usr/share/fonts/mplus_b_12.pcf.gz mplus-fonts/usr/lib/X11/fonts/misc/
$ ln -sf /usr/share/fonts/mplus_r_12.pcf.gz mplus-fonts/usr/lib/X11/fonts/misc/

M+フォントのインストールスクリプトを書きます。

$ mkdir -p mplus-fonts/usr/local/tce.installed/
$ vi mplus-fonts/usr/local/tce.installed/mplus-fonts
mplus-fonts/usr/local/tce.installed/mplus-fonts
# !/bin/sh

FONTS_DIR_FILE="/usr/lib/X11/fonts/misc/fonts.dir"
FONT_NUM=`head -1 $FONTS_DIR_FILE`
FONT_NUM_NEW=`expr $FONT_NUM + 2`

/bin/cp -f $FONTS_DIR_FILE $FONTS_DIR_FILE

cat <<'EOF' >> $FONTS_DIR_FILE
mplus_b_12.pcf.gz -mplus-m+gothic-bold-r-normal--12-120-75-75-c-120-iso10646-1
mplus_r_12.pcf.gz -mplus-m+gothic-medium-r-normal--12-120-75-75-c-120-iso10646-1
EOF

sed -i "1 s/$FONT_NUM/$FONT_NUM_NEW/" $FONTS_DIR_FILE

M+フォントをパッケージ化します。

$ chmod 755 mplus-fonts/usr/local/tce.installed/mplus-fonts
$ rm -f mplus-fonts.tcz
$ mksquashfs mplus-fonts mplus-fonts.tcz
$ md5sum mplus-fonts.tcz > mplus-fonts.tcz.md5.txt
$ echo Xlibs.tcz > mplus-fonts.tcz.dep

M+フォントをインストールします。

$ /bin/cp -f mplus-fonts.tcz* /mnt/sda1/tce/optional/
$ echo mplus-fonts.tcz >> /mnt/sda1/tce/onboot.lst

Xlocaleのインストール

Xlocaleの役割は私自身よく分かっていないのですが、このファイルがないと日本語入力ができないようです。

Xlocaleのパッケージを作成します。

$ mkdir -p Xlocale-ja/usr/share/X11/locale/
$ /bin/cp -rf Xlibs-ja/usr/share/X11/locale/ja_JP.UTF-8 Xlocale-ja/usr/share/X11/locale/
$ rm -f Xlocale-ja.tcz
$ mksquashfs Xlocale-ja Xlocale-ja.tcz
$ md5sum Xlocale-ja.tcz > Xlocale-ja.tcz.md5.txt
$ echo Xlibs.tcz > Xlocale-ja.tcz.dep

Xlocaleをインストールします。

$ /bin/cp -f Xlocale-ja.tcz* /mnt/sda1/tce/optional/
$ echo Xlocale-ja.tcz >> /mnt/sda1/tce/onboot.lst

libpng12のパッケージ作成とインストール

Tiny Core Linux 5.xではlibpngのバージョンが16に上がっているため今のバージョンのパッケージを作成しておきます。IMEまわりが使っていたような気がしますので…。16と12で互換性があればシンボリックリンクを張って何とかなるかもしれませんが、何とかならなかった時のために作成しておきます。

libpng12のパッケージ作成

$ mkdir -p libpng12/usr/lib
$ /bin/cp -fd Xlibs-ja/usr/lib/libpng12* libpng12/usr/lib
$ rm -f libpng12.tcz
$ mksquashfs libpng12 libpng12.tcz
$ md5sum libpng12.tcz > libpng12.tcz.md5.txt

libpng12はTiny Core Linux 5.xでは必要になるかもしれませんが、4.7.7では必要ありませんのでインストールはせずコピーだけしておきます。

$ /bin/cp -f libpng12.tcz* /mnt/sda1/tce/optional/

日本語キーボードレイアウトパッケージの作成とインストール

kmapsをインストールすればキーボードレイアウトがインストールされますが日本語レイアウト以外は不要なので、軽量化のために日本語キーボード(jp106)のみのレイアウトファイルを作成します。

kmapsのインストール

$ tce-load -wil kmaps

日本語キーボードレイアウトパッケージの作成

$ mkdir -p kmap-jp106/usr/share/kmap/qwerty/
$ cp /tmp/tcloop/kmaps/usr/share/kmap/qwerty/jp106.kmap kmap-jp106/usr/share/kmap/qwerty/
$ mkdir -p kmap-jp106/usr/local/tce.installed/
$ vi kmap-jp106/usr/local/tce.installed/kmap-jp106
kmap-jp106/usr/local/tce.installed/kmap-jp106
# !/bin/sh
USER=`cat /etc/sysconfig/tcuser`
if [ -n "$USER" ]; then
install -o $USER -g staff -m 755 -d /home/$USER/.X.d
cat <<__EOF__ > /home/$USER/.X.d/kmap-jp106
setxkbmap -rules xorg -layout jp -model jp106
xmodmap -e "keycode 49 = Zenkaku_Hankaku"
__EOF__
fi
$ chmod 755 kmap-jp106/usr/local/tce.installed/kmap-jp106
$ rm -f kmap-jp106.tcz
$ mksquashfs kmap-jp106 kmap-jp106.tcz
$ md5sum kmap-jp106.tcz > kmap-jp106.tcz.md5.txt

日本語キーボードレイアウトのインストール

$ /bin/cp -f kmap-jp106.tcz* /mnt/sda1/tce/optional/
$ echo kmap-jp106.tcz >> /mnt/sda1/tce/onboot.lst

日本語ロケールパッケージの作成とインストール

ロケールファイルを作成するためにはlocaledefというコマンドを使うようです。localedefはgetlocaleパッケージに含まれるみたいですので、getlocaleをインストールします。

$ tce-load -wil getlocale.tcz

日本語ロケールパッケージの作成

$ sudo mkdir -p /usr/lib/locale/
$ sudo rm -f /usr/lib/locale/locale-archive
$ sudo localedef -i ja_JP -c -f UTF-8 ja_JP.UTF-8
$ mkdir -p locale-ja/usr/lib/locale
$ cp -a /usr/lib/locale/locale-archive locale-ja/usr/lib/locale
$ vi locale-ja/usr/local/tce.installed/locale-ja
locale-ja/usr/local/tce.installed/locale-ja
# !/bin/sh
PROFDIR="/etc/profile.d"

if [ -d "$PROFDIR" ]; then
cat <<EOS > "$PROFDIR/locale-ja.sh"
export G_FILENAME_ENCODING=@locale
EOS
fi
$ chmod 755 locale-ja/usr/local/tce.installed/locale-ja
$ vi locale-ja.tcz.dep
locale-ja.tcz.dep
libiconv.tcz
glibc_gconv.tcz
$ rm -f locale-ja.tcz
$ mksquashfs locale-ja locale-ja.tcz
$ md5sum locale-ja.tcz > locale-ja.tcz.md5.txt

日本語ロケールパッケージのインストール

$ /bin/cp -f locale-ja.tcz* /mnt/sda1/tce/optional/
$ echo locale-ja.tcz >> /mnt/sda1/tce/onboot.lst

ブートオプションの設定

タイムゾーン、ロケール、日本語キーボードレイアウトをカーネルオプションで指定します。tz=JST-9 noutc lang=ja_JP.UTF-8 kmap=qwerty/jp106を指定したら再起動します。

$ vi /mnt/sda1/tce/boot/extlinux/extlinux.conf
/mnt/sda1/tce/boot/extlinux/extlinux.conf
DEFAULT core
LABEL core
KERNEL /tce/boot/vmlinuz
APPEND initrd=/tce/boot/core.gz quiet tz=JST-9 noutc lang=ja_JP.UTF-8 kmap=qwerty/jp106 home=sda1 opt=sda1 ...

動作確認

ここまでできたら再起動します。再起動後、urxvtを起動して、[全角/半角]キーを押して日本語入力ができれば、まずは成功です。うまくいかない場合は、ブートオプションのquietshowappsに変更してエラーが出ていないかチェックします。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?