作成: 2004-08-29 (日) 19:34:30
更新: 2004-12-04 (土) 18:21:44
参照: 12303

#contents



CygwinをNFS*1サーバにする

標準Cygwin NFS Server(以前のnfs-server-2.2.47-2と同一)の場合

こちらからCygwin NFS Server HOWTOサイトを知った。

  • デフォルトではSkipされるNetカテゴリのnfs-serverInstall選択すると、インストールされるとのこと。 (普通は見逃すような気がする)。
  • Sun rpcはデフォルトでInstall選択されている。
  • ダウンロード先は、会津大学ftp.u-aizu.ac.jp北陸先端科学技術大学院大学ftp.jaist.ac.jpサイトが速いので、利用させてもらっている。

Setup手順

cygwin_setup_default.jpg
cygwin_setup_nfs-server.jpg

上記の手順でCygwin標準のNFS Serverを使用して、H8MAXのnfsrootを再確認した。

  • /etc/exports*2の設定 他
cygwin_nfs_settings.png

Cygwinで途中から使用可能になった、mknodのデバイス番号が送信されない様子である。

  • 例:エクスポートディレクトリ
    • cygwin_export_dir.png
  • mknodコマンド
    • mknodで/devのデバイスをメジャー,マイナー番号付で作成する。
    • Cygwin nfs-serverでエクスポートするとメジャー番号が0になる。
    • そのためコンソールが見えない状態になると推定される。
    • cygwin_mknod.png

  • 上記をLinux MLD mini 2.0のnfsクライアントでmountした結果が以下である。
    # ls -alg
    合計 5
    drwxr-xr-x   11 513             0 11月 27 01:37 .
    drwxr-xr-x    5 root         4096  4月  4  2004 ..
    drwxr-xr-x    2 513             0 11月 23 23:21 bin
    drwxr-xr-x    2 513             0 11月 27 01:36 dev
    drwxr-xr-x    3 513             0 11月 23 23:21 etc
    drwxr-xr-x    3 513             0 11月 23 23:21 home
    drwxr-xr-x    2 513             0 11月 23 23:21 lib
    drwxr-xr-x    2 513             0 11月 23 23:21 mnt
    drwxr-xr-x    2 513             0 11月 23 23:21 proc
    lrwxrwxrwx    1 544             5 11月 27 01:37 sbin -> ./bin
    lrwxrwxrwx    1 544             7 11月 27 01:37 tmp -> var/tmp
    drwxr-xr-x    2 513             0 11月 23 23:21 usr
    drwxr-xr-x    2 513             0 11月 23 23:21 var
    # ls -lg dev
    合計 3
    -rwxr-xr-x    1 513             0 11月 27 01:34 @console,c,5,1
    -rwxr-xr-x    1 513             0 11月 27 01:34 @hda,b,3,0
    -rwxr-xr-x    1 513             0 11月 27 01:34 @hda1,b,3,1
    -rwxr-xr-x    1 513             0 11月 27 01:34 @hda2,b,3,2
    -rwxr-xr-x    1 513             0 11月 27 01:34 @hda3,b,3,3
    -rwxr-xr-x    1 513             0 11月 27 01:34 @hda4,b,3,4
    -rwxr-xr-x    1 513             0 11月 27 01:34 @hda5,b,3,5
    -rwxr-xr-x    1 513             0 11月 27 01:34 @hda6,b,3,6
    -rwxr-xr-x    1 513             0 11月 27 01:34 @hda7,b,3,7
    -rwxr-xr-x    1 513             0 11月 27 01:34 @hda8,b,3,8
    -rwxr-xr-x    1 513             0 11月 27 01:34 @hdb,b,3,64
    -rwxr-xr-x    1 513             0 11月 27 01:34 @hdc,b,22,0
    -rwxr-xr-x    1 513             0 11月 27 01:34 @hdd,b,22,64
    -rwxr-xr-x    1 513             0 11月 27 01:34 @null,c,1,3
    -rwxr-xr-x    1 513             0 11月 27 01:34 @ttySC0,c,204,8
    -rwxr-xr-x    1 513             0 11月 27 01:34 @ttySC1,c,204,9
    -rwxr-xr-x    1 513             0 11月 27 01:34 @ttySC2,c,204,10
    crwxr-xr-x    1 544        0,   1 11月 27 01:35 console
    brwxr-xr-x    1 544        0,   0 11月 27 09:27 hda
    brwxr-xr-x    1 544        0,   1 11月 27 01:36 hda1
    crwxrwxrwx    1 544        0,   3 11月 26 20:32 null
    crwxrwxrwx    1 544        0,   8 11月 26 20:33 ttySC0
    crwxrwxrwx    1 544        0,   9 11月 26 20:32 ttySC1
    crwxrwxrwx    1 544        0,  10 11月 26 20:33 ttySC2
Cygwin nfs-serverでエクスポートすると、クライアント側ではメジャー番号が0になる。

