Ubuntu Weekly Recipe

第300回 【連載300回記念特別企画】Ubuntu日本語Remixについてまとめてみた

この記事を読むのに必要な時間:およそ 4 分

Ubuntu日本語Remixの作成

ここで,実際に「Ubuntu 13.10 日本語 Remix DVD」の64bit版をどのように作成したのかを紹介しましょう。

Ubuntuのインストールメディアである「Desktop DVD」には,圧縮されたファイルシステムが含まれています。以前は,この圧縮ファイルシステムをディスク上に展開してカスタマイズ作業をしていました。これは,ミスをするたびに圧縮ファイルシステムとisoファイルを作り直すという面倒なものでした。

しかし,Ubuntu 11.10で追加された「ubuntu-defaults-builder」というパッケージにより,コマンド1つでカスタマイズした圧縮ファイルシステムを含むisoファイルが生成できるようになりました。ubuntu-defaults-builderの使い方については,第196回第290回で紹介されていますので,詳しくはそちらをご覧ください。

さて,日本語Remix DVDのテンプレートとなる「ubuntu-defaults-ja」パッケージを作り,「ubuntu-defaults-image」コマンドを実行するだけで配布用isoファイルが生成されれば本当に簡単なのですが,実際にはリリースごとに,いくらか筆者のほうで手を入れています。ubuntu-defaults-imageで作って気になった部分を直し,他の方にテストをしてもらって指摘された内容に基づいてやり直して……という形で進めており,決まった手順というものはありません。リリースごとの状況に応じて「いきあたりばったり」な面も大きいです。

2013年11月5日にリリースした「Ubuntu 13.10 日本語 Remix DVD」の64bit版では,以下の点で単純にubuntu-defaults-imageコマンドを使って生成したものと異なります。

1.im-setup-helperパッケージの追加

先にも書きましたとおり,13.10の日本語Remixにはあわしろいくや氏が作成したスクリプトを追加してあります。このスクリプトは「im-setup-helper」というパッケージになっているのですが,ubuntu-defaults-imageコマンドで追加指定できるのは1つのパッケージだけです。「ubuntu-defaults-ja」は必ず指定しなければならないので,そのままではim-setup-helperを追加することができません。オプションにJapanese TeamのPPAを指定すれば両方インストールできそうですが,そうするとできあがったイメージにPPAの設定が残ってしまいますし,ubuntu-defaults-jaを作り直すたびにPPAにアップロードするのも面倒です。そこで,ubuntu-defaults-imageコマンドを一部変更し,複数のパッケージを指定できるようにしました。

/usr/bin/ubuntu-defaults-imageから抜粋

変更前
        --package)
            PACKAGE="$2"
 (中略)
   cp "$PACKAGE" config/packages.chroot/


変更後
        --package)
            if [ -z "$PACKAGE" ]; then
              PACKAGE="$2"
            else
              PACKAGE="$PACKAGE $2"
            fi
 (中略)
    cp $PACKAGE config/packages.chroot/

このように変更したうえで,以下のコマンドを実行してisoイメージを生成しました。

ubuntu-defaults-image --package ubuntu-defaults-ja_13.10-0ubuntu1~ja1_all.deb --package im-setup-helper_0.7_all.deb --release saucy --components main,restricted,universe

今考えてみれば,ubuntu-defaults-imageコマンドに手を入れるのではなく,ubuntu-defauts-jaに含まれるスクリプトにim-setup-helperの追加処理を加えるという方法のほうがスマートだったかもしれません。

2..disk/infoにバージョン番号を追記

生成されたbinaryディレクトリ以下にある.disk/infoにバージョン番号が抜けていたため追記しました。

変更前
Ubuntu "Saucy Salamander" - Build amd64 LIVE Binary 20131024-17:53


変更後
Ubuntu 13.10 "Saucy Salamander" - Build amd64 LIVE Binary 20131024-17:53

3.リリースノートURLの設定

ここからは,binaryディレクトリ(isoファイルのルートとなるディレクトリ)以下のファイルを変更します。まず,binary/.disk/release_notes_urlを作成して以下のURLを記述しました。

https://wiki.ubuntu.com/SaucySalamander/ReleaseNotes/Ja

これで,インストーラからリリースノートのリンクをクリックした際,日本語のリリースノートページが開くようになりました。

4.インストーラの言語選択画面を出さないようにするための対応

Ubuntu 13.10のリリース直前,インストーラの言語選択画面が出ると日本語キーボードの設定が不正に書き換えられ,日本語入力がデフォルトでONになってしまう,という問題が見つかりました。そもそも日本語Remixでは言語選択画面を出す必要がないため,デフォルトでライブセッションを起動するよう以下の変更を行いました。

