Fork me on GitHub

Openbsd Fuguitaのカーネルの再構築

  • Jul 30, 2010

categoryプラグインは存在しません。

概要

OpenBSDは、minirootをカーネルイメージ内に抱えているので、minirootを変更、特にサイズを変更したいときはカーネルの再構築が必要です。その手順のメモ。

環境

手順

  • USBからFuguItaをブート
  • USBメモリを読み書き可で再マウント
  • </ul>
    mount -f -o update,rw /sysmedia
    
    • 作業用ディレクトリを作って、toolsとsysのソースを持ってくる。

    別のマシンでダウンロードしたものを、別のUSBメモリで受け渡すと楽です。

    mkdir -p /sysmedia/work
    cd /sysmedia/work
    cp /somewhere/tools-4.7.tar.gz .
    tar zxvf tools-4.7.tar.gz
    cp /somewhere/sys.tar.gz .
    tar zxvf sys.tar.gz
    
    • /usr/srcからリンク
    ln -s /sysmedia/work/sys /usr/src/sys
    
    • パラメータを変更
    cd tools-4.7/sys/arch/i386/conf
    vi RDROOT
    

    minirootのサイズは512バイトのブロックの数。

    • カーネルをコンパイル
    config RDROOT
    cd ../compile/RDROOT
    make clean
    make depend
    make
    

    コンパイルしたカーネルは、tools-4.7の下にコピーしておきます。

    cp bsd /sysmedia/work/tools-4.7/bsd.orig
    
    • minirootのカスタマイズ

    tools-4.7以下にあるrdroot.imgをループバックマウントしてカスタマイズします。

    cd /sysmedia/work/tools-4.7
    vnconfig svnd2 rdroot.img
    mount /dev/svnd2a /mnt
    

    容量が足りない場合は、

    cd /sysmedia/work/tools-4.7
    mv rdroot.img rdroot-org.img
    dd if=/dev/zero of=rdroot.img bs=512 count=8192
    vnconfig svnd2 rdroot.img
    disklabel -E svnd2 (aパーティションを作成)
    newfs svnd2a
    mount /dev/svnd2a /mnt
    

    などとします。

    • カーネルイメージの作成

    あとは、makeでカーネルとminirootをくっつくれば完成です。

    make bsd.rdcd
    

    完成したカーネルイメージ(bsd-fi)は、mediaの中にできます。

    参考

    コメント

    commentプラグインは存在しません。