Mar 24, 2004

             onlsbc1, ネットワークブートシステムの検討
          			---  ネットワークブート #16
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               (http://www-online.kek.jp/~inoue/para-CAMAC/
                                   Work/SBC-Linux36.html)



                        高エネルギー加速器研究機構
                            素粒子原子核研究所
                         物理、オンライングループ
                                井上 栄二

        目的

	    SBC-Linux34.htmlでの作業により、CC/NET用ディスクレスシステムを構築
	  した。 これは、サーバ側のOSが Red Hat 9 で、クライアント側が
	    Debian GNU/Linux 3.0 で動作するものである。 ここでは、サーバ側の
	    OSを Solaris 8 とし、クライアント側のOSを Debian GNU/Linux 3.0
	    で動作するディスクレスシステムを構築する。 クライアント用として使用
	    するシステムには、SBC-Linux35.htmlでの作業で作成した圧縮ファイルを
	    使うことにする。


        項目

        (1). サーバの構築
          (1-1).  Bootp の構成
             (1-1-1).  DHCP Manager による設定
          (1-2).  Tftp の設定
             (1-2-1).  Tftp のテスト
                (1-2-1A).  tftp Server のインストール
                (1-2-1B).  tftp Server の設定
                (1-2-1C).  tftp Server のテスト(その2)
             (1-2-2).  Tftp の設定
          (1-3).  /dev/nfsrootファイルの作成
          (1-4).  /tftpbootのシンボリックリンクを作成
        (2). クライアントの構築
          (2-1).  クライアント側ファイルシステムの構築
          (2-2).  /tftpboot/130.87.153.3/etc 以下のファイルの編集
             (2-2-1).  /tftpboot/130.87.153.3/etc/modules
             (2-2-2).  /tftpboot/130.87.153.3/etc/hostname
             (2-2-3).  /tftpboot/130.87.153.3/etc/fstab
             (2-2-4).  /tftpboot/130.87.153.3/etc/init.d
             (2-2-5).  /tftpboot/130.87.153.3/etc/network/interfaces
             (2-2-6).  /tftpboot/130.87.153.3/etc/modules.conf
             (2-2-7).  /tftpboot/130.87.153.3/etc/modutils/aliases
             (2-2-8).  /tftpboot/130.87.153.3/lib/modules/2.4.18/modules.dep
        (3). ブートローダの設定
          (3-1).  FD上のGRUBの設定
          (3-2).  dhcp の設定変更
             (3-2-1).  ブートサーバ指定を変更
          (3-3).  onl5v4 上の tftp の設定
             (3-3-1).  tftp のテスト
             (3-3-2).  /tftpboot の整備
                (3-3-2A).  クライアント用ルートファイルシステムの構築
                (3-3-2B).  /etc/dfs/dfstabファイルの設定
                (3-3-2C).  /etc/fvstabファイルの設定
          (3-4).  /tftpboot/130.87.153.3/etc 以下のファイルの編集
             (3-4-1).  /tftpboot/130.87.153.3/etc/modules
             (3-4-2).  /tftpboot/130.87.153.3/etc/hostname
             (3-4-3).  /tftpboot/130.87.153.3/etc/fstab
             (3-4-4).  /tftpboot/130.87.153.3/etc/init.d
             (3-4-5).  /tftpboot/130.87.153.3/etc/network/interfaces
             (3-4-6).  /tftpboot/130.87.153.3/etc/modules.conf
             (3-4-7).  /tftpboot/130.87.153.3/etc/modutils/aliases
             (3-4-8).  /tftpboot/130.87.153.3/lib/modules/2.4.18/modules.dep
          (3-5).  FD上のGRUBのmenu.lstファイルの修正

  --------------------------------------------------------------------


 (1). サーバの構築

	クライアントマシンの onlsbc1 は FGクラスタにつないである。 ゲートウェイ
	を越えたネットワークブートは複雑なので、サーバマシンには同一クラスタに
	つないである onlsun4 を使用する。

	  富士通製、GP400S Model10
	    使用OSは Solaris 8
	    
	サーバ側の Solaris のカーネルを修正する必要はない。 Bootp の設定は必要
	である。


   (1-1).  Bootp の構成

	Solaris DHCP は BOOTPサーバの機能を含んでいる。 DHCPを動作させることで
	BOOTPクライアントのリクエストに対応させることにする。


     (1-1-1).  DHCP Manager による設定

	<<< DHCP Manager を起動する >>>

onlsun4# /usr/sadm/admin/bin/dhcpmgr &



	”DHCPサーバとして構成”を選択して "了解”ボタンを押す。



	右矢印を押して、項目2から項目8まで確認。













”完了”ボタンを押す。 完了”ボタンを押したら、アドレスウィザードのウィンドウが開いた。 同時に 以下のメッセージがコンソールに表示された。 onlsun4[52]% Mar 4 17:07:40 onlsun4 in.dhcpd[930]: Error binding to UDP receive socket: アドレスがすでに使われています。 Mar 4 17:07:40 onlsun4 in.dhcpd[930]: Cannot configure any interfaces. 先のbootpのテスト時に設定したゴミ設定をすべて解除してから、DHCP Manager の以降の作業を行う。 onlsun4# pwd /etc onlsun4# mv bootptab bootptab-bak onlsun4# onlsun4# pwd /etc/inet onlsun4# diff services services-org 30,31c30 < #bootps 67/udp # BOOTP/DHCP server < bootps 67/udp bootp # BOOTP/DHCP server --- > bootps 67/udp # BOOTP/DHCP server onlsun4# cp services-org services onlsun4# onlsun4# pwd /etc/inet onlsun4# vi inetd.conf : # By E.Inoue #:BOOT: Tftp service is provided primarily for booting. Most sites # run this only on machines acting as "boot servers." #bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120 # # Tftp service is provided primarily for booting. Most sites run this # only on machines acting as "boot servers." # #tftp dgram udp6 wait root /usr/sbin/in.tftpd in.tftpd -s /tft pboot # : "inetd.conf" 197 行、7139 バイト onlsun4# onlsun4# pwd /etc/dfs onlsun4# diff dfstab dfstab-Mar42004 0a1 > 17,19d17 < share -F nfs -o rw=130.87.153.3 /tftpboot/82579903.SUN4U < share -F nfs -o rw=130.87.153.3 /tftpboot/130.87.153.3 < share -F nfs -o rw=onlpara.kek.jp /tftpboot/130.87.153.3 onlsun4# cp dfstab-Mar42004 dfstab onlsun4# cat dfstab # Place share(1M) commands here for automatic execution # on entering init state 3. # # Issue the command '/etc/init.d/nfs.server start' to run the NFS # daemon processes and the share commands, after adding the very # first entry to this file. # # share [-F fstype] [ -o options] [-d ""] [resource] # .e.g, # share -F nfs -o rw=engineering -d "home dirs" /export/home2 share -F nfs -o ro /cdrom #share -F nfs -o ro /space2/RedHat7.2 #share -F nfs -o ro /space2/RedHat7.3 share -F nfs -o ro /space1/RedHat7.3 share -F nfs -o ro /space2/RedHat8.0 share -F nfs -o ro /opt/sfw onlsun4# onlsun4# pwd / onlsun4# ls -l 合計 672 drwxr-xr-x 2 root root 512 5月 22日 2001年 TT_DB/ lrwxrwxrwx 1 root root 9 5月 22日 2001年 bin -> ./usr/bin/ drwxr-xr-x 4 root nobody 512 7月 19日 2002年 cdrom/ drwxr-xr-x 16 root sys 4096 3月 4日 14:30 dev/ drwxr-xr-x 4 root sys 512 5月 22日 2001年 devices/ drwxr-xr-x 41 root sys 3584 3月 5日 17:05 etc/ drwxr-xr-x 3 root sys 512 5月 22日 2001年 export/ dr-xr-xr-x 1 root root 1 3月 4日 14:30 home/ drwxr-xr-x 2 root other 512 7月 19日 2002年 info/ lrwxrwxrwx 1 root other 10 5月 23日 2001年 kek -> /kekfs/kek/ dr-xr-xr-x 2 root root 2 3月 4日 15:24 kekfs/ drwxr-xr-x 9 root sys 512 5月 22日 2001年 kernel/ lrwxrwxrwx 1 root root 9 5月 22日 2001年 lib -> ./usr/lib/ drwx------ 2 root root 8192 5月 22日 2001年 lost+found/ drwxr-xr-x 3 root other 512 7月 19日 2002年 man/ drwxr-xr-x 2 root sys 512 5月 22日 2001年 mnt/ dr-xr-xr-x 1 root root 1 3月 4日 17:12 net/ drwx------ 2 root other 512 5月 22日 2001年 nsmail/ lrwxrwxrwx 1 root other 11 9月 28日 2001年 opt -> /space2/opt/ drwxrwxr-x 5 root sys 512 5月 22日 2001年 opt-org/ drwxr-xr-x 23 root sys 1024 5月 22日 2001年 platform/ dr-xr-xr-x 84 root root 62400 3月 5日 17:32 proc/ drwxr-xr-x 2 root sys 512 5月 22日 2001年 sbin/ drwxr-xr-x 10 root root 512 12月 3日 2002年 space1/ drwxrwxrwx 7 root root 512 12月 3日 2002年 space2/ drwxr-xr-x 2 root root 512 5月 22日 2001年 space3/ drwxr-xr-x 2 root root 512 5月 22日 2001年 space4/ drwxr-xr-x 2 root root 512 5月 22日 2001年 space5/ drwxrwxrwx 6 root root 512 5月 29日 2001年 space6/ drwxrwxrwx 4 root other 512 3月 4日 14:11 tftpboot/ drwxrwxrwt 7 root sys 789 3月 5日 03:30 tmp/ drwxr-xr-x 36 root sys 1024 3月 20日 2002年 usr/ drwxr-xr-x 37 root sys 1024 3月 4日 17:07 var/ dr-xr-xr-x 6 root root 512 3月 4日 14:30 vol/ dr-xr-xr-x 1 root root 1 3月 4日 14:30 xfn/ onlsun4# ls -l tftpboot 合計 4 drwxr-xr-x 2 root root 512 3月 4日 11:09 130.87.153.3/ drwxr-xr-x 2 root other 512 3月 4日 14:11 82579903.SUN4U/ onlsun4# onlsun4# rm -r /tftpboot onlsun4# ls -l / 合計 670 drwxr-xr-x 2 root root 512 5月 22日 2001年 TT_DB/ lrwxrwxrwx 1 root root 9 5月 22日 2001年 bin -> ./usr/bin/ drwxr-xr-x 4 root nobody 512 7月 19日 2002年 cdrom/ drwxr-xr-x 16 root sys 4096 3月 4日 14:30 dev/ drwxr-xr-x 4 root sys 512 5月 22日 2001年 devices/ drwxr-xr-x 41 root sys 3584 3月 5日 17:05 etc/ drwxr-xr-x 3 root sys 512 5月 22日 2001年 export/ dr-xr-xr-x 1 root root 1 3月 4日 14:30 home/ drwxr-xr-x 2 root other 512 7月 19日 2002年 info/ lrwxrwxrwx 1 root other 10 5月 23日 2001年 kek -> /kekfs/kek/ dr-xr-xr-x 2 root root 2 3月 4日 15:24 kekfs/ drwxr-xr-x 9 root sys 512 5月 22日 2001年 kernel/ lrwxrwxrwx 1 root root 9 5月 22日 2001年 lib -> ./usr/lib/ drwx------ 2 root root 8192 5月 22日 2001年 lost+found/ drwxr-xr-x 3 root other 512 7月 19日 2002年 man/ drwxr-xr-x 2 root sys 512 5月 22日 2001年 mnt/ dr-xr-xr-x 1 root root 1 3月 4日 17:12 net/ drwx------ 2 root other 512 5月 22日 2001年 nsmail/ lrwxrwxrwx 1 root other 11 9月 28日 2001年 opt -> /space2/opt/ drwxrwxr-x 5 root sys 512 5月 22日 2001年 opt-org/ drwxr-xr-x 23 root sys 1024 5月 22日 2001年 platform/ dr-xr-xr-x 84 root root 62400 3月 5日 17:33 proc/ drwxr-xr-x 2 root sys 512 5月 22日 2001年 sbin/ drwxr-xr-x 10 root root 512 12月 3日 2002年 space1/ drwxrwxrwx 7 root root 512 12月 3日 2002年 space2/ drwxr-xr-x 2 root root 512 5月 22日 2001年 space3/ drwxr-xr-x 2 root root 512 5月 22日 2001年 space4/ drwxr-xr-x 2 root root 512 5月 22日 2001年 space5/ drwxrwxrwx 6 root root 512 5月 29日 2001年 space6/ drwxrwxrwt 7 root sys 789 3月 5日 03:30 tmp/ drwxr-xr-x 36 root sys 1024 3月 20日 2002年 usr/ drwxr-xr-x 37 root sys 1024 3月 4日 17:07 var/ dr-xr-xr-x 6 root root 512 3月 4日 14:30 vol/ dr-xr-xr-x 1 root root 1 3月 4日 14:30 xfn/ onlsun4# ここで再度 DHCP Manager の実行を再開する。 アドレス起動ウィザードウィンドウで「はい」をクリックして、サーバへのアド レス設定を開始する。













<<< BOOTPクライアントのサポートを設定 >>> 「サービス」メニューから「変更」を選択。

「サービスオプションの変更」ダイアログボックスが開く。 「BOOTP互換」の 項で、「手動」を選択。 「サーバの再起動」にチェックを付ける。

DHCP Manager の「アドレス」タブを選択。 BOOTPクライアントに割り当てる アドレスを選択。 「編集」メニューから「属性」を選択。

「アドレスの属性」ダイアログボックスが開く。 「リース」タブを選択。

「クライアントID」フィールドでクライアントのIDを入力。 「クライアントが このアドレスを予約」にチェックを付ける。 「BOOTPクライアントのみに割り当 てる」にチェックを付ける。 注. クライアントIDは、EthernetのARPタイプ(01)の後ろにクライアントの16進 Ethernetアドレスを付加したものである。 01000BA******* -- | ------------ | | ARPタイプ クライアントの16進Ethernetアドレス

