| v1 | v2 | |
|---|---|---|
| 1 | 1 | = vbootstrap - bootstrap a basic Vine Linux system = |
| 2 | 2 | |
| 3 | == bootstrap == | |
| 4 | ||
| 3 | 5 | Vine Linux 上で Vine Linux のベースシステムを作成するためのスクリプト。 |
| 4 | ||
| 5 | 6 | |
| 6 | 同様の仕組みをもつものとして plus に tiny-buildfarm があるが現状では | |
| 7 | 動作しない状態になっている。 | |
| 7 | * chroot 環境の構築や Xen の DomainU 構築など | |
| 8 | * まずは Vine Linux 上で作成できるように。 | |
| 9 | 他のシステム上でも作成できるようにするのは将来。 | |
| 10 | * 同様の仕組みをもつものとして plus に tiny-buildfarm があるが現状では | |
| 11 | 動作しない状態になっている。 | |
| 12 | ||
| 13 | ||
| 14 | == 開発の選択肢 == | |
| 8 | 15 | |
| 9 | 16 | 選択肢としては以下のもの。 |
| 10 | 17 | |
| 11 | 18 | 1. tiny-buildfarm をメンテナンスする |
| 12 | 2. 独自スクリプトを用意する | |
| 19 | 2. 独自スクリプト(vbootstrap?)を用意する | |
| 20 | * ホストの apt を利用した簡便なシステムにする | |
| 21 | * bootstrap 用の static な apt を用意してつかう | |
| 22 | * apt に頼らないで bootstrapping できるようにする | |
| 13 | 23 | 3. [http://rpmstrap.pimpscript.net/ rpmstrap] を Vine Linux に対応させる |
| 14 | 24 | 4. [http://code.erisian.com.au/Wiki/debootstrap debootstrap] ベースで改造する |
| 15 | 25 | |
| 16 | 代わりとしてホストの apt を利用することで簡便な代替システムを用意する。 | |
| 26 | ||
| 27 | == とりあえずのchroot環境作成手順 == | |
| 28 | ||
| 29 | とりあえず以下の手順で apt が使えるベースの chroot 環境はできます。 | |
| 30 | /dev などはほぼ空っぽなのでこのままではブートできるシステムにはなりません。 | |
| 31 | ||
| 32 | {{{ | |
| 33 | INSTALLDIR=/path/to/root | |
| 34 | ||
| 35 | # rpmdb の初期化 | |
| 36 | mkdir -p $INSTALLDIR/var/lib/rpm | |
| 37 | rpm --initdb --root $INSTALLDIR | |
| 38 | ||
| 39 | # apt データベースの更新 | |
| 40 | apt-get update | |
| 41 | ||
| 42 | # 基本のパッケージをインストール | |
| 43 | for i in setup glibc coreutils bash rpm apt rootfiles | |
| 44 | do | |
| 45 | apt-get -y -o RPM::RootDir=$INSTALLDIR install $i | |
| 46 | done | |
| 47 | ||
| 48 | # vine-keyring を再インストール(上でいれた apt に再度読み込ませる) | |
| 49 | apt-get -y -q --reinstall -o RPM::RootDir=$INSTALLDIR install vine-keyring | |
| 50 | ||
| 51 | # resolv.conf をホストからコピー | |
| 52 | cp -a /etc/resolv.conf $INSTALLDIR/etc/ | |
| 53 | }}} | |
| 17 | 54 | |
| 18 | 55 | == 関連 bootstrap 機構 == |