- 追加された行はこの色です。
- 削除された行はこの色です。
#nomenubar
松本成司 (matsu AT johnen.shinshu-u.ac.jp)
このページは、[[Debian Live System を使ったライブ・システム構築のメモ>DebianLive/Build-HOWTO]]の簡易版です。
Debian GNU/Linux testing (lenny) あるいは unstable (sid) 上での作業を前提としています。
詳しくは[[本家の説明:http://wiki.debian.org/DebianLive]] や live-helper の manpage などを参考にしてください。
目次
#contents
* 必要なツールのインストール [#z4a79440]
# apt-get install live-helper live-initramfs qemu wodim
ビルドに必要なツールは live-helper というパッケージに含まれています。qemu はビルドしたイメージをテストするためのエミュレータ、wodim は CDやDVDにイメージを焼くためのツールです。
* lh_config で設定 [#gf17bbbc]
まず作業ディレクトリを用意してそこに移動します。
以下の例では debian-live というディレクトリ名になっていますが、何でもかまいません。
700MBくらいのイメージを作成する場合には、4~5GB くらいの空き容量が必要です。
700MBくらいのイメージを作成する場合には、4GB くらいの空き容量が最低でも必要です。
$ mkdir debian-live
$ cd debian-live
$ su
debファイルをダウンロードするミラーサイトを指定します。
以下の ftp.jp.debian.org お近くのミラーサイトに置き換えてください。
以下の ftp.jp.debian.org をお近くのミラーサイトに置き換えてください。
# lh_config --mirror-bootstrap "http://ftp.jp.debian.org/debian/"
# lh_config --mirror-chroot "http://ftp.jp.debian.org/debian/"
# lh_config --mirror-binary "http://ftp.jp.debian.org/debian/"
$ lh_config --mirror-bootstrap "http://ftp.jp.debian.org/debian/"
$ lh_config --mirror-chroot "http://ftp.jp.debian.org/debian/"
$ lh_config --mirror-binary "http://ftp.jp.debian.org/debian/"
言語やブート時のパラメータを指定します。
# lh_config --language ja
# lh_config --bootappend-live "locale=ja_JP.UTF-8 keyb=jp kmodel=jp106"
$ lh_config --language ja
$ lh_config --bootappend-live "locale=ja_JP.UTF-8 keyb=jp kmodel=jp106"
USBメモリから起動する場合には、データを保存できるように persistent オプションもブートパラメータにいれておきます (ついでに noprompt も)
指定します。
USBメモリから起動する場合には、データを保存できるように persistent オプションもブートパラメータにいれておきます (ついでに noprompt も)。
# lh_config --bootappend-live "locale=ja_JP.UTF-8 keyb=jp kmodel=jp106 persistent noprompt"
$ lh_config --bootappend-live "locale=ja_JP.UTF-8 keyb=jp kmodel=jp106 persistent noprompt"
バイナリの形式を指定します。CDに焼く場合は、
# lh_config --binary iso
$ lh_config --binary-images iso
USBメモリの場合は、
# lh_config --binary usb-hdd
$ lh_config --binary-images usb-hdd
ディストリビューション (lenny またはsid)、セクションを指定します。
# lh_config --distribution lenny
# lh_config --categories "main contrib non-free"
$ lh_config --distribution lenny
$ lh_config --categories "main contrib non-free"
次にパッケージリストの作成して config/chroot_local-packageslists/ に保存します。
次にインストールしたいパッケージのリストの作成して config/chroot_local-packageslists/ に保存します。
あらかじめ以下の例のように日本語関連で必要そうなパッケージのリストを作成して
作業ディレクトリの下にある
config/chroot_local-packageslists/ というディレクトリに japanese というファイル名で保存しておきます
(http://wiki.debian.org/JapaneseEnvironment を参考に)。
config/chroot_local-packageslists/ というディレクトリに japanese というファイル名で保存しておくと便利です。
日本語化に必要なパッケージは http://wiki.debian.org/JapaneseEnvironment を参考にしてください。取り合えず以下のリストをコピーして保存しておけば、anthy による日本語入力も可能になります。
# japanese env
uim
uim-anthy
unifont
xfonts-a12k12
xfonts-intl-japanese
xfonts-intl-japanese-big
xfonts-unifont
ttf-sazanami-gothic
ttf-sazanami-mincho
ttf-vlgothic
xpdf-japanese
lv
nkf
次にデスクトップ環境を指定します (コンソールだけでよい場合には必要ありません)。
例えば Xfce を使う場合には、/usr/share/live-helper/lists/ の中にある xfce というファイルを参考にして、以下のような内容のファイルを作り config/chroot_local-packageslists/xfce-ja として保存します (名前は適当に)。
次にデスクトップ環境(コンソールだけでよい場合には必要ありません)やインストールしたiいパッケージを指定します。
基本的には、/usr/share/live-helper/lists/ の中にあるサンプルを参考にします。
例えば Xfce を使う場合には、/usr/share/live-helper/lists/ の中に xfce というファイルあるので、これを include した以下のようなファイルを作り、
config/chroot_local-packageslists/xfce-ja として保存します (名前は適当に)。
他のデスクトップ環境 (gnome や kde) の場合も同様です。
このファイルの中で先ほど作成した japanese を include しておきます。
#include <xfce>
#include <japanese>
# miscellaneous Xfce4 packages
xfce4-goodies
xfce4-places-plugin
thunar-volman
xfmedia
# misc
iceweasel-l10n-ja
mozilla-plugin-gnash
w3m
xterm
less
openssh-client
このリストを config/chroot_local-packageslists/xfce-ja というファイル名で保存した場合は、次のようにパッケージリストを指定します。
# lh_config --packages-lists xfce-ja
$ lh_config --packages-lists xfce-ja
リストに入れなかったパッケージでインストールしたいものがあれば追加します。例えば
# lh_config --packages "nqc g++ w3m"
$ lh_config --packages "nqc g++ w3m"
これらのコマンドは一度走らせると、前の設定を上書きしてしまうので注意してください。
次にカスタマイズした設定ファイルや Debian のパッケージ管理ツールで管理されていないファイルを config/chroot_local-includes/ 以下にコピーします。
例えば、現在使っている /etc/bash.bashrc や /etc/skel/、/usr/local/ 以下のファイルをビルドするイメージにも入れておきたい場合には、
次にカスタマイズした設定ファイルや Debian のパッケージ管理ツールで管理されていないファイルを config/chroot_local-includes/ 以下にコピーします
(デフォルトの設定のままでよい場合にはこの作業は不要です)。
例えば、現在使っている /etc/bash.bashrc や /etc/skel/ 以下の初期設定ファイル、 /usr/local/bin/ 以下のファイルなどをビルドするイメージにも入れておきたい場合には、
mkdir -p config/chroot_local-includes/etc/
mkdir -p config/chroot_local-includes/usr/local/
cp /etc/bash.bashrc config/chroot_local-includes/etc/
cp -a /etc/skel/ config/chroot_local-includes/etc/
cp -a /usr/local/* config/chroot_local-includes/usr/local/
$ mkdir -p config/chroot_local-includes/etc/
$ mkdir -p config/chroot_local-includes/usr/local/
$ cp /etc/bash.bashrc config/chroot_local-includes/etc/
$ cp -a /etc/skel/ config/chroot_local-includes/etc/
$ cp -a /usr/local/bin/ config/chroot_local-includes/usr/local/
のような感じでコピーします。
* lh_build でビルド [#i11729a2]
次のコマンド一発で、イメージをビルドしてくれます。
root になって次のコマンドを一発たたくと、それだけでディスクイメージをビルドしてくれます。
$ su
# lh_build
これでオリジナルのライブCDのイメージ (binary.iso) あるいは USB メモリのイメージ (binary.img) がカレントディレクトリにできるはずです。
設定を変更して再度ビルドする際には、lh_clean を実行したあとビルドしてください。
ちなみに、巷で話題の激安サーバ (12,800で購入, Celeron 430 - 1.8GHz, Memory 512MB, HD 80GB) を使ってここで紹介した設定例のままビルドした場合、deb ファイルのダウンロード時間を除いてだいたい 20分ほどかかりました。
出来上がったディスクイメージは約400MB、作業ディレクトリはこのイメージを含めて最終的に約2.4GBになりました。
設定を変更して再度ビルドする際には、ビルドの前に lh_clean を実行してください。
ただし lh_clean では config/ 以下のローカルファイルは削除されないので、不必要になったローカルな(=自分でコピーした)ファイルなどは手で削除する必要があります。
# lh_clean --all
# lh_build
また --all オプションをつけてもダウンロードした deb ファイルは cache/packages_chroot/ に残っているので 2回目以降はダウンロード時間は短縮されるはずです。
* qemuでテスト [#q1c91f17]
qemu -m 256 -cdrom binary.iso
$ qemu -cdrom binary.iso
または
qemu -m 256 -hda binary.img
$ qemu -hda binary.img
メモリは作業マシンのスペックに応じて -m オプションで適当に指定してください。この例では256MB を指定しています。
デフォルトでは qemu が使用するメモリは 128MB ですが、作業マシンに余裕があれば以下のように 256MBくらいは用意したほうが快適なエミュレーションができます。
$ qemu -m 256 -hda binary.img
* CD や USBメモリへの書き込み [#fafc9c28]
CDに書き込む場合は、例えば、
# wodim -eject binary.iso
USBメモリに書き込む場合は、マウントしていない状態で、例えば
# dd if=binary.img of=/dev/sdb
of= で書き込み先のUSBメモリのデバイス名を指定します (この例では /dev/sdb)。
USBメモリ内のデータはすべて消去されてしまうので注意してください。
(dd で bs=1024k などのオプションをつければコピーのスピードが速くなると思います)。
このイメージはパーティション情報まで含んだイメージなので、書き込み先が /dev/sdb1 ではなくて /dev/sdb になっていることに注意してください。
これでUSBメモリには新しいパーティションが一つ切られて (例えば /dev/sdb1)、残りは空き領域となっているので、ここに home 用のパーティションを追加します。
そのためには cfdisk などのツールを使ってその空き領域に Linux のパーティション (ext3 など) を追加し、そのボリューム名を home-rw にします。そうすることで起動時にそのパーティションを /home として自動的にマウントしてくれます。
# cfdisk /dev/sdb
# mkfs.ext3 /dev/sdb2 -L home-rw
これでライブUSBメモリのできあがりです。簡単!
* 参考リンク [#n52d67d1]
- http://wiki.debian.org/DebianLive (本家)
- [[Debian Live 3分クッキング:http://cliplife.jp/clip/?content_id=d068osmn]] (Debian開発者のやまねさんによるプレゼン)
2008年10月24日からのこのページのだいたいの訪問者数:
本日&counter(today);
昨日&counter(yesterday);
合計&counter(all);