Install Netbsd/i386 on VMware

Install NetBSD/i386 on VMware

WindowsXPにVMwareをインストールし,その上にNetBSD/i386をインストールしたときのメモ.

(注意)ディスクはcurrentへのバージョンアップで2GBを使用します.クロスコンパイル環境を構築する場合は,さらに1GB以上必要と考えます.

インストール _

NetBSDは2002年11月号のUnix User付録のCDに入っていたNetBSD 1.6をインストールした.

  • インストール時の私の失敗談を以下に示す.
    • swapパーティション(b)のOffsetを0に設定してしまい,NetBSDがブートできなかった.
  • VMwareの設定
    • Ether Net AdapterのMACアドレスを固定する

    dhclientでIPアドレスと取得したアドレスを固定にするため,MACアドレスを固定する.

    Windowsのメモ帳などでVMwareの設定ファイル*.vmx(私の場合はNetBSD.vmx)を開き,
    以下の行を追加
    [NetBSD.vmx]
    ethernet0.address="00:50:56:xx:yy:zz"   xxは00-3f,yy,zzは00-ffの任意の値
    

インストール後の設定 _

  • ホスト名の指定
    # vi /etc/myname
    [/etc/myname]
    hostname.domain
    
  • ユーザーの追加

    自分が普段使うユーザとグループを追加しておきます.

    まず,グループから
    # groupadd -g gid group-name
    次,ユーザー
    # useradd -G group-name -u uid user-name
    ホームディレクトリの作成
    # mkdir /home/user-name
    suでrootになれるように,wheelグループに自分を追加
    # vi /etc/group
    [/etc/group]
    wheel:*:root,user-name
    (以下省略)
    パスワードの設定
    # passwd user-name
    Changing local password for user-name.
    New password:            <- パスワード入力
    Retype new password:     <- もう一度入力
    
  • ネットワークの設定

    dhclientでネットワーク情報を得るように設定

    # vi /etc/rc.conf
    [/etc/rc.conf]
    dhclient=YES
    

    うちでは,これで,ip address,netmask,gateway address,dns address,hostnameが設定されます.


ちなみに,VMwareのネットワークカードは仮想的な物でNetBSD/i386では「AMD PCnet-PCI Ethernet」と認識され,デバイス名は「pcn0」となった.

  • inetd.confの設定
    • telnetdの起動

    他のパソコンからtelnetdログインできるようにtelnetdを起動します.セキュリティーを考えるとsshdを起動した方がいいのですが,外部からはログインする予定はないので,簡単に済ませました.

     # vi /etc/inetd.conf
     [/etc/inetd.conf]
     #telnet          stream  tcp     nowait  root    /usr/libexec/telnetd    telnetd
     この行の先頭の#を削除する
     telnet          stream  tcp     nowait  root    /usr/libexec/telnetd    telnetd
    

  • キーボードの設定

    デフォルトでは英語キーボードになっており,日本語キーボード(106/109)を使っていると,刻印通りにキー入力されないので,以下の設定を行う.

    # vi /etc/rc.conf
    [/etc/rc.conf]
    # Configuration of "wscons" console driver virtual screens.
    wscons=YES              wscons_flags="-w encoding=jp"
    
  • cshの設定
    • BS キーを有効にする
       # vi .login
       [.login]
       stty erase ^H
      
    • ファイル名補完を有効にする
       # vi .cshrc
       [.cshrc]
       set filec
      

ソフトのインストール _

ソースツリーの取得 _

Anoncvsを用いてNetBSD-currentのソースツリーを取得します.


参考URL:http://www.jp.netbsd.org/ja/Documentation/current/#using-anoncvs

 (csh)
 # setenv CVSROOT :pserver:anoncvs@anoncvs.netbsd.org:/cvsroot
 # cd /usr
 # cvs login
 anoncvs             passwd 入力
 # cvs co -P src     ソースツリー全体をチェックアウト

pkgsrcの取得 _

 # cd /usr
 # cvs -z5 co -P pkgsrc       今度は圧縮してチェックアウトする.(何となく)

pkgtools/pkg_installのインストール _

editors/vim をインストールしようとするとpkgtools/pkg_installを新しくすれ.と言われるので入れる.

 # cd /usr/pkgsrc/pkgtools/pkg_install
 # make
 # make install
 # make clean

ソフトのインストール1 _

  • editors/vim
    # cd /usr/pkgsrc/editors/vim
    # make
    # make install
    # make clean
    
  • shells/bash2
    # cd /usr/pkgsrc/shells/bash2
    # make
    # make install
    # make clean
    
  • sudo
    # cd /usr/pkgsrc/security/sudo
    # make
    # make install
    # make clean
    # vi /usr/pkg/etc/sudoers      自分をrootになれるようにする
    [/usr/pkg/etc/sudoers]
    user-name ALL=(ALL) ALL
    
  • screen
    # cd /usr/pkgsrc/misc/screen
    # make
    # make install
    # make clean
    

アップグレード _

2003/6/22現在,NetBSDの最新バージョンは1.6.1なので,1.6.1へアップグレードする.

 ツール群の作成
 # cd /usr/src
 # ./build.sh tools

 カーネルの作成
 # cd /usr/src
 # ./build.sh kernel=GENERIC
 # cd /usr/src/sys/arch/i386/compile/obj/GENERIC
 # make install

正しくインストールできれば,リブートする.

 はじめてユーザーランドを構築する場合:
 # mkdir /usr/obj
 # cd /usr/src
 # ./build.sh -D /usr/NetBSD-build-20030622 build > log.build 2>&1
 # ./build.sh -D /usr/NetBSD-build-20030622 install=/ > log.install 2>&1

 CVS update の後、ユーザーランドのバイナリーを更新する場合:
 # cd /usr/src
 # ./build.sh -D /usr/NetBSD-new-build -O /usr/obj -T /usr/tools -u build
 # ./build.sh -D /usr/NetBSD-new-build -O /usr/obj -T /usr/tools -u install=/

2003/8/2 はじめてインストールに成功しました.マルチユーザーモードのままインストールに成功しました.

リブートします.

ディスク増設 _

NetBSD/hpcmipsのクロスコンパイル環境を作成できるように,ディスク増設をした.

現在余っているSCSIディスク 2台をUSBに変換する周辺機器を使用した.1台のディスク容量が540MBと小さいので,NetBSDのソフトウエアRAID機能を使い1GBのHDDを増設する.詳しくはRadi0によるディスク増設を参照.

クロスコンパイル環境の構築 _

NetBSD/hpcmipsをコンパイルするためクロスコンパイル環境を構築する.

参考URL:NetBSD ドキュメンテーション:NetBSD のクロス構築

ソースツリーを取得する _

上記を参照

toolchainを作成 _

/usr/cross/{bin,include,lib,libexec,...} ディレクトリー以下に作る.

 % cd /usr/src
 % ./build.sh -m hpcmips -T /usr/cross tools

カーネルコンパイル _

 # ./build.sh -m hpcmips -T /usr/cross kernel=GENERIC
 ( /usr/src/sys/arch/hpcmips/compile/ 以下に構築される )

ユーザーランドの作成 _

 # ./build.sh -m hpcmips -T /usr/cross -D /raid0/hpcmips-20030825 build \
   > log.hpcmips-build

NetBSD/hpcmipsの作成 _

Mobile Gear II R430のシステムをアップグレードするためNetBSD/hpcmipsの1.6.1を構築する.

NetBSD/hpcipsのインストール _

インストールはhowto/NetBSD/hpcmips/upgradeへ続く.

パソコンでサーバーを構築して、自宅サーバにしよう。