Diskless (BOOTP_NFSROOT,NFS_ROOT) booting appears to be broken in
-current. (at least on alpha, haven't tried x86):

net0:> boot kernel.de1
/kernel.de1 data=0x261540+0x253f8 syms=[0x8+0x30ae0+0x8+0x232eb]
Entering kernel.de1 at 0xfffffc0000325c80...
Copyright (c) 1992-1999 The FreeBSD Project.
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California. All rights reserved.
FreeBSD 4.0-CURRENT #1: Tue Jul 27 14:46:14 EDT 1999
    [EMAIL PROTECTED]:/usr/src/sys/compile/BOOTP
AlphaStation 500 or 600 (KN20AA)
<.snip...>
bootpc_init: wired to interface 'de1'
bootpc_init: using network interface 'de1'
Bootpc testing starting
bootpc hw address is 0:0:f8:0:xx:yy
My ip address is 152.3.x.y
Server ip address is 152.3.x.y
Gateway ip address is 0.0.0.0
Server name is xxx.cs.duke.edu
boot file is /freebsd/diskless.alpha/boot/netboot
Subnet mask is 255.255.0.0
rootfs is 152.3.x.y:/freebsd/diskless.alpha
rootdev=0xffffffffffffffff error=6,  panic: cannot mount root (2)

panic
Stopped at      Debugger+0x2c:  ldq     ra,0(sp) <0xfffffc00005e3ca0>   
<ra=0xfffffc0000495b80,sp=0xfffffc00005e3ca0>


The rootdev is never set, so the mount is never attempted in
vfs_mountrootfs. 

The appended hack (in the spirit of the first MFS_ROOT fix by John
Birrell) seems to fix it temporarily.  Can somebody with a clue please
look into this?

Thanks,

Drew

------------------------------------------------------------------------------
Andrew Gallatin, Sr Systems Programmer  http://www.cs.duke.edu/~gallatin
Duke University                         Email: [EMAIL PROTECTED]
Department of Computer Science          Phone: (919) 660-6590


Index: vfs_conf.c
===================================================================
RCS file: /home/ncvs/src/sys/kern/vfs_conf.c,v
retrieving revision 1.31
diff -u -b -B -c -r1.31 vfs_conf.c
cvs diff: conflicting specifications of output style
*** vfs_conf.c  1999/07/03 17:40:31     1.31
--- vfs_conf.c  1999/07/27 21:17:31
***************
*** 134,140 ****
                return ;
        }
        mp->mnt_flag            |= MNT_ROOTFS;
! 
        /*
         * Attempt the mount
         */
--- 134,142 ----
                return ;
        }
        mp->mnt_flag            |= MNT_ROOTFS;
! #if defined (BOOTP_NFSROOT) || defined (NFS_ROOT)
!       err = VFS_MOUNT(mp, NULL, NULL, NULL, p);
! #else 
        /*
         * Attempt the mount
         */
***************
*** 158,163 ****
--- 160,166 ----
                if (err != ENXIO)
                        break;
        }
+ #endif
        if (err) {
                /*
                 * XXX should ask the user for the name in some cases.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to