*NetBSD お試しパックの概要 [#z34b88bb]
-はじめに~
NetBSDに興味津々なLinux使いの方を対象に(私もそうですが)、~
NetBSDを手軽に味わえる ''NetBSDお試しパック'' をご用意しました。~
自己責任でお使いください。~
(NonakaさんやTokudaさんの成果物を使用させて頂いています。)~
~

-お試しパックの特徴
--RAMDISKから起動 … 基本的には、HDDのをさわりません~
--シリアルコンソール不要 … あったらあったで便利です~
--DHCPでIPアドレス自動取得
--telnetログイン~
--tcsh や wgetコマンド搭載
--NetBSDのHDDインストール用途にも使えます。
~
~

 
-お試しパックの中身
--SH-Linux Kernel Switchr 3.2
--netbsd-RAMDISK … NetBSDカーネル
--miniroot.img … ルートファイルシステムをRAMDISKイメージ化したもの
~
~

-用意する物
--telnetdを組み込んだLANDISK
--DHCPサーバ機能付ルーター等
~
~
*セットアップ&起動 [#u4f526e5]
-landiskへtelnetログイン後、rootになり、お試しパックを展開します。~
~
--NetBSDお試しパック … [[netbsd-otameshi.tgz:http://eggplant.ddo.jp/www/download/SH-Linux_Kernel_Switcher/netbsd-otameshi.tgz]]~
-~
#pre{{
# cd /mnt/hda3
# tar vxfz /mnt/hda3/share/disk/netbsd-otameshi.tgz
netbsd-otameshi/
netbsd-otameshi/dev/
netbsd-otameshi/dev/kernelsw
netbsd-otameshi/src/
netbsd-otameshi/src/build.sh
netbsd-otameshi/src/kernelsw.c
netbsd-otameshi/kernelsw.o
netbsd-otameshi/nbsd.conf
netbsd-otameshi/kernelsw.pl
netbsd-otameshi/netbsd-RAMDISK
netbsd-otameshi/miniroot.img
# cd netbsd-otameshi
}}

-&color(red){''2.6.13 カーネルから起動する場合''};~
kexecを使用してNetBSDカーネルをブートすることができます。~
まず、kexec-tools を apt-get して kexec コマンドをインストールします。
#pre{{
landisk:~netbsd-otameshi# apt-get install kexec-tools
}}
そして、次のように minirootイメージとカーネルを指定して kexec コマンドを実行すればOKです。~
#pre{{
landisk:~netbsd-otameshi# kexec --miniroot=miniroot.img netbsd-RAMDISK
}}


-2.4 カーネルから起動する場合(LANDISKオリジナル環境)~
同封するSH-Linux Kernel Switchr(kernelsw.pl)を使用してブート可能です。~
まず、Kenelsw.plを使用してNetBSDイメージを読み込み、
#pre{{
# ./kernelsw.pl nbsd.conf
sh: kernelversion: command not found
Loading .... done.
sh: kernelversion: command not found
==============================================
        SH-Linux Kernel Switcher V3.2
----------------------------------------------
 image  = ./netbsd-RAMDISK (size:16662528,page:4069)
 offset = 0x00001000
----------------------------------------------
 kernel boot parameter details
  0 : 0x200 # howto
  1 : 0x0 # bootinfo[0] nentries
  2 : 0x0 # bootinfo[1] common->len
  3 : 0x0 # bootinfo[2] common->type
  4 : 0x0 # bootinfo[3]
  5 : 0x0 # bootinfo[4]
  6 : 0x0 # bootinfo[5]
  7 : 0x0 # bootinfo[6]
==============================================
}}
ファイルシステムをRead-onlyでマウント後、強制ブートを行います。~
Read-onlyな理由はファイルシステムが壊れるのを防止するためです。~
#pre{{
# mount -o ro,remount /dev/hda3
# ./kernelsw.pl -fswitch
sh: kernelversion: command not found
}}
-2.6.12 カーネルから起動する場合~
linux-2.6.12-sh.landisk.0.9以降のカーネルが対応しています。~
kernelsw.plでNetBSDイメージを2.4カーネルと同じ要領で読み込んだ後、~
"shutdown -h now"を行えばOKです。~
~
*Welcome to NetBSD World [#le094930]
-telnet接続~
DHCPサーバから割り当てられたIPアドレスでtelnetdが待機しているはずなので、~
そのIPアドレスで接続を試みます。~
#pre{{

NetBSD/landisk (netbsd) (ttyp0)

login: &color(red){root};
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 3.99.7 (RAMDISK) #4: Thu Sep 1 21:44:30 JST 2005

Welcome to NetBSD!

Terminal type is vt100.
No match.
netbsd:~#
}}

