- CD-ROM の中身を持って来る
permitton の関係があり、作業は全てルートで行う。
でも、作業場所は、ユーザー hoge の中で行う。
CD-ROM の内容を全てコピーして、書き込み可能属性を付けておく。
それと、一般ユーザー hoge の所有にすると後々、パッケージの更新がしやすくなる。
# mkdir -p /home/hoge/work/newvine/
# cd /home/hoge/work/newvine/
# cp -aR /mnt/cdrom/Vine/ ./
# cd ..
# chmod +w -R ./newvine
# chown hoge -R ./newvine
コピー後
# /home/hoge/work/newvine/Vine/
# /home/hoge/work/newvine/Vine/RPMS/
# /home/hoge/work/newvine/Vine/RPMS.main -> RPMS/
# /home/hoge/work/newvine/Vine/base/
# /home/hoge/work/newvine/Vine/i386
- RPM Package のアップデート
Update された RPM パッケージをダウンロードし、
/root/tmp/newvine/Vine/RPMS/ の中味を入れ換える。
実は、この作業が一番テマ鴨。
apt-get を使えば、ラク鴨。
apt-get で落してきたファイルは
/var/cache/apt/archives/
に入る。
- comps の修正
お家で使う Linux
によると、やらなくても逝けそうなので、パスした。
> Vine-2.1.5では Vine/base/comps_data ディレクトリ内の
> データーからcompsファイルを生成するのですが、
> Vine-2.5ではこのディレクトリは無く、
> compsファイルを直接いじることになります。
自分が、絶対に入れるだろうな、っていうファイル
(bluefish, wmifs, wmmon, gogo, etc)も入れたいなら、
comps を修正して、パッケージ名を追加してもヨイ鴨。
テキストファイルだから、簡単に出来るハズ。
- 搭載ファイルの削減
そんなコトをしていると、CD-ROM の上限 640(650?)MB を越えちゃう鴨。
そんなトキは、使わないパッケージの削除を行うベシ。
- genhdlistの取り出し
hdlist を更新するためのプログラム genhdlist を stage2.img から抜きだす。
loop デバイスを使って、stage2.img を /mnt/tmp/ にマウントする。
/home/hoge/work/newvine/Vine/base に genhdlist をコピー
# cd /home/hoge/work/newvine/Vine/base/
# mount -o loop stage2.img /mnt/tmp
$ cp /mnt/tmp/usr/lib/anaconda-runtime/genhdlist .
注意!!
VineLinux 2.5 on kernel 2.2.20-0vl10 は、
デフォルトで cramfs.o をサポートしていない。
cramfs.o がサポートされていないと、
# mount -o loop stage.o /mnt/tmp
は使えない。
よって、kernel 2.4.18-0vl3 を使う必要があり、
今回の作業は 全て kernel 2.4 で行っている。
- Makefileの作成
genhdlist を楽に使う為の Makefile
/home/hoge/work/newvine/Vine/base の中に保存。
> all: clean hdlist pkglist
>
> hdlist:
> ./genhdlist ../../
>
> pkglist:
> ( cd .. ; genpkglist . main )
>
> clean:
> rm -f hdlist* pkglist.* *~
- hdlistの更新
/home/hoge/work/newvine/Vine/base/ に入って、
$ make
を一発かます!!
すると、hdlist と apt 用のパッケージリストが更新される。
ユーザー権限で OK。
- boot.img のコピー
焼いた CD-ROM でブートするためのイメージを
元にした Vine Linux の CD-ROM から持って来る。
# cp /mnt/cdrom/boot.img /home/hoge/work/newvine/