Date: Thu, 24 Sep 2015 08:37:06 -0600 From: Ian Lepore <ian@freebsd.org> To: Daniel Braniss <danny@cs.huji.ac.il> Cc: Randy Westlund <rwestlun@gmail.com>, freebsd-arm@freebsd.org Subject: Re: NFS Root with Raspberry Pi (nfs_diskless: no interface) Message-ID: <1443105426.1224.272.camel@freebsd.org> In-Reply-To: <CFAAFAE2-F0B2-431B-93C6-61D66464B7FD@cs.huji.ac.il> References: <20150922052522.GA62140@gmail.com> <00C49FEB-E8EF-4469-85E2-0F901215CD11@cs.huji.ac.il> <20150923050414.GB43653@gmail.com> <91AAC64E-4C38-47AA-8910-48F7654A7524@cs.huji.ac.il> <20150923174445.GE43653@gmail.com> <CFAAFAE2-F0B2-431B-93C6-61D66464B7FD@cs.huji.ac.il>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 2015-09-24 at 14:28 +0300, Daniel Braniss wrote: > > On 23 Sep 2015, at 20:44, Randy Westlund <rwestlun@gmail.com> wrote: > > > > On Wed, Sep 23, 2015 at 11:54:43AM +0300, Daniel Braniss wrote: > >> ok, thought it was too easy. Can you send me more info so that i can reproduce it here? > >> specially the ubldr stuff? > >> > >> ah! try if_smsc_load=YES > >> > >> danny > > > > Okay, that's definitely the correct driver. Looks like the pi uses a > > SMSC LAN9514 ethernet module. But I see the same output regardless of > > whether that's in loader.conf or not. The kernel seems to be finding > > smsc0 just fine. It just hasn't created the interface yet. > > iÿll try this here tomorrow, but in the meantime some ideas: > did you compile the kernel with option BOOTP_NFSV3? > > > > > >> ugen0.1: <DWCOTG> at usbus0 > >> uhub0: <DWCOTG OTG Root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0 > >> mmcsd0: 4GB <SDHC SU04G 8.0 SN 001FC92A MFG 12/2011 by 3 SD> at mmc0 41.6MHz/4bit/65535-block > >> nfs_diskless: no interface > >> Root mount waiting for: usbus0 > >> uhub0: 1 port with 1 removable, self powered > >> ugen0.2: <vendor 0x0424> at usbus0 > >> uhub1: <vendor 0x0424 product 0x9512, class 9/0, rev 2.00/2.00, addr 2> on usbus0 > >> uhub1: MTT enabled > >> Root mount waiting for: usbus0 > >> uhub1: 3 ports with 2 removable, self powered > >> Root mount waiting for: usbus0 > >> ugen0.3: <vendor 0x0424> at usbus0 > >> smsc0: <vendor 0x0424 product 0xec00, rev 2.00/2.00, addr 3> on usbus0 > >> Trying to mount root from nfs:192.168.1.254:/usr/raspi_root [rw]... > >> nfs_diskless: no interface > >> Mounting from nfs:192.168.1.254:/usr/raspi_root failed with error -1. > >> > >> Loader variables: > >> vfs.root.mountfrom=nfs:192.168.1.254:/usr/raspi_root > >> vfs.root.mountfrom.options=rw > > > > > Here's the fstab that the pi is using: > > > >> cat /usr/raspi_root/etc/fstab > >> 192.168.1.254:/usr/raspi_root / nfs rw 0 0 > > > > Here's dhcp.conf on my router: > > > >> $ cat /etc/dhcpd.conf > >> authoritative; > >> option domain-name-servers 192.168.1.1; > >> > >> subnet 192.168.1.0 netmask 255.255.255.0 { > >> option routers 192.168.1.1; > >> range 192.168.1.2 192.168.1.150; > >> next-server 192.168.1.254; > >> option root-path "/usr/raspi_root"; > >> } > > > > Here's what ubldr sees before it loads the kernel over NFS: > > > >> loader> show > >> LINES=24 > >> autoboot_delay=10 > >> boot.netif.gateway=0.0.0.0 > >> boot.netif.hwaddr=b8:27:eb:28:a4:f8 > >> boot.netif.ip=192.168.1.33 > >> boot.netif.netmask=255.255.255.0 > >> boot.nfsroot.nfshandle=X298684cadeaf78ee0a000400000000006ed938000000000000000000X > >> boot.nfsroot.nfshandlelen=28 > >> boot.nfsroot.path=/usr/raspi_root > >> boot.nfsroot.server=192.168.1.254 > >> bootfile=kernel > >> console=uboot > >> currdev=net0: > >> interpret=OK > >> kernel=kernel > >> kernelname=/boot/kernel/kernel > >> loaddev=net0: > >> loader_conf_files=/boot/loader.conf /boot/loader.conf.local > >> module_path=/boot/kernel;/boot/kernel;/boot/modules;/boot/dtb > >> prompt=loader> > >> twiddle_divisor=1 > > > > The files I'm using are all taken from one of these two images (same > > result with both): > > > > FreeBSD-11.0-CURRENT-arm-armv6-RPI-B-20150826-r287169.img > > FreeBSD-10.2-STABLE-arm-armv6-RPI-B-20150917-r287929.img > > > > Let me know if you need any other info, and thanks for spending time on > > this. > > > > Randy Try setting boot.netif.name="ue0" in loader.conf. I've never tried that, but in looking at the code, there's some chance it could work. :) What I do is put these options into my RPi kernel config: options BOOTP options BOOTP_NFSROOT options BOOTP_NFSV3 options BOOTP_WIRED_TO=ue0 But this requires configuring a bootp or dhcp server to provide the info. It should be possible to netboot without using BOOTP. -- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1443105426.1224.272.camel>