-後はご自由に~
--LANDISKの/dev/hda3をマウントしたければ、~
Linuxの/dev/hda1 〜 /dev/hda3は、NetBSDの/dev/wd0e 〜 /dev/wd0gに対応するので、
#pre{{
netbsd:~# mount /dev/wd0g /mnt
}}
--LANDISKの/dev/hda2をスワップとして使用したければ、
#pre{{
netbsd:~# swapon /dev/wd0f
}}
--chroot~
/dev/hda3のある特定ディレクトリへNetBSDのファイルシステムを構築してchrootするのも良いかも。~
~

-補足 … RAMDISKの使用状況
#pre{{
netbsd:~# df
Filesystem  512-blocks      Used     Avail Capacity  Mounted on
mfs_root         23007     20873       984    95%    /
kernfs               2         2         0   100%    /kern
procfs               8         8         0   100%    /proc
netbsd:~#
}}
-補足 … 搭載コマンド一覧~
#pre{{
[                 expr              ldd               newfs             shutdown
atactl            fastboot          less              newfs_lfs         slattach
awk               fasthalt          lmcctl            newfs_msdos       sleep
badsect           fdisk             ln                nologin           stty
brconfig          file              login             page              swapctl
bunzip2           find              ls                pax               swapon
bzcat             fsck              mbrlabel          pfctl             sync
bzip2             fsck_ext2fs       mkdir             pflogd            sysctl
cat               fsck_ffs          mknod             ping              systrace
ccdconfig         fsck_lfs          modload           ping6             tar
cgdconfig         fsck_msdos        modunload         poweroff          tbrconfig
chgrp             fsdb              more              pppoectl          tcsh
chio              fsirand           mount             ps                telnetd
chmod             ftp               mount_ados        pwd               test
chroot            getty             mount_cd9660      raidctl           tr
clri              grep              mount_ext2fs      rcmd              tset
cmp               group             mount_fdesc       rcorder           ttyflags
cp                groupadd          mount_ffs         rcp               tunefs
cpio              groupdel          mount_filecore    rdump             umount
csh               groupinfo         mount_kernfs      rdump_lfs         user
date              groupmod          mount_lfs         reboot            useradd
dd                gunzip            mount_mfs         resize_lfs        userdel
dev_mkdb          gzcat             mount_msdos       restore           userinfo
df                gzip              mount_nfs         rm                usermod
dhclient          halt              mount_ntfs        rmdir             veriexecctl
dhclient-script   hostname          mount_null        rndctl            vi
disklabel         ifconfig          mount_overlay     route             vinum
dkctl             inetd             mount_portal      routed            vnconfig
dmesg             init              mount_procfs      rrestore          wall
domainname        install           mount_ptyfs       rtsol             wdogctl
drvctl            installboot       mount_smbfs       savecore          wget
du                ipf               mount_ufs         scan_ffs          wsconsctl
dump              ipppctl           mount_umap        scan_lfs          zcat
dump_lfs          kdump             mount_union       scsictl
echo              kill              mt                sed
ed                ktrace            mv                setkey
env               ktruss            newbtconf         sh
}}
*コメント欄 [#j568e9b2]
何かありましたら、どうぞ。~


//#comment
*付録 …  miniroot.imgの作り方メモ [#p9f3d1a2]
-空のRAMDISKイメージを作成~
#pre{{
#!/bin/sh -

#DISKSIZE=16384   # 8MB
#DISKSIZE=20480 # 10MB
DISKSIZE=24576 # 12MB
VND=/dev/vnd0
NAME=miniroot
IMAGE=${NAME}.img

vnconfig -u ${VND}d

echo "miniroot:\
:ty=floppy:se#512:nt#1:rm#3600:ns#${DISKSIZE}:nc#1:\
:pa#${DISKSIZE}:oa#0:ba#4096:fa#512:ta=4.2BSD:\
:pb#${DISKSIZE}:ob#0:\
:pc#${DISKSIZE}:oc#0:" > miniroot.disktab

dd if=/dev/zero of=${IMAGE} count=${DISKSIZE} bs=512
vnconfig -v -c ${VND} ${IMAGE}
disklabel  -w  -f miniroot.disktab ${VND} miniroot
newfs ${VND}a

rm -rf fs
mkdir fs
mount /dev/vnd0a fs
}}

-./fs 内にファイルシステムを構築~
省略~
~

-アンマウント
#pre{{
netbsd# umount fs
netbsd# vnconfig -u /dev/vnd0d
}}
~

-ちなみに既存のminiroot.img の中身の確認/変更を行うには、
#pre{{
netbsd# vncconfig -v -c /dev/vnd0 miniroot.img
netbsd# mount /dev/vnd0a fs
netbsd# cd fs
}}
~
#navi(NetBSD)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS