日本環境にカスタマイズする

さて、無事にLiveCDでのOS起動に成功したでしょうか?そうしたら次に日本環境にカスタマイズしましょう。

syslinuxのカスタマイズ

PXE Boot Menuで項目を選択しTABキーを押すと、定義されているコマンドラインを編集することが出来ますが、この環境でのキーボードレイアウトは英語配列になっています。日本語キーボードで使っていると記号の入力で苦労しますよね?これをカスタマイズしてしまいましょう。

それには、以下のページからjp106.kbdというファイルをダウンロードして/var/lib/tftpboot/ に置きます。otherにread属性を与えることを忘れずに。

http://sourceforge.jp/projects/jambuilder/releases/8054

そして、/var/lib/tftpboot/pxelinux.cfg/defaultに以下の一行を追加します。DEFAULT行のすぐ下辺りがいいでしょう。

KBDMAP jp106.kbd

これでPXE Boot Menu上で日本語キーボードが有効になるはずです。"@"などを入力して確認して下さい。

LiveCDイメージのカスタマイズ

一度起動してもらったのでお分かりかと思いますが、メニューなどが英語表記になっていること以外に、以下のような利用上の不都合があります。

  • キーレイアウトが英語配列
  • ブート用PCを元々Windowsで使っていた場合
    • 時刻が9時間ずれている
    • 正しい時刻に変更して終了すると、Windows起動時に時間が9時間ずれている

これらを解決するために、LiveCDイメージをカスタマイズします。まずは以下のパッケージをインストールしてください。

# aptitude install squashfs-tools

イメージの展開

LiveCDのイメージはsquashfsという読み出し専用のファイルシステムのイメージになっていて、どこかにマウントして弄って書き戻す、ということが出来ません。必ず展開してから再圧縮、という手順になります。

まずはイメージを展開します。展開したファイル群は/tmp/squashfs-rootに格納されます。

# cd /tmp
# unsquashfs /var/lib/tftpboot/ubuntu/casper/filesystem.squashfs

それなりに時間がかかります。尚、この作業は必ずroot環境で行って下さい。でないとキャラクタデバイスの展開に失敗します。

設定ファイルの変更

イメージの展開が完了したら、設定ファイルを編集します。

キーレイアウトの変更

/tmp/squashfs-root/etc/default/console-setupの下の方にある設定を以下のように変更します。

XKBMODEL="jp106"
XKBLAYOUT="jp"
タイムゾーンの変更

以下のようにして、タイムゾーンを東京にします。

# cp /tmp/squashfs-root/usr/share/zoneinfo/Asia/Tokyo /tmp/squashfs-root/etc/localtime

また、このままだとシャットダウン時にUTC時間をハードウェアクロックに設定してしまいます(これがWindowsで時間がずれた原因です)ので、これを抑止します。/tmp/squashfs-root/etc/default/rcSの以下の設定を変更して下さい。

UTC=no

これで設定の変更は完了です。

イメージを再圧縮する

変更を反映したイメージを作成するために再圧縮しましょう。

# cd /tmp
# mksquashfs squashfs-root filesystem.squashfs

展開よりも数倍の時間がかかります。気長に待ちましょう。

イメージを再配置する

さて、再圧縮が完了したイメージを再配置しましょう。一応オリジナルは取っておいた方がいいですね。一緒にファイル属性も変更しておきます。

# mv /var/lib/tftpboot/ubuntu/casper/filesystem.squashfs /var/lib/tftpboot/ubuntu/casper/filesystem.squashfs.orig
# chmod 444 /tmp/filesystem.squashfs
# mv /tmp/filesystem.squashfs /var/lib/tftpboot/ubuntu/casper/filesystem.squashfs

これで完了しました!もう一度ブート用PCをブートしてみてください。変更が反映されているはずです。