Vine Linux の Updates CDを作る

2002.09.16

cf:
CD-Writing HOWTO
お家で使う Linux
Burning-Vine-CD.txt
memo-vineCD.txt
http://www.tmlug.org/howto/cd-r2.txt


  Linux で CD-R を焼く。
それも、最新アップデート状態の Vine をインストール出来る
CR-R を作る。

  今度、マシンを自作(新調)をする予定だけど、そのトキに、
一発で最新のアップデート状態の Vine を入れられる様にしたい。

  多分、だけど、最新の状態でないと、ビデオチップ(GeForce の 4MX を入れる予定)を認識しない氣がするから。


目次:

/etc/lilo.conf の修正
Cdrecord のインストール
データーの作成
  1. 作業場所の確保
  2. RPM Package のアップデート
  3. comps の修正
  4. 搭載ファイルの削減
  5. genhdlistの取り出し
  6. Makefileの作成
  7. hdlistの更新
  8. boot.img のコピー
CD-R/RW に焼く
  CD イメージの作成
  中身の確認
  焼く
おしまい
ちなみに




/etc/lilo.conf の修正
  Linux で ATAPI CD-R/RW を使うには SCSI のフリをさせないといけない。
その方法は、ide-scsi.o というモジュールを組み込む。

> append="hdc=ide-scsi"

の一行を何処かに追加。
hdc は CD-R/RW が付いている IDE コントローラーに、適宜合わせるコト。

/etc/lilo.conf を修正したら、

# /sbin/lilo

を忘れない様に。
でないと、修正した /etc/lilo.conf の内容が反映されまヘン。

  ちなみに、今の /etc/lilo.conf はこんな風になっちゃった。
良い子のみんなは、まねするなよ。
  prompt
  timeout=50
  default=linux
  boot=/dev/hda7
  map=/boot/map
  install=/boot/boot.b
  #message=/boot/message
  lba32

  image=/boot/vmlinuz-2.4.18-0vl3
        label=linux
        read-only
        root=/dev/hda7
        append="hdc=ide-scsi"

  image=/boot/vmlinuz-2.2.20-0vl10
        label=linux-2.2-up
        read-only
        root=/dev/hda7
        append="hdc=ide-scsi" 

cdrecord のインストール
How to install cdrecord-1.10-0vl3.src.rpm


データーの作成
  なにはともあれ、アップデートされた、最新状態のデーターを作らねば、なるまい。

  配布されている Vine Linux の CD-ROM を元に、それをアップデートする。
使った CD-ROM は、今インストールしたのに使った UNIX USER 2002.06 のオマケ CD

  これは、その他の連載記事なども収録している関係で、Project Vine 謹製ではなく、ディレクトリ関係はちょっとホンモノ(?)とは異なっていると思われるので、適宜、読みかえる様に。

CD-ROM のディレクトリ配置。
    /mnt/cdrom/boot.img 
    /mnt/cdrom/Vine/ 
    /mnt/cdrom/Vine/i386 
    /mnt/cdrom/Vine/RPMS/   ->  今回のキモ 
    /mnt/cdrom/Vine/base/ 

手順
  1. CD-ROM の中身を持って来る

  2.   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 

  3. RPM Package のアップデート

  4.   Update された RPM パッケージをダウンロードし、
    /root/tmp/newvine/Vine/RPMS/ の中味を入れ換える。
    実は、この作業が一番テマ鴨。

    apt-get を使えば、ラク鴨。
    apt-get で落してきたファイルは
       /var/cache/apt/archives/
    に入る。

  5. comps の修正

  6. お家で使う Linux
    によると、やらなくても逝けそうなので、パスした。
     > Vine-2.1.5では Vine/base/comps_data ディレクトリ内の
     > データーからcompsファイルを生成するのですが、
     > Vine-2.5ではこのディレクトリは無く、 
     > compsファイルを直接いじることになります。
      自分が、絶対に入れるだろうな、っていうファイル
    (bluefish, wmifs, wmmon, gogo, etc)も入れたいなら、
    comps を修正して、パッケージ名を追加してもヨイ鴨。
    テキストファイルだから、簡単に出来るハズ。

  7. 搭載ファイルの削減

  8.   そんなコトをしていると、CD-ROM の上限 640(650?)MB を越えちゃう鴨。

    そんなトキは、使わないパッケージの削除を行うベシ。

  9. genhdlistの取り出し

  10.   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 で行っている。
  11. Makefileの作成

  12. genhdlist を楽に使う為の Makefile

    /home/hoge/work/newvine/Vine/base の中に保存。
      > all: clean hdlist pkglist
      > 
      > hdlist:
      >   ./genhdlist ../../
      > 
      > pkglist:
      >    ( cd .. ; genpkglist . main )
      >
      > clean:
      > rm -f hdlist* pkglist.* *~ 


  13. hdlistの更新

  14. /home/hoge/work/newvine/Vine/base/ に入って、

      $ make

    を一発かます!!

    すると、hdlist と apt 用のパッケージリストが更新される。
    ユーザー権限で OK。

  15. boot.img のコピー

  16.   焼いた CD-ROM でブートするためのイメージを
    元にした Vine Linux の CD-ROM から持って来る。
     # cp /mnt/cdrom/boot.img  /home/hoge/work/newvine/ 
    

CD-R/RW に焼く

準備は全て終り。
あとは、mkisofs で CD イメージを作って、
cdrecored で焼くだけ。

CD イメージの作成
 # cd /home/hoge/work/newvine/ 
   
 # mkisofs -r -o ../image.iso -b boot.img -c boot.catalog -J  .
 
 -r :  Rock Ridge 拡張 (必ず付ける)
 -o file :  作成イメージファイル名(必ず付ける) 
 -b boot-image-file -c boot.catalog : 
           El Torito 形式の CD の boot image 
 -J :  Joliet 拡張( Windows でも長いファイル名で見れる) 

中身の確認
 # mount -o loop  ../image.iso  /mnt/tmp 

焼く

ドライブに空のメディアを入れて、
  # cd /home/hoge/work/ 
  # cdrecord -v speed=8 dev=0,0,0  ./image.iso 

  dev=0,0,0 は 
  # cdrecord --scanbus で判る  
  
  -v は verbose 
  speed は 書き込み速度 

おしまい
あとは、この Update CD-ROM で起動するだけで、 最新状態の Vine Linux をインストール出来る様になっている(ハズ)。

ちなみに
ブートの必要の無い、データ−のみを焼く場合は、
/home/hoge/hoge/cd-r/ 以下に焼きたいデータ−を入れて、
 $ cd /home/hoge/hoge/cd-r/
    
 # mkisofs -r -o ../image.iso  -J  . 
 
 # cdrecord -v speed=8 dev=0,0,0  ./image.iso

焼くのって、結構、時間がかかるもんなんだな。











戻る