以下のコマンドで,gfxboot-theme-ubuntuパッケージのソースコードを取得しました。

apt-get source gfxboot-theme-ubuntu

作成されたディレクトリに入り,common.incから,maybe-ubiquityという文字列を削除しました(1箇所)。

makeコマンドを実行しました。

生成されたinstall/bootlogoを,ubuntu-defaults-imageを実行したディレクトリのbinary/isolinux/bootlogoに上書きしました。

5.インストール時に選択可能な言語を日本語だけに制限

binary/isolinux/langlistを「ja」1行だけにしました。これで,起動時に選択可能が言語が「日本語」だけになります。

6.UFEI対応isoの生成

今回から64bit版の日本語Remixを配布することになったのですが,ubuntu-defaults-imageはUFEIに対応したisoを生成できません。そのため,以下の作業を行いUFEI対応としました。

http://www.ubuntu.com/からダウンロードした「ubuntu-13.10-desktop-amd64.iso」をマウントし,以下のファイルおよびディレクトリをbinaryディレクトリにコピーしました。

  • EFI/
  • README.diskdefines
  • boot/
  • dists/
  • pool/
  • preseed/
  • .disk/base_installable
  • .disk/cd_type

boot/grub/grub.cfgのlinuxで始まる行に,以下のオプションを追記しました。

debian-installer/language=ja keyboard-configuration/layoutcode?=jp keyboard-configuration/modelcode?=jp106

以下のコマンドでubuntu-13.10-desktop-amd64.isoのmbrを別ファイルにコピーしました。

dd if=ubuntu-13.10-desktop-amd64.iso of=ubuntu-13.10-desktop-amd64.iso.mbr bs=512 count=1

以下のコマンドでmd5sum.txtを生成しました(binaryディレクトリ内で実行)。

sudo find . -type f -exec md5sum {} \; |grep -v isolinux|grep -v md5sum.txt|sudo tee md5sum.txt

以下のコマンドでisoファイルを生成しました。

sudo xorriso -as mkisofs \
-J \
-l \
-isohybrid-mbr ubuntu-13.10-desktop-amd64.iso.mbr \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-eltorito-alt-boot \
-e boot/grub/efi.img \
-no-emul-boot \
-isohybrid-gpt-basdat \
-V "Ubuntu 13.10 ja amd64" \
-o ubuntu-ja-13.10-desktop-amd64.iso \
binary/

これで,Ubuntu日本語Remixのisoファイルができました。

Ubuntuと日本語Remixの今後

前述のとおり,「『Linux』より『Ubuntu』の名前のほうが有名になるかもしれない」と思ってUbuntuに関わるようになったのですが,8年が経過して「Linux」より有名になったLinuxベースのOSは「Android」でした。8年前にはiPhoneもAndroidも存在しなかったのですが,今やスマートフォンやタブレットの普及がすさまじい速さで進んでいます。ノートPCの販売台数とタブレットの販売台数がほぼ同等になるとのニュースも流れていますし,PCではなくタブレットを選ぶ人が今後も増えていくのでしょう。

このような情勢の変化に対応するため,Canonical社はUbuntu Touchの開発を進めています。その影響で,将来的にはUbuntu Desktopのディスプレイサーバも「Mir」に移行するなど,大きな変化が予定されています。そんな中,Ubuntu日本語Remixを今後どうしていくべきかについては,まだわかりません。Ubuntu Touchをインストールしたタブレットやスマートフォンを使う人が増えれば,そちらへの対応を重点的に行う必要があるかもしれませんし,タブレットよりもPC用OSとしての需要が高いままなら,現在のようにインストール用のDVDイメージや,VirtualBox用の仮想ハードディスクイメージの提供に力を入れ続けることになるでしょう。

いずれにしましても,Ubuntuをできるだけ多くの方に使っていただけるよう,Ubuntu Japanese Teamのメンバーで議論を重ね,最適だと思われる方針を採りたいと考えています。

Ubuntu Japanese Teamからのお知らせ

本連載第300回を記念してイベントを開催することになりました。興味のある方はhttp://atnd.org/event/E0022213からお申し込みください。

著者プロフィール

小林準(こばやしじゅん)

Ubuntu Japanese Team リーダー。2005年より日本国内でUbuntuの普及活動を行っている。著書に,Linuxシステムの管理に必要な知識を解説した『独習Linux』がある。

コメント

コメントの記入