- The added line is THIS COLOR.
- The deleted line is THIS COLOR.
「俺はお仕着せのISOイメージは嫌だ。
普段使いれた環境をLiveCD化して使いたい」
普段使いれた環境をLiveCD化して使いたい」~
という方のための作成マニュアル
**必要なもの [#e6164fdc]
- A) LiveCD作成作業用のOpenBSD 3.8動作環境
-- カーネルがコンパイルできること(コンパイラ、ソースツリーなどがあること)
-- カーネルがコンパイルできること(コンパイラ、ソースツリーなどがあること)。
-- vnodeデバイスによるファイルイメージがマウントできること。
-- ports/packagesからcdrtoolsがインストールされ、cdrecordが使用可能であること。
- B) [[作成ツール>http://kaw.ath.cx/dl/pub/OpenBSD/LiveCD/old/tools-3.8beta.tar.gz]]
- B) [[作成ツール>http://kaw.ath.cx/dl/pub/OpenBSD/LiveCD/old/tools-3.8beta.tar.gz]]((3.8beta用だが、リリース版のOpenBSD 3.8に対しても使用可))
- C) LiveCDの元となるOpenBSD 3.8動作環境
**作成手順 [#qd0a3c92]
上記の必要なものをそろえる。作業は前項Aの環境を動作させ、
その上で作業を行なう
その上で作業を行なう。~
作業は root 権限で行う。
***ツールの展開 [#gea31d91]
起動したLiveCD作成作業用のOpenBSD上で作業用ディレクトリを作成し、
その中で作成ツール (tools-3.8beta.tar.gz) を展開する。
tar xvzf tools-3.8beta.tar.gz
このツールは3.8beta用だが、リリース版のOpenBSD 3.8に対しても
使用可。~
展開されたツールは以下のファイルツリー構成となっている;
tools-3.8
+-Makefile
+-bsd
+-bsd.orig
+-cdroot
| +-->
+-lib
+-cdroot/
| +-->[LiveCDのとなる環境(前項のC)]
+-lib/
| +-RDROOT
| +-cdboot
| +-cdbr
| +-elfrdsetroot.c
+-rdroot
| +-->
+-rdroot.img
+-rdroot.orig
tools-3.8/rdroot.orig/bin
tools-3.8/rdroot.orig/boottmp
tools-3.8/rdroot.orig/boottmp/init
tools-3.8/rdroot.orig/boottmp/ksh
tools-3.8/rdroot.orig/boottmp/ln
tools-3.8/rdroot.orig/boottmp/login.conf
tools-3.8/rdroot.orig/boottmp/mount
tools-3.8/rdroot.orig/boottmp/mount_cd9660
tools-3.8/rdroot.orig/boottmp/mount_ffs
tools-3.8/rdroot.orig/boottmp/mount_mfs
tools-3.8/rdroot.orig/boottmp/rc
tools-3.8/rdroot.orig/boottmp/sh
tools-3.8/rdroot.orig/boottmp/sysctl
tools-3.8/rdroot.orig/cdrom
tools-3.8/rdroot.orig/dev
tools-3.8/rdroot.orig/dev/MAKEDEV
tools-3.8/rdroot.orig/dev/*
tools-3.8/rdroot.orig/etc
tools-3.8/rdroot.orig/mfs
tools-3.8/rdroot.orig/mnt
tools-3.8/rdroot.orig/sbin
tools-3.8/rdroot.orig/tmp
tools-3.8/rdsetroot
+-rdroot/
| +-->[rdroot.imgのマウント・ポイント]
+-rdroot.img [rdrootの実体]
+-rdroot.orig/ [カーネルに組み込むルートイメージ]
| +-bin@ -> boottmp
| +-boottmp
| | +-init ksh ln login.conf
| | mount mount_cd9660 mount_ffs mount_mfs
| | rc sh sysctl
| |
| +-cdrom
| +-dev
| | +-MAKEDEV, (device files)
| +-etc@ -> boottmp
| +-mfs
| +-mnt
| +-sbin@ -> boottmp
| +-tmp
+-rdsetroot
***カーネルを作る [#ya67bbbb]
LiveCD上で動作させるカーネルを作成する。
生成時に使用するカーネル構成ファイルは、RAM Diskデバイスをマウントできるよう、
以下の記述を加える。
#config bsd swap generic ←コメントアウト
option RAMDISK_HOOKS
option MINIROOTSIZE=3800 ←rootファイルシステムのサイズ
config bsd root on rd0a (512バイト/ブロック)
> ~略~
pseudo-device rd 1 # ramdisk ←この行を追加
標準のカーネル構成ファイルGENERICにこの変更を加えたものがlib/RDROOTなので、
これを参考にする。
あとは、通常のカーネルの生成と同様、
自分の用途に合せて構成ファイルの容を編集する。
出来たカーネルをbsd.origにコピーする。
***環境の作成 [#a05b0132]
-Originateをcdboot下にコピー
-要らんファイルを消す。
LiveCDのとなるOpenBSD 3.8動作環境をcdroot以下にコピーする。
他のマシンからコピーする場合
cd cdroot && ssh root@orig-host 'tar cpf - /' | tar xvpf -
このままでも動作には差し支えないはずだが、不要なファイルもあるので、
それらを消去する。
- /tmp/* に残っているゴミ
- /home 以下の個人的なファイル
- /var/log, /var/cron/log などのログファイル
- /var/run 以下のPIDファイルなど
- ... etc
用途によっては、その他ユーザの個人報を特定されるファイルが残っていないかどうかにも注意。
***ISOイメージの作成 [#kd6c1c87]
-rdrootをvnconfig→マウント
-MAKEDEV
-make vnoff
-make cdrburn
----
tools-3.8
tools-3.8/Makefile
tools-3.8/bsd
tools-3.8/bsd.orig
tools-3.8/cdroot
tools-3.8/lib
tools-3.8/lib/RDROOT
tools-3.8/lib/cdboot
tools-3.8/lib/cdbr
tools-3.8/lib/elfrdsetroot.c
tools-3.8/rdroot
tools-3.8/rdroot.img
tools-3.8/rdroot.orig
tools-3.8/rdroot.orig/bin
tools-3.8/rdroot.orig/boottmp
tools-3.8/rdroot.orig/boottmp/init
tools-3.8/rdroot.orig/boottmp/ksh
tools-3.8/rdroot.orig/boottmp/ln
tools-3.8/rdroot.orig/boottmp/login.conf
tools-3.8/rdroot.orig/boottmp/mount
tools-3.8/rdroot.orig/boottmp/mount_cd9660
tools-3.8/rdroot.orig/boottmp/mount_ffs
tools-3.8/rdroot.orig/boottmp/mount_mfs
tools-3.8/rdroot.orig/boottmp/rc
tools-3.8/rdroot.orig/boottmp/sh
tools-3.8/rdroot.orig/boottmp/sysctl
tools-3.8/rdroot.orig/cdrom
tools-3.8/rdroot.orig/dev
tools-3.8/rdroot.orig/dev/MAKEDEV
tools-3.8/rdroot.orig/dev/*
tools-3.8/rdroot.orig/etc
tools-3.8/rdroot.orig/mfs
tools-3.8/rdroot.orig/mnt
tools-3.8/rdroot.orig/sbin
tools-3.8/rdroot.orig/tmp
tools-3.8/rdsetroot
以下の何れかのコマンドを実行する。
make livecd.iso ... ISOイメージを livecd.iso という名前で実行
又は
make cdrburn ... CD-Rを作成する(焼きこみ)
又は
make cdrburn ... CD-RWを作成する(CD-RWの初期化+焼きこみ)
**(参考) Makefileターゲット [#sb13cc7b]
Makeファイルには以下のターゲットが存在する;
:vnon|rdroot.imgをvnodeデバイス経由でrdrootにマウントする
:vnoff|rdrootをアンマウントし、vnodeデバイスを解放する
:bsd.rdcd|CD-ROM用のカーネルを作成する。~
(カーネルにルートファイルイメージを書込んだあとgzipで圧縮する)
:tree|CD-ROMのファイルツリーをセットアップする~
(カーネルやブートローダの追加などを行う)
:livecd.iso|ISOイメージを作成する
:cdburn|cdrecordを起動し、CD-R/CD-RWへの書込みを行う
:cdrclean|cdrecordを起動し、CD-RWの初期化を行う
:cdrburn|cdrecordを起動し、CD-RW初期化後、書込みを行う