<<< dhcptab を修正 >>> /var/dhcp/dhcptabファイルに、ブートサーバとゲートウェーを設定する。 onlsun4# pwd /var/dhcp onlsun4# ls -l 合計 6 -rw-rw-r-- 1 root other 83 3月 9日 14:13 130_87_152_0 -rw-r--r-- 1 root other 281 3月 9日 09:16 dhcptab -rw-rw-r-- 1 root other 237 3月 8日 14:32 dhcptab-org onlsun4# vi dhcptab Locale m :UTCoffst=32400: 130.87.152.0 m :Subnet=255.255.252.0:RDiscvyF=1:Broadcst=130.87.155.255 : onlsun4 m :Include=Locale:Timeserv=130.87.153.116:LeaseTim=86400:LeaseNeg: DNSdmain="kek.jp":DNSserv=130.87.34.2 130.87.34.3 130.87.152.2:BootSrvA=130.87.1 53.116:Router=130.87.152.1: ~ ~ "dhcptab" 3 行、281 バイト onlsun4# ここで onlsun4 の Solarisシステムをリブートした。 onlsun4 が立ち上がったところで、onlsbc1 から bootp リクエストを発行して みた。 onlsun4[33]% ps -ef UID PID PPID C STIME TTY TIME CMD root 0 0 1 14:09:43 ? 0:13 sched root 1 0 0 14:09:43 ? 0:00 /etc/init - root 2 0 0 14:09:43 ? 0:00 pageout root 3 0 0 14:09:43 ? 0:00 fsflush root 381 1 0 14:10:10 ? 0:00 /usr/lib/saf/sac -t 300 root 283 280 0 14:10:02 ? 0:00 htt_server -port 9010 -syslog -me ssage_locale C root 133 1 0 14:09:54 ? 0:00 /usr/lib/inet/in.ndpd root 56 1 0 14:09:49 ? 0:00 /usr/lib/devfsadm/devfseventd root 58 1 0 14:09:50 ? 0:00 /usr/lib/devfsadm/devfsadmd daemon 186 1 0 14:09:56 ? 0:00 /usr/lib/nfs/statd root 193 1 0 14:09:57 ? 0:00 /usr/lib/autofs/automountd root 147 1 0 14:09:55 ? 0:00 /usr/sbin/rpcbind root 228 1 0 14:09:59 ? 0:00 /usr/lib/lpsched root 150 1 0 14:09:55 ? 0:00 /usr/sbin/keyserv root 205 1 0 14:09:57 ? 0:00 /usr/sbin/syslogd root 184 1 0 14:09:56 ? 0:00 /usr/lib/nfs/lockd root 208 1 0 14:09:58 ? 0:00 /usr/sbin/cron root 255 253 0 14:10:00 ? 0:00 /usr/sbin/ccv -f root 180 1 0 14:09:56 ? 0:00 /usr/sbin/inetd -s root 222 1 0 14:09:58 ? 0:00 /usr/sbin/nscd root 241 1 0 14:09:59 ? 0:00 /usr/lib/power/powerd root 247 1 0 14:09:59 ? 0:00 /usr/lib/utmpd root 252 1 0 14:10:00 ? 0:00 /usr/sadm/lib/wbem/cimomboot star t root 253 1 0 14:10:00 ? 0:00 /usr/sbin/cssd root 254 253 0 14:10:00 ? 0:00 /usr/sbin/cs00 root 256 253 0 14:10:00 ? 0:00 /usr/sbin/kkcv -f root 264 1 1 14:10:00 ? 0:02 /usr/sbin/vold root 280 1 0 14:10:02 ? 0:00 /usr/lib/im/htt -port 9010 -syslo g -message_locale C root 270 1 0 14:10:01 ? 0:00 /usr/lib/locale/ja/wnn/dpkeyserv root 276 1 0 14:10:01 ? 0:00 /usr/lib/locale/ja/wnn/jserver root 277 276 0 14:10:01 ? 0:00 /usr/lib/locale/ja/wnn/jserver_m root 384 381 0 14:10:10 ? 0:00 /usr/lib/saf/ttymon root 320 1 0 14:10:05 ? 0:00 /usr/lib/locale/ja/atokserver/ato kmngdaemon root 318 1 1 14:10:05 ? 0:01 /usr/local/sbin/sshd root 367 1 0 14:10:10 ? 0:00 /usr/sbin/in.rarpd -a root 362 1 0 14:10:10 ? 0:00 /usr/lib/nfs/mountd root 382 1 0 14:10:10 console 0:00 /usr/lib/saf/ttymon -g -h -p onls un4 console login: -T sun -d /dev/console -l root 336 1 0 14:10:07 ? 0:00 /usr/dt/bin/dtlogin -daemon root 364 1 0 14:10:10 ? 0:00 /usr/lib/nfs/nfsd -a 16 root 369 1 0 14:10:10 ? 0:00 /usr/sbin/rpc.bootparamd root 372 1 0 14:10:10 ? 0:00 /usr/lib/inet/in.dhcpd root 376 1 0 14:10:10 ? 0:00 /usr/lib/snmp/snmpdx -y -c /etc/s nmp/conf root 385 336 1 14:10:11 ? 0:01 /usr/openwin/bin/Xsun :0 -nobanne r -auth /var/dt/A:0-A5aaQa root 402 386 0 14:10:15 ? 0:00 dtgreet -display :0 root 386 336 0 14:10:13 ? 0:00 /usr/dt/bin/dtlogin -daemon root 388 1 0 14:10:14 ? 0:00 /usr/openwin/bin/fbconsole -d :0 root 403 376 0 14:10:15 ? 0:00 mibiisa -r -p 32808 root 404 318 0 14:10:46 ? 0:00 /usr/local/sbin/sshd inoue 406 404 0 14:10:57 ? 0:00 /usr/local/sbin/sshd inoue 408 406 1 14:10:57 pts/2 0:00 -csh root 418 408 0 14:11:04 pts/2 0:00 ps -ef root 410 180 0 14:10:57 ? 0:00 rquotad onlsun4[34]% onlsun4# tail -f /var/adm/messages Mar 9 14:10:02 onlsun4 pci_pci: [ID 370704 kern.info] PCI-device: SUNW,isptwo@4 , isp0 Mar 9 14:10:02 onlsun4 genunix: [ID 936769 kern.info] isp0 is /pci@1f,0/pci@1/p ci@1/SUNW,isptwo@4 Mar 9 14:10:02 onlsun4 scsi: [ID 365881 kern.info] /pci@1f,0/pci@1/pci@1/SUNW,i sptwo@4 (isp0): Mar 9 14:10:02 onlsun4 Firmware Version: v0.04.64, Customer: 0, Product : 0 Mar 9 14:10:03 onlsun4 scsi: [ID 193665 kern.info] sd15 at uata0: target 2 lun 0 Mar 9 14:10:03 onlsun4 genunix: [ID 936769 kern.info] sd15 is /pci@1f,0/pci@1,1 /ide@3/sd@2,0 Mar 9 14:10:09 onlsun4 ebus: [ID 521012 kern.info] fd0 at ebus0: offset 14,3023 f0 Mar 9 14:10:09 onlsun4 genunix: [ID 936769 kern.info] fd0 is /pci@1f,0/pci@1,1/ ebus@1/fdthree@14,3023f0 Mar 9 14:10:14 onlsun4 pseudo: [ID 129642 kern.info] pseudo-device: pm0 Mar 9 14:10:14 onlsun4 genunix: [ID 936769 kern.info] pm0 is /pseudo/pm@0 onlsbc1 のFD上のGRUBを起動する。 GRUB version 0.93 (640K lower/310208K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywere else TAB lists the possible completions of a device/filename. ESC at any time exits. ] grub> bootp Found Intel EtherExpressPro100 82559ER at 0xec00, ROM address 0x0000 Probing...[Intel EtherExpressPro100 822559ER] Ethernet addr: 00:0B:**:**:**:** Address: 130.87.**.** Netmask: 255.255.***.*** Server: 130.87.**.** Gateway: 130.87.**.** ok. bootpリクエストで正常にネットワーク情報を入手できた。 (1-2). Tftp の設定 (1-2-1). Tftp のテスト tftp でファイル転送できることを確認しておく。 onlsun4# vi inetd.conf : tftp dgram udp6 wait root /usr/sbin/in.tftpd in.tftpd -s /tft pboot : "inetd.conf" 200 行、7351 バイト onlsun4# onlsun4# vi dfstab : share -F nfs -o rw /tftpboot : "dfstab" 19 行、690 バイト onlsun4# システムをリブート。 onlsun4 のシステムが立ち上がったところで、onlsun1 のマシンから tftp を 使ってファイルを get してみる。 onlsun4# pwd /space5/tftpboot onlsun4# echo Hello > zImage onlsun4# cat zImage Hello onlsun4# onlsun4# ls -l /tftpboot/zImage -rw-r--r-- 1 root other 6 3月 12日 10:41 /tftpboot/zImage onlsun4# onlsun1[33]% tftp onlsun4 tftp> get /tftpboot/zImage Transfer timed out. tftp> quit onlsun1[34]% onlsun4# tail /var/adm/messages : Mar 12 10:42:52 onlsun4 tftpd[431]: [ID 464510 daemon.error] socket (delay): Pro tocol not supported onlsun4# (1-2-1A). tftp Server のインストール Linux Remote-Boot mini-HOWTO: Configuring Remote-Boot Workstations with Linuxサイトの 記事で紹介されている tftpd.tar.gzファイルを入手。 -->> 参照開始 6.3 Solaris TFTP Server The original Solaris TFTP Server has a severe limitation on file sizes, due to the use of a signed 16-bits integer to count packets. Bootix provides an enhanced TFTP server for Solaris, which solves this issue while providing a much higher transfer rate. However, some users have reported problems (in particular with SMC9432 cards) producing lock-ups on startup. Therefore, John Martin (j.martin@ abdn.ac.uk) has ported Linux tftpd for Solaris. You can get it from http://www.csd.abdn.ac.uk/~jmartin/tftpd.tar.gz. <<-- 参照終わり 注. tftpd.tar.gzファイルを getするとファイル名が tftpd.tarとなっている。   しかし、実体は圧縮された gzファイルである。 ファイル名を変更してから   展開すること。 いきなり tar コマンドで展開しようとするとエラーにな る。 コンパイルする。 onlsun4[40]% pwd /export/home/onlsun4/inoue/Tftp/tftpd-8.1 onlsun4[41]% ls -l 合計 78 -rw------- 1 inoue kek 1296 2月 4日 2000年 Makefile -rw------- 1 inoue kek 1951 2月 4日 2000年 extern.h -rwxr----- 1 inoue kek 3059 2月 4日 2000年 tftp.h* -rw------- 1 inoue kek 3644 5月 27日 1994年 tftpd.8 -rw------- 1 inoue kek 15703 2月 5日 2000年 tftpd.c -rw------- 1 inoue kek 8512 2月 4日 2000年 tftpsubs.c -rw------- 1 inoue kek 2484 2月 4日 2000年 tftpsubs.h onlsun4[42]% make gcc -O -c tftpd.c gcc -O -c tftpsubs.c gcc -o tftpd -O tftpd.o tftpsubs.o -lsocket -lnsl onlsun4[43]% ls -l 合計 140 -rw------- 1 inoue kek 1296 2月 4日 2000年 Makefile -rw------- 1 inoue kek 1951 2月 4日 2000年 extern.h -rwxr----- 1 inoue kek 3059 2月 4日 2000年 tftp.h* -rwxr-xr-x 1 inoue kek 17264 3月 12日 11:33 tftpd* -rw------- 1 inoue kek 3644 5月 27日 1994年 tftpd.8 -rw------- 1 inoue kek 15703 2月 5日 2000年 tftpd.c -rw-r--r-- 1 inoue kek 11164 3月 12日 11:33 tftpd.o -rw------- 1 inoue kek 8512 2月 4日 2000年 tftpsubs.c -rw------- 1 inoue kek 2484 2月 4日 2000年 tftpsubs.h -rw-r--r-- 1 inoue kek 3044 3月 12日 11:33 tftpsubs.o onlsun4[44]% onlsun4# mkdir -p /usr/etc/inet/tftpd onlsun4# cp tftpd /usr/etc/inet/tftpd onlsun4# chmod 755 /usr/etc/inet/tftpd/tftpd onlsun4# chgrp root /usr/etc/inet/tftpd/tftpd onlsun4# cp tftpd.8 /usr/man/man8 onlsun4# chmod 444 /usr/man/man8/tftpd.8 onlsun4# chgrp root /usr/man/man8/tftpd.8 (1-2-1B). tftp Server の設定 onlsun4# vi /etc/inetd.conf : tftp dgram udp wait root /usr/etc/inet/tftpd/tftpd tftpd -s /tftpboot : "/etc/inetd.conf" 200 行、7351 バイト onlsun4# onlsun4# ps -ef | grep inet root 139 1 0 10:39:07 ? 0:00 /usr/lib/inet/in.ndpd root 180 1 0 10:39:08 ? 0:00 /usr/sbin/inetd -s root 379 1 0 10:39:22 ? 0:00 /usr/lib/inet/in.dhcpd root 488 485 0 13:41:08 pts/2 0:00 grep inet onlsun4# kill -HUP 180 onlsun4# (1-2-1C). tftp Server のテスト(その2) onlsun1# tftp onlsun4 tftp> get /tftpboot/zImage Received 7 bytes in 0.1 seconds tftp> quit onlsun1# cat zImage Hello onlsun1# onlsun4# tail -f /var/adm/messages : Mar 12 13:42:27 onlsun4 tftpd[490]: [ID 671817 daemon.warning] ignoring unknown option -? : onlsun4# onlsun4# vi /etc/inetd.conf : #tftp dgram udp wait root /usr/etc/inet/tftpd/tftpd tftpd -s /tftpboot tftp dgram udp wait root /usr/etc/inet/tftpd/tftpd tftpd : onlsun4# onlsun1# tftp onlsun4 tftp> get /tftpboot/zImage Received 7 bytes in 0.1 seconds tftp> quit onlsun1# onlsun4# tail -f /var/adm/messages : : onlsun4# ok. tftp で onlsun4 から onlsun1 へファイルを get することができた。 messagesファイルへのエラーメッセージの出力はない。 (1-2-2). Tftp の設定 クライアント用としてエクスポートするルートファイルシステムは、/tftpboot ディレクトリの下に収めるだけのスペースがないので、/space5 の下に置くこと にする。 (1-3). /etc/dfs/dfstabファイルの設定 onlsun4# pwd /etc/dfs onlsun4# vi dfstab : share -F nfs -o rw /space5/tftpboot/130.87.153.3 ~ ~ "dfstab" 18 行、659 バイト onlsun4# (1-4). /tftpboot のシンボリックリンクを作成 onlsun4# pwd / onlsun4# ln -s /space5/tftpboot tftpboot onlsun4# ls -l 合計 226 drwxr-xr-x 2 root root 512 5月 22日 2001年 TT_DB/ lrwxrwxrwx 1 root root 9 5月 22日 2001年 bin -> ./usr/bin/ drwxr-xr-x 4 root nobody 512 7月 19日 2002年 cdrom/ drwxr-xr-x 16 root sys 4096 3月 10日 09:19 dev/ drwxr-xr-x 4 root sys 512 5月 22日 2001年 devices/ drwxr-xr-x 41 root sys 3584 3月 10日 09:19 etc/ drwxr-xr-x 3 root sys 512 5月 22日 2001年 export/ dr-xr-xr-x 1 root root 1 3月 10日 09:19 home/ drwxr-xr-x 2 root other 512 7月 19日 2002年 info/ lrwxrwxrwx 1 root other 10 5月 23日 2001年 kek -> /kekfs/kek/ dr-xr-xr-x 2 root root 2 3月 10日 13:57 kekfs/ drwxr-xr-x 9 root sys 512 5月 22日 2001年 kernel/ lrwxrwxrwx 1 root root 9 5月 22日 2001年 lib -> ./usr/lib/ drwx------ 5 root root 8192 5月 22日 2001年 lost+found/ drwxr-xr-x 3 root other 512 7月 19日 2002年 man/ drwxr-xr-x 2 root sys 512 5月 22日 2001年 mnt/ drwxr-xr-x 2 root other 512 3月 9日 16:58 mnt1/ dr-xr-xr-x 1 root root 1 3月 10日 14:05 net/ drwx------ 2 root other 512 5月 22日 2001年 nsmail/ lrwxrwxrwx 1 root other 11 9月 28日 2001年 opt -> /space2/opt/ drwxrwxr-x 5 root sys 512 5月 22日 2001年 opt-org/ drwxr-xr-x 23 root sys 1024 5月 22日 2001年 platform/ dr-xr-xr-x 53 root root 62400 3月 10日 14:06 proc/ drwxr-xr-x 2 root sys 512 5月 22日 2001年 sbin/ drwxr-xr-x 10 root root 512 12月 3日 2002年 space1/ drwxrwxrwx 7 root root 512 3月 9日 16:45 space2/ drwxr-xr-x 2 root root 512 5月 22日 2001年 space3/ drwxr-xr-x 2 root root 512 5月 22日 2001年 space4/ drwxr-xr-x 4 root root 512 3月 9日 17:04 space5/ drwxrwxrwx 6 root root 512 5月 29日 2001年 space6/ lrwxrwxrwx 1 root other 16 3月 10日 14:06 tftpboot -> /space5/tf tpboot/ drwxrwxrwt 6 root sys 511 3月 10日 13:51 tmp/ drwxr-xr-x 36 root sys 1024 3月 20日 2002年 usr/ drwxr-xr-x 37 root sys 1024 3月 4日 17:07 var/ dr-xr-xr-x 6 root root 512 3月 10日 09:19 vol/ dr-xr-xr-x 1 root root 1 3月 10日 09:19 xfn/ onlsun4# (2). クライアントの構築 /space5/tftpboot/130.87.153.3ディレクトリの下にクライアントに提供する ルートファイルシステムを構築する。 (2-1). クライアント用ルートファイルシステムの構築 onlsun4# chmod 777 /space5 onlsun4# mkdir -p /space5/tftpboot/130.87.153.3 onlsun4# mount onlpara:/home2/onlpara-wrk /mnt onlsun4# ls -l /mnt/root/diskless/diskless* -rw-r--r-- 1 nobody4 nogroup 882565120 2月 12日 09:31 /mnt/root/diskless/d iskless-rootfs.tar -rw-r--r-- 1 nobody4 nogroup 298435 3月 1日 14:33 /mnt/root/diskless/dis kless-toyodi-Mar12004.tar.gz -rw-r--r-- 1 nobody4 nogroup 296777 2月 12日 09:47 /mnt/root/diskless/dis kless-toyodi.tar.gz onlsun4# onlsun4# pwd /space5/tftpboot/130.87.153.3 onlsun4# ls -l 合計 0 onlsun4# tar xf /mnt/root/diskless/diskless-rootfs.tar tar: ディレクトリの検査合計エラーです。 onlsun4# diskless-rootfs.tarファイルを作り直す。 onlsun4# df -k ファイルシステム kbytes 使用済み 使用可能 capacity マウント先 /dev/dsk/c0t0d0s0 108079 47954 49318 50% / /dev/dsk/c0t0d0s6 1234278 1102016 70549 94% /usr /proc 0 0 0 0% /proc fd 0 0 0 0% /dev/fd mnttab 0 0 0 0% /etc/mnttab /dev/dsk/c0t0d0s1 515670 28669 435434 7% /var swap 307744 8 307736 1% /var/run /dev/dsk/c0t0d0s4 5038454 4867708 120362 98% /space1 /dev/dsk/c0t0d0s5 5038454 3959496 1028574 80% /space2 /dev/dsk/c0t1d0s5 5159318 42777 5064948 1% /space5 swap 307744 8 307736 1% /tmp /dev/dsk/c0t1d0s7 4127894 3305094 781522 81% /space6 /dev/dsk/c0t0d0s7 7472157 5418444 1978992 74% /export/home onlpara:/home2/onlpara-wrk 22659860 5872220 15636584 28% /mnt fs:/public/sun/Solaris2 106566576 101594457 3906453 97% /kekfs/kek onlpc03:/tftpboot/130.87.153.3 22801684 6400188 15243212 30% /mnt1 onlsun4# onlsun4# pwd /space5 onlsun4# ls -l 合計 18 drwx------ 2 root root 8192 5月 28日 2001年 lost+found/ drwxr-xr-x 3 root other 512 3月 9日 16:47 tftpboot/ onlsun4# onlsun4# pwd /mnt1 onlsun4# ls -l 合計 3992 -rw-r--r-- 1 root root 593097 1月 13日 09:03 System.map drwxr-xr-x 2 root root 4096 11月 28日 09:06 bin/ -rw-r--r-- 1 root root 1371992 1月 13日 09:04 bzImage drwxr-xr-x 10 root root 24576 3月 3日 17:04 dev/ drwxr-xr-x 71 root root 4096 3月 3日 17:04 etc/ drwxr-xr-x 3 root root 4096 2月 23日 16:12 home/ drwxr-xr-x 5 root root 4096 11月 28日 09:06 lib/ drwxr-xr-x 2 root root 4096 1月 19日 10:10 mnt/ drwxr-xr-x 2 root root 4096 12月 25日 09:42 proc/ drwx------ 4 root root 4096 2月 2日 13:29 root/ drwxr-xr-x 2 root root 4096 11月 28日 09:06 sbin/ drwxrwxrwt 6 root root 4096 3月 3日 17:04 tmp/ drwxr-xr-x 14 root root 4096 2月 9日 13:51 usr/ drwxr-xr-x 15 root root 4096 2月 9日 13:26 var/ onlsun4# onlsun4# tar cf /space5/diskless-rootfs-Mar92004.tar . onlsun4# cd /space5 onlsun4# ls -l 合計 1719538 -rw-r--r-- 1 root other 879950848 3月 9日 17:14 diskless-rootfs-Mar9 2004.tar drwx------ 2 root root 8192 5月 28日 2001年 lost+found/ drwxr-xr-x 3 root other 512 3月 9日 16:47 tftpboot/ onlsun4# cd tftpboot/130.87.153.3 onlsun4# ls -l 合計 0 onlsun4# tar xf ../../diskless-rootfs-Mar92004.tar onlsun4# onlsun4# pwd /space5/tftpboot/130.87.153.3 onlsun4# ls -l 合計 3970 -rw-r--r-- 1 root root 593097 1月 13日 09:03 System.map drwxr-xr-x 2 root root 1536 11月 28日 09:06 bin/ -rw-r--r-- 1 root root 1371992 1月 13日 09:04 bzImage drwxr-xr-x 10 root root 22528 3月 3日 17:04 dev/ drwxr-xr-x 71 root root 3584 3月 3日 17:04 etc/ drwxr-xr-x 3 root root 512 2月 23日 16:12 home/ drwxr-xr-x 5 root root 2560 11月 28日 09:06 lib/ drwxr-xr-x 2 root root 512 1月 19日 10:10 mnt/ drwxr-xr-x 2 root root 512 12月 25日 09:42 proc/ drwx------ 4 root root 512 2月 2日 13:29 root/ drwxr-xr-x 2 root root 2048 11月 28日 09:06 sbin/ drwxrwxrwt 6 root root 512 3月 11日 11:41 tmp/ drwxr-xr-x 14 root root 512 2月 9日 13:51 usr/ drwxr-xr-x 15 root root 512 2月 9日 13:26 var/ -rw-r--r-- 1 root other 6 3月 10日 14:29 zImage onlsun4# onlsun4# ls -lR home home: 合計 2 drwxr-sr-x 11 sshd 1001 512 3月 1日 13:33 toyo/ home/toyo: 合計 10 drwx--l--- 3 sshd 1001 512 2月 26日 16:37 Desktop/ drwxr-xr-x 2 sshd 1001 1024 1月 29日 15:21 camac/ drwxr-xr-x 2 sshd 1001 512 1月 28日 16:01 check/ drwxr-xr-x 4 sshd 1001 512 1月 29日 16:34 public_html/ drwxr-xr-x 2 sshd 1001 512 1月 29日 15:29 remote-camac/ home/toyo/Desktop: 合計 12 -rw-r--r-- 1 sshd 1001 73 2月 2日 15:20 debian.desktop drwx--l--- 2 sshd 1001 512 2月 2日 15:20 ごみ箱/ -rw-r--r-- 1 sshd 1001 3578 2月 2日 15:20 ホーム home/toyo/Desktop/ごみ箱: 合計 0 home/toyo/camac: 合計 618 -rw-r--r-- 1 sshd 1001 2436 10月 3日 13:19 Makefile -rw-r--r-- 1 sshd 1001 1251 10月 3日 06:56 README -rwxr-xr-x 1 sshd 1001 11183 1月 29日 15:21 cam* -rw-r--r-- 1 sshd 1001 1050 10月 1日 20:29 cam.c -rw-r--r-- 1 sshd 1001 13264 10月 4日 09:27 camac.c -rw-r--r-- 1 sshd 1001 6716 1月 29日 15:21 camac.o -rw-r--r-- 1 sshd 1001 2705 10月 1日 20:29 camlib.c -rw-r--r-- 1 sshd 1001 212 10月 1日 20:29 camlib.h -rw-r--r-- 1 sshd 1001 2688 1月 29日 15:21 camlib.o -rwxr-xr-x 1 sshd 1001 12873 1月 29日 15:21 camtest1c* -rw-r--r-- 1 sshd 1001 1882 10月 1日 20:29 camtest1c.c -rwxr-xr-x 1 sshd 1001 10697 1月 29日 15:21 clr_fifo* -rw-r--r-- 1 sshd 1001 411 10月 1日 20:29 clr_fifo.c -rw-r--r-- 1 sshd 1001 3290 10月 1日 20:29 data_pattern.c -rwxr-xr-x 1 sshd 1001 10927 1月 29日 15:21 dec_cam* -rw-r--r-- 1 sshd 1001 480 10月 1日 20:29 dec_cam.c -rwxr-xr-x 1 sshd 1001 10697 1月 29日 15:21 dump_reg* -rw-r--r-- 1 sshd 1001 468 10月 1日 20:29 dump_reg.c -rwxr-xr-x 1 sshd 1001 13190 1月 29日 15:21 exam0* -rw-r--r-- 1 sshd 1001 4499 10月 1日 20:29 exam0.c -rwxr-xr-x 1 sshd 1001 15153 1月 29日 15:21 exam1* -rw-r--r-- 1 sshd 1001 4010 10月 2日 10:29 exam1.c -rwxr-xr-x 1 sshd 1001 14253 1月 29日 15:21 exam2* -rw-r--r-- 1 sshd 1001 2956 10月 1日 20:29 exam2.c -rwxr-xr-x 1 sshd 1001 13777 1月 29日 15:21 exam3* -rw-r--r-- 1 sshd 1001 2512 10月 9日 11:16 exam3.c -rwxr-xr-x 1 sshd 1001 13393 1月 29日 15:21 exam4* -rw-r--r-- 1 sshd 1001 2021 10月 9日 11:18 exam4.c -rwxr-xr-x 1 sshd 1001 15024 1月 29日 15:21 exam5* -rw-r--r-- 1 sshd 1001 5049 11月 7日 06:29 exam5.c -rwxr-xr-x 1 sshd 1001 11059 1月 29日 15:21 gen_cam* -rw-r--r-- 1 sshd 1001 619 10月 1日 20:29 gen_cam.c -rwxr-xr-x 1 sshd 1001 10760 1月 29日 15:21 get_cam* -rw-r--r-- 1 sshd 1001 473 10月 1日 20:29 get_cam.c -rwxr-xr-x 1 sshd 1001 10763 1月 29日 15:21 get_camint* -rw-r--r-- 1 sshd 1001 479 10月 2日 11:25 get_camint.c -rw-r--r-- 1 sshd 1001 22372 12月 19日 16:40 pcc.c -rw-r--r-- 1 sshd 1001 6942 11月 10日 17:03 pcc.h -rw-r--r-- 1 sshd 1001 12992 1月 29日 15:21 pcc.o -rwxr-xr-x 1 sshd 1001 10927 1月 29日 15:21 put_cam* -rw-r--r-- 1 sshd 1001 573 10月 1日 20:29 put_cam.c -rwxr-xr-x 1 sshd 1001 10696 1月 29日 15:21 rst_cam* -rw-r--r-- 1 sshd 1001 401 10月 1日 20:29 rst_cam.c home/toyo/check: 合計 752 -rwxr-xr-x 1 sshd 1001 47484 11月 7日 17:44 0ch* -rw-r--r-- 1 sshd 1001 2295 11月 7日 17:40 0check_set.cpp -rwxr-xr-x 1 sshd 1001 47666 11月 7日 17:44 1ch* -rw-r--r-- 1 sshd 1001 2021 11月 7日 15:12 1check_N.cpp -rwxr-xr-x 1 sshd 1001 47666 11月 7日 17:44 2ch* -rw-r--r-- 1 sshd 1001 1987 11月 7日 15:13 2check_A.cpp -rwxr-xr-x 1 sshd 1001 47666 11月 7日 17:44 3ch* -rw-r--r-- 1 sshd 1001 2019 11月 7日 15:13 3check_F.cpp -rwxr-xr-x 1 sshd 1001 47623 11月 7日 17:44 4ch* -rw-r--r-- 1 sshd 1001 1897 11月 7日 15:13 4check_WR.cpp -rwxr-xr-x 1 sshd 1001 48152 11月 7日 17:44 5ch* -rw-r--r-- 1 sshd 1001 2325 11月 7日 16:47 5check_LAM.cpp -rwxr-xr-x 1 sshd 1001 48068 11月 7日 17:44 6ch* -rw-r--r-- 1 sshd 1001 2364 11月 7日 16:47 6check_TRG.cpp -rw-r--r-- 1 sshd 1001 879 11月 7日 16:14 ErrCode.h -rw-r--r-- 1 sshd 1001 586 11月 7日 16:39 ErrMsg.h -rw-r--r-- 1 sshd 1001 2235 10月 3日 14:40 PCIreg.h -rw-r--r-- 1 sshd 1001 5097 11月 4日 18:29 Packet.h -rw-r--r-- 1 sshd 1001 712 8月 25日 2003年 README -rwxr-xr-x 1 sshd 1001 621 11月 7日 16:49 auto_check* -rw-r--r-- 1 sshd 1001 7464 11月 4日 18:44 ccnet_io.h -rwxr-xr-x 1 sshd 1001 211 11月 7日 16:34 gccall* -rw-r--r-- 1 sshd 1001 3893 8月 25日 2003年 pio_framework.c -rw-r--r-- 1 sshd 1001 3288 8月 25日 2003年 scan_N.c home/toyo/public_html: 合計 40 -rw-r--r-- 1 sshd 1001 351 1月 29日 16:27 Makefile drwxr-xr-x 2 sshd 1001 1024 1月 30日 09:35 Web/ -rw-r--r-- 1 sshd 1001 245 11月 8日 23:44 hello.html -rw-r--r-- 1 sshd 1001 2335 11月 19日 09:52 index.html drwxr-xr-x 3 sshd 1001 512 11月 8日 23:42 myclasses/ -rwxr-xr-x 1 sshd 1001 5242 1月 29日 16:34 w* -rw-r--r-- 1 sshd 1001 462 10月 23日 08:41 w.c -rwxr-xr-x 1 sshd 1001 5327 10月 23日 08:41 w.org* home/toyo/public_html/Web: 合計 274 -rw-r--r-- 1 sshd 1001 206 1月 30日 09:34 Client.class -rw-r--r-- 1 sshd 1001 234 7月 30日 2003年 Client.java -rw-r--r-- 1 sshd 1001 3559 1月 30日 09:34 ClientImpl.class -rw-r--r-- 1 sshd 1001 17458 7月 30日 2003年 ClientImpl.java-bak -rw-r--r-- 1 sshd 1001 1735 1月 30日 09:34 ClientImpl_Skel.class -rw-r--r-- 1 sshd 1001 3140 1月 30日 09:34 ClientImpl_Stub.class -rw-r--r-- 1 sshd 1001 1604 7月 30日 2003年 Makefile -rw-r--r-- 1 sshd 1001 244 1月 30日 09:34 Server.class -rw-r--r-- 1 sshd 1001 298 7月 30日 2003年 Server.java -rw-r--r-- 1 sshd 1001 2616 1月 30日 09:34 ServerImpl.class -rw-r--r-- 1 sshd 1001 3394 7月 30日 2003年 ServerImpl.java -rw-r--r-- 1 sshd 1001 1956 1月 30日 09:35 ServerImpl_Skel.class -rw-r--r-- 1 sshd 1001 3510 1月 30日 09:35 ServerImpl_Stub.class -rw-r--r-- 1 sshd 1001 2617 7月 30日 2003年 cam.c -rw-r--r-- 1 sshd 1001 360 1月 30日 09:34 cam.class -rw-r--r-- 1 sshd 1001 414 1月 30日 09:34 cam.h -rw-r--r-- 1 sshd 1001 792 7月 30日 2003年 cam.java lrwxrwxrwx 1 sshd 1001 19 3月 9日 17:22 camac.c -> ../../camac /camac.c -rw-r--r-- 1 sshd 1001 13325 7月 30日 2003年 camac.c-bak -rw-r--r-- 1 sshd 1001 9468 1月 30日 09:34 camac.o -rwxr-xr-x 1 sshd 1001 16344 1月 30日 09:34 libMyImpOfcam.so* lrwxrwxrwx 1 sshd 1001 17 3月 9日 17:22 pcc.h -> ../../camac/p cc.h -rw-r--r-- 1 sshd 1001 6364 7月 30日 2003年 pcc.h-bak -rw-r--r-- 1 sshd 1001 81 7月 30日 2003年 policy -rwxr-xr-x 1 sshd 1001 123 7月 30日 2003年 web.sh* -rw-r--r-- 1 sshd 1001 186 7月 30日 2003年 web3-inoue.mem -rw-r--r-- 1 sshd 1001 4212 1月 30日 09:34 web3.class -rw-r--r-- 1 sshd 1001 2454 7月 30日 2003年 web3.html -rw-r--r-- 1 sshd 1001 11931 8月 1日 2003年 web3.java -rw-r--r-- 1 sshd 1001 11879 8月 1日 2003年 web3.java-org home/toyo/public_html/myclasses: 合計 2 drwxr-xr-x 3 sshd 1001 512 11月 8日 23:42 examples/ home/toyo/public_html/myclasses/examples: 合計 2 drwxr-xr-x 2 sshd 1001 512 11月 8日 23:43 hello/ home/toyo/public_html/myclasses/examples/hello: 合計 20 -rw-r--r-- 1 sshd 1001 224 11月 8日 23:42 Hello.class -rw-r--r-- 1 sshd 1001 1281 11月 8日 23:42 HelloApplet.class -rw-r--r-- 1 sshd 1001 1244 11月 8日 23:42 HelloImpl.class -rw-r--r-- 1 sshd 1001 1448 11月 8日 23:43 HelloImpl_Skel.class -rw-r--r-- 1 sshd 1001 2920 11月 8日 23:43 HelloImpl_Stub.class home/toyo/remote-camac: 合計 396 -rw-r--r-- 1 sshd 1001 1937 1月 8日 09:29 Makefile -rw-r--r-- 1 sshd 1001 1268 10月 3日 06:44 README -rwxr-xr-x 1 sshd 1001 12822 1月 29日 15:29 cam* -rw-r--r-- 1 sshd 1001 1473 1月 12日 20:45 ccnet.h -rwxr-xr-x 1 sshd 1001 14281 1月 29日 15:29 ccnet_server* -rw-r--r-- 1 sshd 1001 4557 1月 12日 20:29 ccnet_server.c -rw-r--r-- 1 sshd 1001 16585 1月 13日 10:36 clientlib.c -rwxr-xr-x 1 sshd 1001 12312 1月 29日 15:29 clr_fifo* -rw-r--r-- 1 sshd 1001 4234 1月 7日 14:30 dispatch.c -rwxr-xr-x 1 sshd 1001 12344 1月 29日 15:29 dump_reg* -rwxr-xr-x 1 sshd 1001 14869 1月 29日 15:29 exam0* -rwxr-xr-x 1 sshd 1001 16828 1月 29日 15:29 exam1* -rwxr-xr-x 1 sshd 1001 14229 1月 29日 15:29 exam2* -rwxr-xr-x 1 sshd 1001 13749 1月 29日 15:29 exam3* -rwxr-xr-x 1 sshd 1001 13749 1月 29日 15:29 exam4* -rwxr-xr-x 1 sshd 1001 16349 1月 29日 15:29 measure* -rw-r--r-- 1 sshd 1001 4625 11月 7日 06:26 measure.c -rw-r--r-- 1 sshd 1001 1405 1月 12日 17:11 message.c -rw-r--r-- 1 sshd 1001 511 11月 7日 09:59 results-measurement-no delay.txt -rw-r--r-- 1 sshd 1001 605 11月 7日 09:58 results-measurement.tx t -rwxr-xr-x 1 sshd 1001 12311 1月 29日 15:29 rst_cam* onlsun4# 新たに作り直した diskless-rootfs-Mar92004.tarファイルは /homeディレクト リの下も一緒にパッケージされている。 従って、別に diskless-toyodi.tar.gz ファイルを展開する必要はない。 tar xzf /mnt1/root/diskless/diskless-toyodi.tar.gz の操作は必要ない。 (2-2). /tftpboot/130.87.153.3/etc 以下のファイルの編集 (2-2-1). /tftpboot/130.87.153.3/etc/modules /tftpboot/130.87.153.3/etc/modulesファイルの変更は必要ない。 (2-2-2). /tftpboot/130.87.153.3/etc/hostname /tftpboot/130.87.153.3/etc/hostnameファイルを修正。 クライアントのホス ト名を適切なものに設定し直す。 (2-2-3). /tftpboot/130.87.153.3/etc/fstab /tftpboot/130.87.153.3/etc/fstabファイルを修正。 サーバがエクスポート しているファイルシステムに正しく指定し直す。 (2-2-4). /tftpboot/130.87.153.3/etc/init.d /tftpboot/130.87.153.3/etc/init.d下のファイルの変更は必要ない。 (2-2-5). /tftpboot/130.87.153.3/etc/network/interfaces /tftpboot/130.87.153.3/etc/network/interfacesファイルを修正。 クライアン トの適切なネットワーク情報を設定する。 (2-2-6). /tftpboot/130.87.153.3/etc/modules.conf /tftpboot/130.87.153.3/etc/modules.confファイルを修正。 "alias net-pf-1 off" 行のコメントアウト。 (2-2-7). /tftpboot/130.87.153.3/etc/modutils/aliases /tftpboot/130.87.153.3/etc/modutils/aliasesファイルを修正。 "alias net-pf-1 off" 行のコメントアウト。 (2-2-8). /tftpboot/130.87.153.3/lib/modules/2.4.18/modules.dep /tftpboot/130.87.153.3/lib/modules/2.4.18/modules.depファイルを作成。 ここで、サーバをリブートする。 onlsun4# reboot : onlsun3[33]% ssh onlsun4 inoue@onlsun4's password: Last login: Fri Mar 12 14:23:20 2004 from onlnote2.kek.jp Sun Microsystems Inc. SunOS 5.8 Generic February 2000 Sun Microsystems Inc. SunOS 5.8 Generic February 2000 onlsun4[33]% onlsun4[34]% tail /var/adm/messages Mar 12 14:21:35 onlsun4 pci_pci: [ID 370704 kern.info] PCI-device: SUNW,isptwo@4 , isp0 Mar 12 14:21:35 onlsun4 genunix: [ID 936769 kern.info] isp0 is /pci@1f,0/pci@1/p ci@1/SUNW,isptwo@4 Mar 12 14:21:35 onlsun4 scsi: [ID 365881 kern.info] /pci@1f,0/pci@1/pci@1/SUNW,i sptwo@4 (isp0): Mar 12 14:21:35 onlsun4 Firmware Version: v0.04.64, Customer: 0, Product : 0 Mar 12 14:21:36 onlsun4 scsi: [ID 193665 kern.info] sd15 at uata0: target 2 lun 0 Mar 12 14:21:36 onlsun4 genunix: [ID 936769 kern.info] sd15 is /pci@1f,0/pci@1,1 /ide@3/sd@2,0 Mar 12 14:21:42 onlsun4 ebus: [ID 521012 kern.info] fd0 at ebus0: offset 14,3023 f0 Mar 12 14:21:42 onlsun4 genunix: [ID 936769 kern.info] fd0 is /pci@1f,0/pci@1,1/ ebus@1/fdthree@14,3023f0 Mar 12 14:21:47 onlsun4 pseudo: [ID 129642 kern.info] pseudo-device: pm0 Mar 12 14:21:47 onlsun4 genunix: [ID 936769 kern.info] pm0 is /pseudo/pm@0 onlsun4[35]% (3). ブートローダの設定 現在はテストのために FD上にブートローダを置いてクライアント側を起動して いる。 ブートローダにはGRUBを使用している。 GRUBの menu.lstファイルを 修正する。 (3-1). FD上のGRUBの設定 [root@onlsbc1 inoue]# df -k Filesystem 1k-blocks Used Available Use% Mounted on /dev/hda2 7360792 2256708 4730172 33% / /dev/hda5 10475668 668732 9274788 7% /home none 152332 0 152332 0% /dev/shm [root@onlsbc1 inoue]# mount -t ext2 /dev/fd0 /mnt [root@onlsbc1 inoue]# [root@onlsbc1 grub]# pwd /mnt/boot/grub [root@onlsbc1 grub]# ls -l 合計 375 -rwxr-xr-x 1 root root 121600 1月 15 10:10 diskless -rwxr-xr-x 1 root root 8100 1月 15 09:42 e2fs_stage1_5 -rw-r--r-- 1 root root 3904 3月 11 11:29 menu.lst -rw-r--r-- 1 root root 122112 1月 15 10:10 nbgrub -rwxr-xr-x 1 root root 512 1月 15 08:57 stage1 -rw-r--r-- 1 root root 122144 1月 15 09:00 stage2 [root@onlsbc1 grub]# [root@onlsbc1 grub]# vi menu.lst : # Solaris 8: Bootp: onlsbc1 Network boot title Solaris 8: Bootp: Boot from network with bootp [130.87.153.3/bzImage] bootp root (nd) #kernel /tftpboot/130.87.153.3/bzImage nfsroot=(nd):/tftpboot/130.87.153.3 ip=bootp #kernel /tftpboot/130.87.153.3/bzImage nfsroot=130.87.153.112:/tftpboot/130.87.153.3 ip=bootp #kernel 130.87.153.112:/tftpboot/130.87.153.3/bzImage nfsroot=130.87.153.112:/tftpboot/130.87.153.3 ip=bootp kernel /tftpboot/130.87.153.3/bzImage nfsroot=130.87.153.116:/tftpboot/130.87.153.3 ip=bootp : [root@onlsbc1 grub]# ここで、クライアントマシンの onlsbc1から GRUBを起動した。 bootp、tftp は正常に実行された。 サーバ側から/tftpboot/130.87.153.3/ bzImageのカーネルイメージがダウンロードされ、クライアント側ではカーネル が起動した。 しかし、システムが立ち上がる途中で /var および /etc 下の ファイルへのパーミッションが無いというエラーが表示されて、正常に立ち上が ることができなかった。 サーバ側の /tftpboot 下をチェックする。 onlsun4# dmesg 2004年03月12日 (金) 15時21分58秒 JST : : Mar 12 14:20:24 onlsun4 reboot: [ID 662345 auth.crit] rebooted by inoue Mar 12 14:20:24 onlsun4 rpcbind: [ID 564983 daemon.error] rpcbind terminating on signal. Mar 12 14:20:24 onlsun4 in.ndpd[139]: [ID 448925 daemon.error] terminated Mar 12 14:20:24 onlsun4 syslogd: going down on signal 15 Mar 12 14:20:30 onlsun4 genunix: [ID 672855 kern.notice] syncing file systems... Mar 12 14:20:30 onlsun4 genunix: [ID 904073 kern.notice] done Mar 12 14:21:03 onlsun4 genunix: [ID 540533 kern.notice] SunOS Release 5.8 Versi on Generic_108528-01 64-bit Mar 12 14:21:03 onlsun4 genunix: [ID 784649 kern.notice] Copyright 1983-2000 Sun Microsystems, Inc. All rights reserved. Mar 12 14:21:03 onlsun4 genunix: [ID 678236 kern.info] Ethernet address = 8:0:20 :a2:3f:d8 Mar 12 14:21:03 onlsun4 unix: [ID 389951 kern.info] mem = 262144K (0x10000000) Mar 12 14:21:03 onlsun4 unix: [ID 930857 kern.info] avail mem = 251584512 Mar 12 14:21:03 onlsun4 rootnex: [ID 466748 kern.info] root nexus = Sun Ultra 5/ 10 UPA/PCI (UltraSPARC-IIi 333MHz) Mar 12 14:21:03 onlsun4 rootnex: [ID 349649 kern.info] pcipsy0 at root: UPA 0x1f 0x0 Mar 12 14:21:03 onlsun4 genunix: [ID 936769 kern.info] pcipsy0 is /pci@1f,0 Mar 12 14:21:03 onlsun4 pcipsy: [ID 370704 kern.info] PCI-device: pci@1,1, simba 0 Mar 12 14:21:03 onlsun4 genunix: [ID 936769 kern.info] simba0 is /pci@1f,0/pci@1 ,1 Mar 12 14:21:03 onlsun4 pcipsy: [ID 370704 kern.info] PCI-device: pci@1, simba1 Mar 12 14:21:03 onlsun4 genunix: [ID 936769 kern.info] simba1 is /pci@1f,0/pci@1 Mar 12 14:21:13 onlsun4 simba: [ID 370704 kern.info] PCI-device: ide@3, uata0 Mar 12 14:21:13 onlsun4 genunix: [ID 936769 kern.info] uata0 is /pci@1f,0/pci@1, 1/ide@3 Mar 12 14:21:14 onlsun4 uata: [ID 114370 kern.info] dad0 at pci1095,6460 Mar 12 14:21:14 onlsun4 uata: [ID 347839 kern.info] target 0 lun 0 Mar 12 14:21:14 onlsun4 genunix: [ID 936769 kern.info] dad0 is /pci@1f,0/pci@1,1 /ide@3/dad@0,0 Mar 12 14:21:14 onlsun4 dada: [ID 365881 kern.info] Mar 12 14:21:15 onlsun4 uata: [ID 114370 kern.info] dad1 at pci1095,6460 Mar 12 14:21:15 onlsun4 uata: [ID 347839 kern.info] target 1 lun 0 Mar 12 14:21:15 onlsun4 genunix: [ID 936769 kern.info] dad1 is /pci@1f,0/pci@1,1 /ide@3/dad@1,0 Mar 12 14:21:15 onlsun4 dada: [ID 365881 kern.info] Mar 12 14:21:16 onlsun4 swapgeneric: [ID 308332 kern.info] root on /pci@1f,0/pci @1,1/ide@3/disk@0,0:a fstype ufs Mar 12 14:21:16 onlsun4 simba: [ID 370704 kern.info] PCI-device: ebus@1, ebus0 Mar 12 14:21:16 onlsun4 ebus: [ID 521012 kern.info] power0 at ebus0: offset 14,7 24000 Mar 12 14:21:16 onlsun4 genunix: [ID 936769 kern.info] power0 is /pci@1f,0/pci@1 ,1/ebus@1/power@14,724000 Mar 12 14:21:16 onlsun4 ebus: [ID 521012 kern.info] su0 at ebus0: offset 14,3083 f8 Mar 12 14:21:16 onlsun4 genunix: [ID 936769 kern.info] su0 is /pci@1f,0/pci@1,1/ ebus@1/su@14,3083f8 Mar 12 14:21:16 onlsun4 ebus: [ID 521012 kern.info] su1 at ebus0: offset 14,3062 f8 Mar 12 14:21:16 onlsun4 genunix: [ID 936769 kern.info] su1 is /pci@1f,0/pci@1,1/ ebus@1/su@14,3062f8 Mar 12 14:21:16 onlsun4 simba: [ID 370704 kern.info] PCI-device: SUNW,m64B@2, m6 40 Mar 12 14:21:16 onlsun4 genunix: [ID 936769 kern.info] m640 is /pci@1f,0/pci@1,1 /SUNW,m64B@2 Mar 12 14:21:16 onlsun4 m64: [ID 308573 kern.info] m64#0: 1280x1024, 4M mappable , rev 4750.7c Mar 12 14:21:16 onlsun4 unix: [ID 987524 kern.info] cpu0: SUNW,UltraSPARC-IIi (u paid 0 impl 0x12 ver 0x13 clock 333 MHz) Mar 12 14:21:17 onlsun4 ebus: [ID 521012 kern.info] se0 at ebus0: offset 14,4000 00 Mar 12 14:21:17 onlsun4 genunix: [ID 936769 kern.info] se0 is /pci@1f,0/pci@1,1/ ebus@1/se@14,400000 Mar 12 14:21:17 onlsun4 hme: [ID 517527 kern.info] SUNW,hme0 : PCI IO 2.0 (Rev I d = c1) Found Mar 12 14:21:17 onlsun4 simba: [ID 370704 kern.info] PCI-device: network@1,1, hm e0 Mar 12 14:21:17 onlsun4 genunix: [ID 936769 kern.info] hme0 is /pci@1f,0/pci@1,1 /network@1,1 Mar 12 14:21:17 onlsun4 simba: [ID 370704 kern.info] PCI-device: pci@1, pci_pci0 Mar 12 14:21:17 onlsun4 genunix: [ID 936769 kern.info] pci_pci0 is /pci@1f,0/pci @1/pci@1 Mar 12 14:21:17 onlsun4 hme: [ID 517527 kern.info] SUNW,hme1 : PCI IO 2.0 (Rev I d = c1) Found Mar 12 14:21:17 onlsun4 hme: [ID 517527 kern.info] SUNW,hme1 : Local Ethernet ad dress = 8:0:20:a3:5b:f9 Mar 12 14:21:17 onlsun4 pci_pci: [ID 370704 kern.info] PCI-device: SUNW,hme@0,1, hme1 Mar 12 14:21:17 onlsun4 genunix: [ID 936769 kern.info] hme1 is /pci@1f,0/pci@1/p ci@1/SUNW,hme@0,1 Mar 12 14:21:20 onlsun4 genunix: [ID 454863 kern.info] dump on /dev/dsk/c0t0d0s3 size 148 MB Mar 12 14:21:22 onlsun4 hme: [ID 517527 kern.info] SUNW,hme0 : Internal Transcei ver Selected. Mar 12 14:21:22 onlsun4 hme: [ID 517527 kern.info] SUNW,hme0 : Auto-Negotiated 100 Mbps Full-Duplex Link Up Mar 12 14:21:32 onlsun4 pseudo: [ID 129642 kern.info] pseudo-device: tod0 Mar 12 14:21:32 onlsun4 genunix: [ID 936769 kern.info] tod0 is /pseudo/tod@0 Mar 12 14:21:33 onlsun4 pseudo: [ID 129642 kern.info] pseudo-device: pm0 Mar 12 14:21:33 onlsun4 genunix: [ID 936769 kern.info] pm0 is /pseudo/pm@0 Mar 12 14:21:33 onlsun4 cssd: [ID 602758 daemon.notice] starting cs00.sh (pid#26 0) Mar 12 14:21:33 onlsun4 cssd: [ID 602758 daemon.notice] starting ccv.sh (pid#261 ) Mar 12 14:21:33 onlsun4 cssd: [ID 602758 daemon.notice] starting kkcv.sh (pid#26 2) Mar 12 14:21:33 onlsun4 pseudo: [ID 129642 kern.info] pseudo-device: devinfo0 Mar 12 14:21:33 onlsun4 genunix: [ID 936769 kern.info] devinfo0 is /pseudo/devin fo@0 Mar 12 14:21:34 onlsun4 pseudo: [ID 129642 kern.info] pseudo-device: vol0 Mar 12 14:21:34 onlsun4 genunix: [ID 936769 kern.info] vol0 is /pseudo/vol@0 Mar 12 14:21:35 onlsun4 pci_pci: [ID 370704 kern.info] PCI-device: SUNW,isptwo@4 , isp0 Mar 12 14:21:35 onlsun4 genunix: [ID 936769 kern.info] isp0 is /pci@1f,0/pci@1/p ci@1/SUNW,isptwo@4 Mar 12 14:21:35 onlsun4 scsi: [ID 365881 kern.info] /pci@1f,0/pci@1/pci@1/SUNW,i sptwo@4 (isp0): Mar 12 14:21:35 onlsun4 Firmware Version: v0.04.64, Customer: 0, Product : 0 Mar 12 14:21:36 onlsun4 scsi: [ID 193665 kern.info] sd15 at uata0: target 2 lun 0 Mar 12 14:21:36 onlsun4 genunix: [ID 936769 kern.info] sd15 is /pci@1f,0/pci@1,1 /ide@3/sd@2,0 Mar 12 14:21:42 onlsun4 ebus: [ID 521012 kern.info] fd0 at ebus0: offset 14,3023 f0 Mar 12 14:21:42 onlsun4 genunix: [ID 936769 kern.info] fd0 is /pci@1f,0/pci@1,1/ ebus@1/fdthree@14,3023f0 Mar 12 14:21:47 onlsun4 pseudo: [ID 129642 kern.info] pseudo-device: pm0 Mar 12 14:21:47 onlsun4 genunix: [ID 936769 kern.info] pm0 is /pseudo/pm@0 onlsun4# onlsun4# ls -l / 合計 226 drwxr-xr-x 2 root root 512 5月 22日 2001年 TT_DB/ lrwxrwxrwx 1 root root 9 5月 22日 2001年 bin -> ./usr/bin/ drwxr-xr-x 4 root nobody 512 7月 19日 2002年 cdrom/ drwxr-xr-x 16 root sys 4096 3月 12日 14:21 dev/ drwxr-xr-x 4 root sys 512 5月 22日 2001年 devices/ drwxr-xr-x 41 root sys 3584 3月 12日 14:21 etc/ drwxr-xr-x 3 root sys 512 5月 22日 2001年 export/ dr-xr-xr-x 1 root root 1 3月 12日 14:21 home/ drwxr-xr-x 2 root other 512 7月 19日 2002年 info/ lrwxrwxrwx 1 root other 10 5月 23日 2001年 kek -> /kekfs/kek/ dr-xr-xr-x 2 root root 2 3月 12日 15:03 kekfs/ drwxr-xr-x 9 root sys 512 5月 22日 2001年 kernel/ lrwxrwxrwx 1 root root 9 5月 22日 2001年 lib -> ./usr/lib/ drwx------ 5 root root 8192 5月 22日 2001年 lost+found/ drwxr-xr-x 3 root other 512 7月 19日 2002年 man/ drwxr-xr-x 2 root sys 512 5月 22日 2001年 mnt/ drwxr-xr-x 2 root other 512 3月 9日 16:58 mnt1/ dr-xr-xr-x 1 root root 1 3月 12日 14:21 net/ drwx------ 2 root other 512 5月 22日 2001年 nsmail/ lrwxrwxrwx 1 root other 11 9月 28日 2001年 opt -> /space2/opt/ drwxrwxr-x 5 root sys 512 5月 22日 2001年 opt-org/ drwxr-xr-x 23 root sys 1024 5月 22日 2001年 platform/ dr-xr-xr-x 55 root root 62400 3月 12日 15:21 proc/ drwxr-xr-x 2 root sys 512 5月 22日 2001年 sbin/ drwxr-xr-x 10 root root 512 12月 3日 2002年 space1/ drwxrwxrwx 7 root root 512 3月 9日 16:45 space2/ drwxr-xr-x 2 root root 512 5月 22日 2001年 space3/ drwxr-xr-x 2 root root 512 5月 22日 2001年 space4/ drwxrwxrwx 4 root root 512 3月 9日 17:04 space5/ drwxrwxrwx 6 root root 512 5月 29日 2001年 space6/ lrwxrwxrwx 1 root other 16 3月 10日 14:06 tftpboot -> /space5/tf tpboot/ drwxrwxrwt 6 root sys 511 3月 12日 14:21 tmp/ drwxr-xr-x 37 root sys 1024 3月 10日 16:54 usr/ drwxr-xr-x 37 root sys 1024 3月 4日 17:07 var/ dr-xr-xr-x 6 root root 512 3月 12日 14:21 vol/ dr-xr-xr-x 1 root root 1 3月 12日 14:21 xfn/ onlsun4# onlsun4# ls -l /space5 合計 1719538 -rw-r--r-- 1 root other 879950848 3月 9日 17:14 diskless-rootfs-Mar9 2004.tar drwx------ 2 root root 8192 5月 28日 2001年 lost+found/ drwxr-xr-x 3 root other 512 3月 11日 10:39 tftpboot/ onlsun4# onlsun4# ls -l /space5/tftpboot 合計 6 drwxr-xr-x 15 root root 512 3月 10日 14:29 130.87.153.3/ lrwxrwxrwx 1 root other 6 3月 11日 09:11 8257990A.SUN4M -> zIma ge -rw-r--r-- 1 root other 0 3月 11日 10:39 82579974.SUN4U -rw-r--r-- 1 root other 0 3月 11日 10:39 README -rw-r--r-- 1 root other 6 3月 12日 10:41 zImage onlsun4# onlsun4# ls -l /space5/tftpboot/130.87.153.3 合計 3970 -rw-r--r-- 1 root root 593097 1月 13日 09:03 System.map drwxr-xr-x 2 root root 1536 11月 28日 09:06 bin/ -rw-r--r-- 1 root root 1371992 1月 13日 09:04 bzImage drwxr-xr-x 10 root root 22528 3月 3日 17:04 dev/ drwxr-xr-x 71 root root 3584 3月 3日 17:04 etc/ drwxr-xr-x 3 root root 512 2月 23日 16:12 home/ drwxr-xr-x 5 root root 2560 11月 28日 09:06 lib/ drwxr-xr-x 2 root root 512 1月 19日 10:10 mnt/ drwxr-xr-x 2 root root 512 12月 25日 09:42 proc/ drwx------ 4 root root 512 2月 2日 13:29 root/ drwxr-xr-x 2 root root 2048 11月 28日 09:06 sbin/ drwxrwxrwt 6 root root 512 3月 12日 15:03 tmp/ drwxr-xr-x 14 root root 512 2月 9日 13:51 usr/ drwxr-xr-x 15 root root 512 2月 9日 13:26 var/ -rw-r--r-- 1 root other 6 3月 10日 14:29 zImage onlsun4# onlsun4# pwd /space5 onlsun4# chmod go+w tftpboot onlsun4# ls -l 合計 1719538 -rw-r--r-- 1 root other 879950848 3月 9日 17:14 diskless-rootfs-Mar9 2004.tar drwx------ 2 root root 8192 5月 28日 2001年 lost+found/ drwxrwxrwx 3 root other 512 3月 11日 10:39 tftpboot/ onlsun4# onlsun4# pwd /space5/tftpboot onlsun4# chmod go+w 130.87.153.3 onlsun4# ls -l 合計 6 drwxrwxrwx 15 root root 512 3月 10日 14:29 130.87.153.3/ lrwxrwxrwx 1 root other 6 3月 11日 09:11 8257990A.SUN4M -> zIma ge -rw-r--r-- 1 root other 0 3月 11日 10:39 82579974.SUN4U -rw-r--r-- 1 root other 0 3月 11日 10:39 README -rw-r--r-- 1 root other 6 3月 12日 10:41 zImage onlsun4# onlsun4# pwd /etc/dfs onlsun4# vi dfstab : #share -F nfs -o rw /space5/tftpboot/130.87.153.3 share -F nfs -o rw=130.87.153.3 /space5/tftpboot/130.87.153.3 : ~ ~ "dfstab" 20 行、756 バイト onlsun4# onlsun4# ps -ef | grep inet root 139 1 0 14:21:28 ? 0:00 /usr/lib/inet/in.ndpd root 175 1 0 14:21:29 ? 0:00 /usr/sbin/inetd -s root 378 1 0 14:21:43 ? 0:00 /usr/lib/inet/in.dhcpd root 505 457 0 15:45:02 pts/2 0:00 grep inet onlsun4# kill -HUP 175 onlsun4# onlsun4# ls -l /dev/nfs* 一致しません。 onlsun4# onlsun4# mknod /dev/nfsroot b 0 255 onlsun4# ls -l /dev/nfs* brw-r--r-- 1 root other 0,255 3月 12日 16:40 /dev/nfsroot onlsun4# onlsun4[34]% cat /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # #/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr ufs 1 yes - fd - /dev/fd fd - no - /proc - /proc proc - no - /dev/dsk/c0t0d0s3 - - swap - no - /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0 / ufs 1 no - /dev/dsk/c0t0d0s6 /dev/rdsk/c0t0d0s6 /usr ufs 1 no - /dev/dsk/c0t0d0s1 /dev/rdsk/c0t0d0s1 /var ufs 1 no - /dev/dsk/c0t0d0s7 /dev/rdsk/c0t0d0s7 /export/home ufs 2 yes - /dev/dsk/c0t0d0s4 /dev/rdsk/c0t0d0s4 /space1 ufs 2 yes - /dev/dsk/c0t0d0s5 /dev/rdsk/c0t0d0s5 /space2 ufs 2 yes - #/dev/dsk/c0t1d0s5 /dev/rdsk/c0t1d0s5 /space5 ufs 2 yes - /dev/dsk/c0t1d0s5 /dev/rdsk/c0t1d0s5 /tftpboot ufs 2 yes - /dev/dsk/c0t1d0s7 /dev/rdsk/c0t1d0s7 /space6 ufs 2 yes - swap - /tmp tmpfs - yes - onlsun4[35]% onlsun4# cat /var/dhcp/dhcptab Locale m :UTCoffst=32400: 130.87.152.0 m :Subnet=255.255.252.0:RDiscvyF=1:Broadcst=130.87.155.255 : onlsun4 m :Include=Locale:Timeserv=130.87.153.116:LeaseTim=86400:LeaseNeg: DNSdmain="kek.jp":DNSserv=130.87.34.2 130.87.34.3 130.87.152.2:Rootpath=/tftpboo t/130.87.153.3:BootSrvA=130.87.153.116:Router=130.87.152.1: onlsun4# onlsun4 をリブートした後で、再度 onlsbc1 から起動を試みたが症状は変わら ない。 起動時の onlsbc1 側のメッセージは、Permission diniedエラーのために残され ていないのでチェックできない。 NFSマウントのテストをやってみる。 onlsbc1 をハードディスク上の Debian システムを使って立ち上げてみる。 onlsun1[59]% ssh onlsbc1 inoue@onlsbc1's password: Linux onlsbc1 2.4.18-bf2.4 #1 Son Apr 14 09:53:28 CEST 2002 i586 unknown Most of the programs included with the Debian GNU/Linux system are freely redistributable; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Mon Mar 15 09:17:49 2004 inoue@onlsbc1:~$ onlsun4 の /tftpboot/130.87.153.3 を onlsbc1 にマウントする。 onlsun4[42]% exportfs : - /tftpboot/130.87.153.3 rw "" : onlsun4[43]% マウントした/tftpboot/130.87.153.3ディレクトリに書き込みを実行してみる。 onlsbc1:/mnt# pwd /mnt onlsbc1:/mnt# ls -l 合計 1988 -rw-r--r-- 1 root root 593097 1月 13 09:03 System.map drwxr-xr-x 2 root root 1536 11月 28 09:06 bin -rw-r--r-- 1 root root 1371992 1月 13 09:04 bzImage drwxr-xr-x 10 root root 22528 3月 3 17:04 dev drwxr-xr-x 71 root root 3584 3月 15 16:57 etc drwxr-xr-x 3 root root 512 2月 23 16:12 home drwxr-xr-x 5 root root 2560 11月 28 09:06 lib drwxr-xr-x 2 root root 512 1月 19 10:10 mnt drwxr-xr-x 2 root root 512 12月 25 09:42 proc drwx------ 4 root root 512 2月 2 13:29 root drwxr-xr-x 2 root root 2048 11月 28 09:06 sbin -rw-r--r-- 1 4294967294 4294967294 4 3月 16 16:29 test1 -rw-r--r-- 1 inoue inoue 5 3月 16 09:01 test2 -rw-r--r-- 1 operator operator 5 3月 16 16:31 test3 drwxrwxrwt 6 root root 512 3月 15 17:44 tmp drwxr-xr-x 14 root root 512 2月 9 13:51 usr drwxr-xr-x 15 root root 512 2月 9 13:26 var -rw-r--r-- 1 root daemon 6 3月 10 14:29 zImage onlsbc1:/mnt# root 以外のアカウントでは正しい UID、GIDでファイルを作成できるが、rootで ファイルを作成するとUID、GID はnobody にはならないで 4294967294 になって しまっている。 試しに同じ /tftpboot/130.87.153.3ディレクトリを onlsun3 の Solaris 8 のマシンにマウントしてファイル作成を実行してみる。 onlsun3# df -k ファイルシステム kbytes 使用済み 使用可能 capacity マウント先 /dev/dsk/c0t1d0s0 95679 24466 61646 29% / /dev/dsk/c0t1d0s6 1985527 933589 992373 49% /usr /proc 0 0 0 0% /proc fd 0 0 0 0% /dev/fd mnttab 0 0 0 0% /etc/mnttab /dev/dsk/c0t1d0s1 481871 26522 407162 7% /var swap 201496 4 201492 1% /var/run /dev/dsk/c0t1d0s4 20159481 567088 19390799 3% /space1 swap 201504 12 201492 1% /tmp /dev/dsk/c0t1d0s5 20159481 4015417 15942470 21% /space2 /dev/dsk/c0t1d0s7 33800093 32665934 796159 98% /export/home onlsun4:/tftpboot/130.87.153.3 5159318 1719976 3387749 34% /mnt onlsun3# pwd /mnt onlsun3# ls -l 合計 3978 -rw-r--r-- 1 root root 593097 1月 13日 09:03 System.map drwxr-xr-x 2 root root 1536 11月 28日 09:06 bin/ -rw-r--r-- 1 root root 1371992 1月 13日 09:04 bzImage drwxr-xr-x 10 root root 22528 3月 3日 17:04 dev/ drwxr-xr-x 71 root root 3584 3月 15日 16:57 etc/ drwxr-xr-x 3 root root 512 2月 23日 16:12 home/ drwxr-xr-x 5 root root 2560 11月 28日 09:06 lib/ drwxr-xr-x 2 root root 512 1月 19日 10:10 mnt/ drwxr-xr-x 2 root root 512 12月 25日 09:42 proc/ drwx------ 4 root root 512 2月 2日 13:29 root/ drwxr-xr-x 2 root root 2048 11月 28日 09:06 sbin/ -rw-r--r-- 1 nobody nobody 7 3月 17日 09:20 test-onlsun3 -rw-r--r-- 1 nobody nobody 4 3月 16日 16:29 test1 -rw-r--r-- 1 1000 1000 5 3月 16日 09:01 test2 -rw-r--r-- 1 listen 37 5 3月 16日 16:31 test3 drwxrwxrwt 6 root root 512 3月 15日 17:44 tmp/ drwxr-xr-x 14 root root 512 2月 9日 13:51 usr/ drwxr-xr-x 15 root root 512 2月 9日 13:26 var/ -rw-r--r-- 1 root other 6 3月 10日 14:29 zImage onlsun3# onlsun4 の Solaris 8 でエクスポートしているディレクトリを、onlsun3 の Solaris 8 マウントして、マウントしたディレクトリにファイルを作成すると nodoby の UID、GID でファイルを正しく作成することができる。 参考. 以下のような記事を見つけた。 http://www.usinglinux.org/doc/translations/ja/NFS-HOWTO  -->> ここから参照開始 8.6.1. Solaris サーバ Solaris のサーバ側の形式は、他の OS と少々異なっています。設定ファイル には /etc/exports でなく /etc/dfs/dfstab を用います。エントリには "share" コマンドを用います。 Section 3 での例に対応する書式は次の通りで す。 share -o rw=slave1,slave2 -d "Master Usr" /usr そして編集後には、exportfs の代わりに shareall を実行します。 Solaris のサーバはパケットサイズに非常に敏感です。 Linux クライアントを Solaris サーバと使う場合には、必ずマウント時に rsize と wsize を 32768 にしてください。 最後に Solaris における root squash について述べておきます。 root はユ ーザ noone にマップされ、これはユーザ nobody とは異なります。クライアン トでファイルのパーミッションに関して問題がおきたら、マッピングが期待通 りになっているか、忘れずチェックしてください。  <<-- ここで参照終了 Solaris でユーザーごとに許可を与える場合には、/etc/dfs/dfstab に次のよう に設定する。 share -F nfs -o rw=client1:client2,ro,root=client2 -d "Home Dir" /export/ この例は、接続側のマシンclient1とclient2にだけ読み書きが可能(rw)なように し、それ以外のマシンからは読み込みだけが可能(ro)なように、接続側のマシン client2には rootアカウントでのアクセスを許可(root=client2)している。 onlsun4 の dfstabファイルの修正。 onlsun4# pwd /etc/dfs onlsun4# vi dfstab : share -F nfs -o rw=onlsbc1,root=onlsbc1 /tftpboot/130.87.153.3 : "dfstab" 29 行、1367 バイト onlsun4# onlsun4# shareall onlsun4# share : - /tftpboot/130.87.153.3 rw=onlsbc1,root=onlsbc1 "" : onlsun4# onlsun4# /etc/init.d/nfs.server stop onlsun4# /etc/init.d/nfs.server start onlsun4# onlsbc1:/home/inoue# df -k Filesystem 1k-blocks Used Available Use% Mounted on /dev/hda6 9685276 829296 8363992 10% / onlsbc1:/home/inoue# mount onlsun4:/tftpboot/130.87.153.3 /mnt1 mount: onlsun4:/tftpboot/130.87.153.3 failed, reason given by server: 許可があり ません onlsbc1:/home/inoue# サーバを onl5v4 に変えて実行してみる。 onl5v4 で実行中のOSは、onlsun4 と同じく Soalris 8 である。 onl5v4# pwd /etc/dfs onl5v4# vi dfstab : share -F nfs -o rw=onlsbc1,root=onlsbc1 -d "Testing" /space2 : ~ ~ "dfstab" 12 行、457 バイト onl5v4# onl5v4# shareall onl5v4# share - /space2 rw=onlsbc1,root=onlsbc1 "Testing" onl5v4# onl5v4# /etc/init.d/nfs.server stop onl5v4# /etc/init.d/nfs.server start onl5v4# onlsbc1:/etc# vi hosts : 130.87.153.49 onl5v4 # SPARC CPU-5V board : ~ ~ hosts: 15 lines, 415 characters onlsbc1:/etc# onlsbc1 の /etc/inet/hostsファイルに onlsun4の情報が記述されていなかった ので追記した。 onl5v4# vi /etc/dfs/dfstab : share -F nfs -o rw=onlsbc1,root=onlsbc1 -d "Testing" /space2 : onl5v4# onl5v4# /etc/init.d/nfs.server stop onl5v4# shareall onl5v4# share : - /space2 rw=onlsbc1,root=onlsbc1 "Testing" onl5v4# /etc/init.d/nfs.server start onl5v4# onlsbc1:/etc# df -k Filesystem 1k-blocks Used Available Use% Mounted on /dev/hda6 9685276 829296 8363992 10% / onlsbc1:/etc# mount onl5v4:/space2 /mnt1 onlsbc1:/etc# df -k Filesystem 1k-blocks Used Available Use% Mounted on /dev/hda6 9685276 829296 8363992 10% / onl5v4:/space2 10078400 0 9977632 0% /mnt1 onlsbc1:/etc# onlsbc1:/etc# vi /mnt1/test-from-onlsbc1 wdwdwf ~ ~ /mnt1/test-from-onlsbc1: new file: 1 lines, 7 characters onlsbc1:/etc# onlsbc1:/etc# ls -l /mnt1 合計 12 drwx------ 2 root root 8192 3月 19 2002 lost+found -rw-r--r-- 1 root daemon 6 3月 16 00:14 test -rw-r--r-- 1 root root 7 3月 16 05:25 test-from-onlsbc1 -rw-r--r-- 1 root root 8 3月 16 04:51 test-onlsbc1 -rw-r--r-- 1 root daemon 8 3月 16 00:21 test2 onlsbc1:/etc# ok. NFSマウントしたディスクに root の権限でファイルを作成することができ た。 (3-2). dhcp の設定変更 Solaris 8 が動作しているマシン onl5v4 がエクスポートした NFSファイルシス テムに対して、onlsbc1 のマシンから root の権限でファイルを作成できること は確認した。 ディスクレスクライアント用のルートファイルシステムをonl5v4 上に構築し、これを使って onlsbc1 を立ち上げることをやってみる。 (3-2-1). ブートサーバ指定を変更 onlsun4# pwd /var/dhcp onlsun4# mv dhcptab dhcptab-Mar182004 onlsun4# cp dhcptab-Mar182004 dhcptab onlsun4# onlsun4# vi dhcptab Locale m :UTCoffst=32400: 130.87.152.0 m :Subnet=255.255.252.0:RDiscvyF=1:Broadcst=130.87.155.255 : onlsun4 m :Include=Locale:Timeserv=130.87.153.116:LeaseTim=86400:LeaseNeg:DNSdmain="kek.jp":DNSserv=130.87.34.2 130.87.34.3 130.87.152.2:Rootpath=/tftpboot/130.87.153.3:BootSrvA=130.87.153.49:Router=130.87.152.1: ~ ~ "dhcptab" 3 行、312 バイト onlsun4# onlsun4# /etc/init.d/dhcp stop onlsun4# /etc/init.d/dhcp start onlsun4# ここで onlsbc1 のFD上のGRUBを起動する。 GRUB version 0.93 (640K lower/310208K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywere else TAB lists the possible completions of a device/filename. ESC at any time exits. ] grub> bootp Found Intel EtherExpressPro100 82559ER at 0xec00, ROM address 0x0000 Probing...[Intel EtherExpressPro100 822559ER] Ethernet addr: 00:0B:**:**:**:** Address: 130.87.**.** Netmask: 255.255.***.*** Server: 130.87.**.** Gateway: 130.87.**.** ok. onlsbc1 からの bootpリクエストに対して onlsun4 からのリプライでは ブートサーバが onl5v4 である旨の情報が返されてきた。 (3-3). onl5v4 上の tftp の設定 (3-3-1). tftp のテスト tftp でファイル転送できることを確認しておく。 onl5v4# pwd /etc/inet onl5v4# mv inetd.conf inetd.conf-Mar182004 onl5v4# cp inetd.conf-Mar182004 inetd.conf onl5v4# onl5v4# vi inetd.conf : # Tftp service is provided primarily for booting. Most sites run this # only on machines acting as "boot servers." # tftp dgram udp6 wait root /usr/sbin/in.tftpd in.tftpd -s /tft pboot # : "inetd.conf" 190 行、6905 バイト onl5v4# onl5v4# pwd /etc/dfs onl5v4# vi dfstab : share -F nfs -o rw=onlsbc1,root=onlsbc1 -d "Testing" /tftpboot : ~ ~ "dfstab" 14 行、589 バイト onl5v4# onl5v4# mkdir /tftpboot onl5v4# onl5v4# shareall onl5v4# share : - /tftpboot rw=onlsbc1,root=onlsbc1 "Testing" onl5v4# onl5v4# echo Hello > /tftpboot/zImage onl5v4# cat /tftpboot/zImage Hello onl5v4# ls -l /tftpboot 合計 2 -rw-r--r-- 1 root other 6 3月 16日 06:38 zImage onl5v4# onlsun1 から tftp を使って onl5v4 上のファイルを get してみる。 onlsun1[70]% tftp onl5v4 tftp> get zImage Received 7 bytes in 0.2 seconds tftp> quit onlsun1[71]% cat zImage Hello onlsun1[72]% ok. tftp は正常に実行できた。 (3-3-2). /tftpboot の整備 クライアント用としてエクスポートするルートファイルシステムを、/tftpboot ディレクトリの下に配置する。 onl5v4# df -k Filesystem kbytes used avail capacity Mounted on /dev/dsk/c0t3d0s0 64639 42876 15300 74% / /dev/dsk/c0t3d0s6 2081439 1417249 601747 71% /usr /proc 0 0 0 0% /proc fd 0 0 0 0% /dev/fd mnttab 0 0 0 0% /etc/mnttab /dev/dsk/c0t3d0s1 384303 40800 305073 12% /var swap 228992 4 228988 1% /var/run /dev/dsk/c0t3d0s5 10078396 13 9977600 1% /space2 swap 229000 12 228988 1% /tmp /dev/dsk/c0t3d0s4 10078396 575325 9402288 6% /space1 /dev/dsk/c0t3d0s7 15237162 46216 15038575 1% /export/home onl5v4# onl5v4# ls -l / total 108 lrwxrwxrwx 1 root root 9 Mar 19 2002 bin -> ./usr/bin drwxr-xr-x 2 root nobody 512 Mar 22 2002 cdrom drwxr-xr-x 13 root sys 5120 Dec 24 05:01 dev drwxr-xr-x 5 root sys 512 Mar 19 2002 devices drwxr-xr-x 44 root sys 3584 Mar 16 00:18 etc drwxr-xr-x 3 root sys 512 Mar 19 2002 export dr-xr-xr-x 1 root root 1 Dec 24 05:01 home lrwxrwxrwx 1 root other 10 Mar 25 2002 kek -> /kekfs/kek dr-xr-xr-x 1 root root 1 Mar 16 23:43 kekfs drwxr-xr-x 10 root sys 512 Mar 20 2002 kernel lrwxrwxrwx 1 root root 9 Mar 19 2002 lib -> ./usr/lib drwx------ 2 root root 8192 Mar 19 2002 lost+found drwxr-xr-x 2 root sys 512 Mar 19 2002 mnt dr-xr-xr-x 1 root root 1 Mar 16 23:51 net lrwxrwxrwx 1 root other 11 Mar 28 2002 opt -> /space1/opt drwxrwxr-x 6 root sys 512 Mar 19 2002 opt-org drwxrwxr-x 3 root sys 512 Mar 28 2002 opt-vme drwxr-xr-x 4 root sys 512 Mar 28 2002 platform dr-xr-xr-x 52 root root 11968 Mar 17 00:57 proc drwxr-xr-x 2 root sys 1024 Mar 19 2002 sbin drwxr-xr-x 4 root root 512 Mar 16 04:28 space1 drwxr-xr-x 3 root root 512 Mar 16 05:25 space2 drwxr-xr-x 2 root other 512 Mar 16 06:38 tftpboot drwxrwxrwt 6 root sys 314 Mar 16 22:41 tmp drwxr-xr-x 4 root bin 512 Mar 19 2002 toolboxes drwxr-xr-x 37 root sys 1024 Apr 3 2002 usr drwxr-xr-x 34 root sys 512 Mar 19 2002 var dr-xr-xr-x 6 root root 512 Dec 24 05:01 vol dr-xr-xr-x 1 root root 1 Dec 24 05:01 xfn onl5v4# /tftpboot ディレクトリの下には、クライアント用のシステムを置くだけのスペ ースがないので、/space2 の下に置くことにする。 /tftpboot ディレクトリは /space2 にシンボリックリンクする。 onl5v4# mv tftpboot tftpboot-old onl5v4# ln -s /space2 tftpboot onl5v4# cp tftpboot-old/zImage /tftpboot onl5v4# ls -l /tftpboot-old total 2 -rw-r--r-- 1 root other 6 Mar 16 06:38 zImage onl5v4# ls -l /tftpboot lrwxrwxrwx 1 root other 7 Mar 17 06:18 /tftpboot -> /space2 onl5v4# ls -lL /tftpboot total 26 drwx------ 2 root root 8192 Mar 19 2002 lost+found -rw-r--r-- 1 root other 6 Mar 16 00:14 test -rw-r--r-- 1 root root 7 Mar 16 05:25 test-from-onlsbc1 -rw-r--r-- 1 root root 8 Mar 16 04:51 test-onlsbc1 -rw-r--r-- 1 root other 8 Mar 16 00:21 test2 -rw-r--r-- 1 root other 6 Mar 17 06:23 zImage onl5v4# onlsun1[72]% tftp onl5v4 tftp> get zImage Received 7 bytes in 0.1 seconds tftp> quit onlsun1[73]% cat zImage Hello onlsun1[74]% (3-3-2A). クライアント用ルートファイルシステムの構築 onl5v4# pwd /space2 onl5v4# ls -l total 26 drwx------ 2 root root 8192 Mar 19 2002 lost+found -rw-r--r-- 1 root other 6 Mar 16 00:14 test -rw-r--r-- 1 root root 7 Mar 16 05:25 test-from-onlsbc1 -rw-r--r-- 1 root root 8 Mar 16 04:51 test-onlsbc1 -rw-r--r-- 1 root other 8 Mar 16 00:21 test2 -rw-r--r-- 1 root other 6 Mar 17 06:23 zImage onl5v4# mkdir 130.87.153.3 onl5v4# cd 130.87.153.3 onl5v4# ls -l total 0 onl5v4# onl5v4# mount onlpara:/home2/onlpara-wrk /mnt onl5v4# df -k Filesystem kbytes used avail capacity Mounted on /dev/dsk/c0t3d0s0 64639 42877 15299 74% / /dev/dsk/c0t3d0s6 2081439 1417249 601747 71% /usr /proc 0 0 0 0% /proc fd 0 0 0 0% /dev/fd mnttab 0 0 0 0% /etc/mnttab /dev/dsk/c0t3d0s1 384303 40800 305073 12% /var swap 228684 4 228680 1% /var/run /dev/dsk/c0t3d0s5 10078396 15 9977598 1% /space2 swap 228692 12 228680 1% /tmp /dev/dsk/c0t3d0s4 10078396 575325 9402288 6% /space1 /dev/dsk/c0t3d0s7 15237162 46216 15038575 1% /export/home onlpara:/home2/onlpara-wrk 22659860 6732392 14776412 32% /mnt onl5v4# onl5v4# pwd /space2/130.87.153.3 onl5v4# tar xf /mnt/root/diskless/diskless-rootfs.tar tar: directory checksum error onl5v4# onl5v4# ls -l total 10 drwxr-xr-x 71 root root 3584 Feb 12 09:23 etc drwxr-xr-x 3 root root 512 Mar 20 00:02 var onl5v4# rm -r * onl5v4# ls -l total 0 onl5v4# onl5v4# tar xf /mnt/root/diskless/diskless-rootfs-Mar92004.tar onl5v4# onl5v4# ls -l total 3968 -rw-r--r-- 1 root root 593097 Jan 13 09:03 System.map drwxr-xr-x 2 root root 1536 Nov 28 09:06 bin -rw-r--r-- 1 root root 1371992 Jan 13 09:04 bzImage drwxr-xr-x 10 root root 22528 Mar 3 17:04 dev drwxr-xr-x 71 root root 3584 Mar 3 17:04 etc drwxr-xr-x 3 root root 512 Feb 23 16:12 home drwxr-xr-x 5 root root 2560 Nov 28 09:06 lib drwxr-xr-x 2 root root 512 Jan 19 10:10 mnt drwxr-xr-x 2 root root 512 Dec 25 09:42 proc drwx------ 4 root root 512 Feb 2 13:29 root drwxr-xr-x 2 root root 2048 Nov 28 09:06 sbin drwxrwxrwt 6 root root 512 Mar 3 17:04 tmp drwxr-xr-x 14 root root 512 Feb 9 13:51 usr drwxr-xr-x 15 root root 512 Feb 9 13:26 var onl5v4# ls -l home total 2 drwxr-sr-x 11 1001 1001 512 Mar 1 13:33 toyo onl5v4# ls -l home/toyo total 10 drwx--l--- 3 1001 1001 512 Feb 26 16:37 Desktop drwxr-xr-x 2 1001 1001 1024 Jan 29 15:21 camac drwxr-xr-x 2 1001 1001 512 Jan 28 16:01 check drwxr-xr-x 4 1001 1001 512 Jan 29 16:34 public_html drwxr-xr-x 2 1001 1001 512 Jan 29 15:29 remote-camac onl5v4# (3-3-2B). /etc/dfs/dfstabファイルの設定 onl5v4# cat /etc/dfs/dfstab # Place share(1M) commands here for automatic execution # on entering init state 3. # # Issue the command '/etc/init.d/nfs.server start' to run the NFS # daemon processes and the share commands, after adding the very # first entry to this file. # # share [-F fstype] [ -o options] [-d ""] [resource] # .e.g, # share -F nfs -o rw=engineering -d "home dirs" /export/home2 #share -F nfs -o rw=onlsun3,root=onlsun3 -d "Testing" /space1 #share -F nfs -o rw=onlsbc1,root=onlsbc1 -d "Testing" /space2 share -F nfs -o rw=onlsbc1,root=onlsbc1 -d "Testing" /tftpboot onl5v4# (3-3-2C). /etc/vfstabファイルの設定 onl5v4# cat /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # #/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr ufs 1 yes - fd - /dev/fd fd - no - /proc - /proc proc - no - /dev/dsk/c0t3d0s3 - - swap - no - /dev/dsk/c0t3d0s0 /dev/rdsk/c0t3d0s0 / ufs 1 no - /dev/dsk/c0t3d0s6 /dev/rdsk/c0t3d0s6 /usr ufs 1 no - /dev/dsk/c0t3d0s1 /dev/rdsk/c0t3d0s1 /var ufs 1 no - /dev/dsk/c0t3d0s7 /dev/rdsk/c0t3d0s7 /export/home ufs 2 y es - /dev/dsk/c0t3d0s4 /dev/rdsk/c0t3d0s4 /space1 ufs 2 yes - /dev/dsk/c0t3d0s5 /dev/rdsk/c0t3d0s5 /space2 ufs 2 yes - #/dev/dsk/c0t3d0s5 /dev/rdsk/c0t3d0s5 /tftpboot ufs 2 y es - swap - /tmp tmpfs - yes - onl5v4# (3-4). /tftpboot/130.87.153.3/etc 以下のファイルの編集 (3-4-1). /tftpboot/130.87.153.3/etc/modules onl5v4# pwd /space2/130.87.153.3/etc onl5v4# cat modules # /etc/modules: kernel modules to load at boot time. # # This file should contain the names of kernel modules that are # to be loaded at boot time, one per line. Comments begin with # a "#", and everything on the line after them are ignored. usbcore usbmouse hid eepro100 usb-uhci input usbkbd keybdev onl5v4# /tftpboot/130.87.153.3/etc/modulesファイルの変更は必要ない。 (3-4-2). /tftpboot/130.87.153.3/etc/hostname /tftpboot/130.87.153.3/etc/hostnameファイルを修正。 クライアントのホス ト名を適切なものに設定し直す。 onl5v4# pwd /space2/130.87.153.3/etc onl5v4# cat hostname onlsbc1 onl5v4# (3-4-3). /tftpboot/130.87.153.3/etc/fstab /tftpboot/130.87.153.3/etc/fstabファイルを修正。 サーバがエクスポート しているファイルシステムに正しく指定し直す。 onl5v4# pwd /space2/130.87.153.3/etc onl5v4# vi fstab # /etc/fstab: static file system information. # # 130.87.153.49:/tftpboot/130.87.153.3 / nfs rw,rsize=8192,wsize=8192 0 0 #130.87.153.49:/usr /usr nfs ro,rsize=8192 0 0 #130.87.153.49:/home /home nfs rw,rsize=8192,wsize=8192 0 0 proc /proc proc defaults 0 0 /dev/fd0 /floppy auto user,noauto 0 0 #/dev/sdb4 none swap sw 0 0 #/dev/cdrom /cdrom iso9660 ro,user,noauto 0 0 ~ ~ "fstab" 11 lines, 453 characters onl5v4# (3-4-4). /tftpboot/130.87.153.3/etc/init.d /tftpboot/130.87.153.3/etc/init.d下のファイルの変更は必要ない。 onl5v4# pwd /space2/130.87.153.3/etc onl5v4# onl5v4# ls init.d README inetd procps.sh apache iptables rc atd kdm rcS bootmisc.sh keymap.sh reboot canna klogd rmnologin checkfs.sh load-pcc sendsigs checkroot.sh lpd sendsigs-bak console-screen.sh lprng sendsigs-org cron makedev setserial devpts.sh modutils single dns-clean mountall.sh skeleton exim mountnfs.sh skkserv freewnn-jserver networking ssh gdm networking-org sysklogd halt nfs-common umountfs halt-org nfs-kernel-server umountfs-org hostname.sh nfs-kernel-server-org umountnfs.sh hotplug nvi-m17n-canna umountnfs.sh-org hwclock.sh nviboot urandom hwclockfirst.sh portmap xdm ifupdown ppp xfs onl5v4# (3-4-5). /tftpboot/130.87.153.3/etc/network/interfaces /tftpboot/130.87.153.3/etc/network/interfacesファイルを修正。 クライアン トの適切なネットワーク情報を設定する。 onl5v4# pwd /space2/130.87.153.3/etc/network onl5v4# vi interfaces # /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) # The loopback interface auto lo #auto eth0 iface lo inet loopback #iface eth0 inet static address 130.87.153.3 netmask 255.255.252.0 network 130.87.152.0 broadcast 130.87.152.255 gateway 130.87.152.1 ~ ~ "interfaces" 12 lines, 273 characters onl5v4# (3-4-6). /tftpboot/130.87.153.3/etc/modules.conf /tftpboot/130.87.153.3/etc/modules.confファイルを修正。 "alias net-pf-1 off" 行のコメントアウト。 onl5v4# pwd /space2/130.87.153.3/etc onl5v4# cat modules.conf ### This file is automatically generated by update-modules" # # Please do not edit this file directly. If you want to change or add # anything please take a look at the files in /etc/modutils and read # the manpage for update-modules. # ### update-modules: start processing /etc/modutils/0keep # DO NOT MODIFY THIS FILE! # This file is not marked as conffile to make sure if you upgrade modutils # it will be restored in case some modifications have been made. # # The keep command is necessary to prevent insmod and friends from ignoring # the builtin defaults of a path-statement is encountered. Until all other # packages use the new `add path'-statement this keep-statement is essential # to keep your system working keep ### update-modules: end processing /etc/modutils/0keep ### update-modules: start processing /etc/modutils/actions # Special actions that are needed for some modules # The BTTV module does not load the tuner module automatically, # so do that in here post-install bttv insmod tuner post-remove bttv rmmod tuner ### update-modules: end processing /etc/modutils/actions ### update-modules: start processing /etc/modutils/aliases # Aliases to tell insmod/modprobe which modules to use # Uncomment the network protocols you don't want loaded: alias net-pf-1 off # Unix # alias net-pf-2 off # IPv4 # alias net-pf-3 off # Amateur Radio AX.25 # alias net-pf-4 off # IPX # alias net-pf-5 off # DDP / appletalk # alias net-pf-6 off # Amateur Radio NET/ROM # alias net-pf-9 off # X.25 # alias net-pf-10 off # IPv6 # alias net-pf-11 off # ROSE / Amateur Radio X.25 PLP # alias net-pf-19 off # Acorn Econet alias char-major-10-175 agpgart alias char-major-10-200 tun alias char-major-81 bttv alias char-major-108 ppp_generic alias /dev/ppp ppp_generic alias tty-ldisc-3 ppp_async alias tty-ldisc-14 ppp_synctty alias ppp-compress-21 bsd_comp alias ppp-compress-24 ppp_deflate alias ppp-compress-26 ppp_deflate # Crypto modules (see http://www.kerneli.org/) alias loop-xfer-gen-0 loop_gen alias loop-xfer-3 loop_fish2 alias loop-xfer-gen-10 loop_gen alias cipher-2 des alias cipher-3 fish2 alias cipher-4 blowfish alias cipher-6 idea alias cipher-7 serp6f alias cipher-8 mars6 alias cipher-11 rc62 alias cipher-15 dfc2 alias cipher-16 rijndael alias cipher-17 rc5 ### update-modules: end processing /etc/modutils/aliases ### update-modules: start processing /etc/modutils/paths # This file contains a list of paths that modprobe should scan, # beside the once that are compiled into the modutils tools # themselves. ### update-modules: end processing /etc/modutils/paths ### update-modules: start processing /etc/modutils/ppp alias /dev/ppp ppp_generic alias char-major-108 ppp_generic alias tty-ldisc-3 ppp_async alias tty-ldisc-14 ppp_synctty alias ppp-compress-21 bsd_comp alias ppp-compress-24 ppp_deflate alias ppp-compress-26 ppp_deflate ### update-modules: end processing /etc/modutils/ppp ### update-modules: start processing /etc/modutils/setserial # # This is what I wanted to do, but logger is in /usr/bin, which isn't loaded # when the module is first loaded into the kernel at boot time! # #post-install serial /etc/init.d/setserial start | logger -p daemon.info -t "set serial-module reload" #pre-remove serial /etc/init.d/setserial stop | logger -p daemon.info -t "setser ial-module uload" # alias /dev/tts serial alias /dev/tts/0 serial alias /dev/tts/1 serial alias /dev/tts/2 serial alias /dev/tts/3 serial post-install serial /etc/init.d/setserial modload > /dev/null 2> /dev/null pre-remove serial /etc/init.d/setserial modsave > /dev/null 2> /dev/null ### update-modules: end processing /etc/modutils/setserial ### update-modules: start processing /etc/modutils/arch/i386 alias parport_lowlevel parport_pc alias char-major-10-144 nvram alias binfmt-0064 binfmt_aout alias char-major-10-135 rtc ### update-modules: end processing /etc/modutils/arch/i386 onl5v4# (3-4-7). /tftpboot/130.87.153.3/etc/modutils/aliases /tftpboot/130.87.153.3/etc/modutils/aliasesファイルを修正。 "alias net-pf-1 off" 行のコメントアウト。 onl5v4# pwd /space2/130.87.153.3/etc/modutils onl5v4# cat aliases # Aliases to tell insmod/modprobe which modules to use # Uncomment the network protocols you don't want loaded: alias net-pf-1 off # Unix # alias net-pf-2 off # IPv4 # alias net-pf-3 off # Amateur Radio AX.25 # alias net-pf-4 off # IPX # alias net-pf-5 off # DDP / appletalk # alias net-pf-6 off # Amateur Radio NET/ROM # alias net-pf-9 off # X.25 # alias net-pf-10 off # IPv6 # alias net-pf-11 off # ROSE / Amateur Radio X.25 PLP # alias net-pf-19 off # Acorn Econet alias char-major-10-175 agpgart alias char-major-10-200 tun alias char-major-81 bttv alias char-major-108 ppp_generic alias /dev/ppp ppp_generic alias tty-ldisc-3 ppp_async alias tty-ldisc-14 ppp_synctty alias ppp-compress-21 bsd_comp alias ppp-compress-24 ppp_deflate alias ppp-compress-26 ppp_deflate # Crypto modules (see http://www.kerneli.org/) alias loop-xfer-gen-0 loop_gen alias loop-xfer-3 loop_fish2 alias loop-xfer-gen-10 loop_gen alias cipher-2 des alias cipher-3 fish2 alias cipher-4 blowfish alias cipher-6 idea alias cipher-7 serp6f alias cipher-8 mars6 alias cipher-11 rc62 alias cipher-15 dfc2 alias cipher-16 rijndael alias cipher-17 rc5 onl5v4# (3-4-8). /tftpboot/130.87.153.3/lib/modules/2.4.18/modules.dep /tftpboot/130.87.153.3/lib/modules/2.4.18/modules.depファイルを作成。 ここで、サーバをリブートする。 onl5v4# # onl5v4[35]% su Password: # reboot Connection to onl5v4 closed by remote host. Connection to onl5v4 closed. (3-5). FD上のGRUBのmenu.lstファイルの修正 onlsbc1:/home/inoue# mount -t ext2 /dev/fd0 /mnt onlsbc1:/home/inoue# onlsbc1:/home/inoue# cd /mnt onlsbc1:/mnt# ls boot lost+found onlsbc1:/mnt# cd boot onlsbc1:/mnt/boot# ls grub onlsbc1:/mnt/boot# cd grub onlsbc1:/mnt/boot/grub# ls diskless e2fs_stage1_5 menu.lst nbgrub stage1 stage2 onlsbc1:/mnt/boot/grub# onlsbc1:/mnt/boot/grub# vi menu.lst : # Solaris 8: Bootp: onlsbc1 Network boot title Solaris 8: Bootp: Boot from network with bootp [130.87.153.3/bzImage] bootp root (nd) kernel /tftpboot/130.87.153.3/bzImage nfsroot=130.87.153.49:/tftpboot/130.87.153 .3 ip=bootp : menu.lst: 118 lines, 3997 characters onlsbc1:/mnt/boot/grub# onlsbc1:/mnt/boot/grub# cd / onlsbc1:/# umount /mnt onlsbc1:/# サーバが立ち上がったところで、クライアントマシンの onlsbc1から GRUBを 起動した。 : : bootp Found Intel EtherExpressPro100 82559ER at 0xec00, ROM address 0x0000 Probing...[Intel EtherExpressPro100 82559ER]Ethernet add: 00:0B:AB:**:**:** Address: 130.87.153.3 Netmask: 255.255.252.0 Server: 130.87.153.49 Gateway: 130.87.152.1 root(nd) filesystem type is tftp, using whole disk kernel /tftpboot/130.87.153.3/bzImage nfsroot=130.87.153.49:/tftpboot/130.87.153.3 ip=bootp TFTP error 2 (Accesss violation) Error 15: File not found Press any key to continue... となってしまった。 項目(3-3-2)での tftp によるファイル転送のテストから 分かるように、現在の inetd.confファイルでの設定では、tftp で転送する ファイルの名前には無条件で先頭部に/tftpboot が付加される。 従って kernel コマンドのファイル名を記述する部分には先頭の /tftpboot の部分を除いた残 りを指定するようにすべきである。 onlsbc1 のローカルHD上の Linuxシステム を起動して、FD上の GRUB の menu.lstファイルを修正する。 [root@onlsbc1 inoue]# mount -t ext2 /dev/fd0 /mnt [root@onlsbc1 inoue]# cd /mnt/boot/grub [root@onlsbc1 grub]# ls -l 合計 375 -rwxr-xr-x 1 root root 121600 1月 15 10:10 diskless -rwxr-xr-x 1 root root 8100 1月 15 09:42 e2fs_stage1_5 -rw-r--r-- 1 root root 4081 3月 23 13:57 menu.lst -rw-r--r-- 1 root root 122112 1月 15 10:10 nbgrub -rwxr-xr-x 1 root root 512 1月 15 08:57 stage1 -rw-r--r-- 1 root root 122144 1月 15 09:00 stage2 [root@onlsbc1 grub]# [root@onlsbc1 grub]# vi menu.lst : # Solaris 8: Bootp: onlsbc1 Network boot title Solaris 8: Bootp: Boot from network with bootp [130.87.153.3/bzImage] bootp root (nd) #kernel /tftpboot/130.87.153.3/bzImage nfsroot=130.87.153.49:/tftpboot/130.87.15 3.3 ip=bootp kernel /130.87.153.3/bzImage nfsroot=130.87.153.49:/tftpboot/130.87.153.3 ip=boo tp : [root@onlsbc1 grub]# [root@onlsbc1 grub]# cd / [root@onlsbc1 /]# umount /mnt [root@onlsbc1 /]# ここで onlsbc1 のFDから起動する。 [root@onlsbc1 /]# reboot [root@onlsbc1 /]# Broadcast message from root (pts/1) (Tue Mar 23 16:58:22 2004): The system is going down for reboot NOW! : : ok. 正常に立ち上がった。 立ち上がった時の画面。 ---xxxx