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へ続く.