参考:デバイス番号の変更について

H8MAXでCygwin nfs-serverを指定して、nfsroot指定で起動させると

  • 「イニシャル コンソールが見つからない」の表示がされた。
 Cmdline : console=ttySC1,38400n81 nfsroot=192.168.2.2:/diskless/192.168.2.10
Linux version 2.4.21-uc0 (muranaka@d3pbq41x.localdomain) (gcc バージョン 3.3) #8 2004
年 4月 3日 土曜日 01:51:29 JST

uClinux H8/300H
Target Hardware: H8MAX
H8/300 series support by Yoshinori Sato <ysato@users.sourceforge.jp>
Flat model support (C) 1998,1999 Kenneth Albanowski, D. Jeff Dionne
On node 0 totalpages: 1536
zone(0): 0 pages.
zone(1): 1536 pages.
zone(2): 0 pages.
Kernel command line: console=ttySC1,38400n81 nfsroot=192.168.2.2:/diskless/192.168.2.
10
virtual vector at 0x00ffbf20
Calibrating delay loop... 8.29 BogoMIPS
Memory available: 776k/998k RAM, 0k/0k ROM (845k kernel code, 201k data)
Dentry cache hash table entries: 1024 (order: 1, 8192 bytes)
Inode cache hash table entries: 512 (order: 0, 4096 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 2048 (order: 1, 8192 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
SuperH SCI(F) driver initialized
ttySC0 at 0x00ffffb0 is a SCI
ttySC1 at 0x00ffffb8 is a SCI
ttySC2 at 0x00ffffc0 is a SCI
ne.c:v1.10 9/23/94 Donald Becker (becker@scyld.com)
Last modified Nov 1, 2000 by Paul Gortmaker
NE*000 ethercard probe at 0x800600: 00 02 cb 01 67 cb
eth0: NE2000 found at 0x800600, using IRQ 16.
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
hda: SanDisk SDCFB-256, CFA DISK drive
ide0 at 0x00200000-0x0020000f,0x0060000c on irq 17
hda: attached ide-disk driver.
hda: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
hda: task_no_data_intr: error=0x04 { DriveStatusError }
hda: 501760 sectors (257 MB) w/1KiB Cache, CHS=980/16/32
Partition check:
 hda: hda1
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 512 bind 1024)
Sending DHCP requests ., OK
IP-Config: Got DHCP answer from 192.168.2.2, my address is 192.168.2.10
IP-Config: Complete:
      device=eth0, addr=192.168.2.10, mask=255.255.255.0, gw=192.168.2.2,
     host=192.168.2.10, domain=myhome.ne, nis-domain=(none),
     bootserver=192.168.2.2, rootserver=192.168.2.2, rootpath=
Looking up port of RPC 100003/2 on 192.168.2.2
Looking up port of RPC 100005/1 on 192.168.2.2
VFS: Mounted root (nfs filesystem).
Freeing unused kernel memory: 36k freed (0x4de000 - 0x4e6000)
Warning: unable to open an initial console.

nfs-serverをBUILDしなおしてLog出力されるようにした。

  • 一応マウントされている。
cygwin_var_log.png

上記動作時のUDP通信をPacketyzerでキャプチャすると

http://muranaka.info/images/cygwin-h8max_nfsroot.png


以下は旧情報です。

  • 以前はエクスポートしているディレクトリに不備(アクセス権限)があった。
  • H8MAXでnfsrootで起動すると以下エラーが出ていた。
  • エクスポートディレクトリを切り直したところ復旧した。
Looking up port of RPC 100003/2 on 192.168.2.2
Looking up port of RPC 100005/1 on 192.168.2.2
nfs_get_root: getattr error = 116
nfs_read_super: get root inode failed
VFS: Unable to mount root fs via NFS, trying floppy.

Cygwin Universal NFS Serverの場合

  • CygwinのUniversal NFS Serverは、従来 nfs-server-2.2.47-1を使用して来たが、今回 nfs-server-2.2.47-2に更新した。
  • エクスポートしているディレクトリに途中から不備が有り(アクセス権限)、以下の状態になっていた
  • Linux MLD mini 2.0からのNFSマウント*3が出来なくなった。
  • NFSクライアント実行例
    # mount -t nfs 192.168.2.2:/diskless/192.168.2.10 /mnt/nfs
    mount: 間違ったファイルシステムタイプ、不正なオプション
          192.168.2.2:/diskless/192.168.2.10 のスーパーブロックが不正、或いはファイルシステムのマウントが多すぎます
    # uname -a
    Linux d3pbq41x.localdomain 2.4.21-pre5 #1 SMP Fri Mar 28 14:16:16 JST 2003 i686 i686 i386 GNU/Linux
    # uname -r
    2.4.21-pre5
  • NFSサーバとしたCygwin-DLLのバージョンは1.5.10である。

*1 NFS
*2 exports
*3 mount

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: Tue, 01 Mar 2005 23:31:15 JST (4406d)