何もインストールされていないターゲット向けにDebian基本システムを作る手順です。Debianの作法的に正しいかどうかはわかりません。
NFS-Rootのホスト側ディレクトリを/nfsroot/etch-ARCH として説明します。
ARCHはアーキテクチャ(arm, mipsel, powerpcなど)に置き換えてください。
debootstrapを--foreignオプションで実行します。
# debootstrap --foreign --arch ARCH etch /nfsroot/etch-ARCH http://ftp.debian.org/debian/
NFS-Root用の/etc/fstabを用意します。
# echo "proc /proc proc defaults 0 0" > /nfsroot/etch-ARCH/etc/fstab # echo "ホストのIPアドレス:/nfsroot/etch-ARCH / nfs defaults 0 1" >> /nfsroot/etch-ARCH/etc/fstab
/dev/consoleを作ります。
# mknod /nfsroot/etch-ARCH/dev/console c 5 1
NFSサーバの設定については触れません。
カーネルパラメータでホストの/nfsroot/etch-ARCHをNFS-Rootとして指定してカーネルを起動します。
カーネルパラメータの例:
console=ttyS0,115200n8 root=/dev/nfs nfsroot=ホストのIPアドレス:/nfsroot/etch-ARCH/ ip=ホストのIPアドレス:::サブネットマスク::eth0: init=/bin/sh
# mount -n -o remount,rw / # mount -n /proc # export PATH=/bin:/sbin:/usr/bin:/usr/sbin # date -s "2008-2-27 18:33"debootstrapを--second-stageオプションで実行します。
# /debootstrap/debootstrap --second-stage --no-resolve-deps
上記手順で作成したDebian基本システムをターゲットのNANDやCFなどにインストールして使う場合、事前にターゲットの環境に合わせて設定が必要になります。
よくある設定としては
といったところでしょうか。
シリアルコンソールであればttySnも作っておくといいかもしれません。
# cd /nfsroot/etch-ARCH/dev # ./MAKEDEV ttyS