Date: Wed, 3 Apr 2019 12:36:27 +0300 From: Daniel Braniss <danny@cs.huji.ac.il> To: "Rodney W. Grimes" <freebsd-rwg@gndrsh.dnsmgr.net> Cc: Ian Lepore <ian@freebsd.org>, ticso@cicely.de, "freebsd-arm@freebsd.org" <arm@freebsd.org> Subject: Re: network booting allwinner(nanopi) Message-ID: <B1FF704A-C13E-4FBF-BA38-ADC444BD114C@cs.huji.ac.il> In-Reply-To: <201904030853.x338r2lm025916@gndrsh.dnsmgr.net> References: <201904030853.x338r2lm025916@gndrsh.dnsmgr.net>
next in thread | previous in thread | raw e-mail | index | archive | help
> On 3 Apr 2019, at 11:53, Rodney W. Grimes = <freebsd-rwg@gndrsh.dnsmgr.net> wrote: >=20 >> On Mon, 2019-04-01 at 08:52 +0300, Daniel Braniss wrote: >>>> On 29 Mar 2019, at 22:36, Bernd Walter <ticso@cicely7.cicely.de> >>>> wrote: >>>>=20 >>>> On Fri, Mar 29, 2019 at 09:34:30AM +0300, Daniel Braniss wrote: >>>>> Hi, >>>>> with last weeks head (r345465), >>>>> I tried - again - to netboot and the old way no longer works >>>>> usb start >>>>> setenv loaderdev net >>>>> boot >>>>>=20 >>>>> now it complains allot:-) but no dice. >>>>> So, is there a way that netboot works? >>>>=20 >>>> On a Pi1 project I put the following in loader.conf: >>>> currdev=3D"net0" >>>> This requires the loader.conf to be on the SD card however. >>>> I used an UFS partition for that, but I assume that the msdosfs >>>> partition would work too as the loader can read that filesystem >>>> as well. >>>>=20 >>>> --=20 >>>> B.Walter <bernd@bwct.de> http://www.bwct.de >>>> Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner >>>> uvm. >>>=20 >>> well, this is what I get: >>> U-Boot SPL 2019.01 (Mar 24 2019 - 10:15:37 +0200) >>> DRAM: 512 MiB >>> Trying to boot from MMC1 >>>=20 >>>=20 >>> U-Boot 2019.01 (Mar 24 2019 - 10:15:37 +0200) Allwinner Technology >>>=20 >>> CPU: Allwinner H3 (SUN8I 1680) >>> Model: FriendlyARM NanoPi NEO >>> DRAM: 512 MiB >>> MMC: SUNXI SD/MMC: 0 >>> Loading Environment from FAT... *** Warning - bad CRC, using default >>> environment >>>=20 >>> In: serial >>> Out: serial >>> Err: serial >>> Net: phy interface0 >>>=20 >>> Error: ethernet@1c30000 address not set. >>> eth-1: ethernet@1c30000 >>> starting USB... >>> USB0: USB EHCI 1.00 >>> USB1: USB OHCI 1.0 >>> USB2: USB EHCI 1.00 >>> USB3: USB OHCI 1.0 >>> scanning bus 0 for devices... 1 USB Device(s) found >>> scanning bus 2 for devices... 1 USB Device(s) found >>> scanning usb for storage devices... 0 Storage Device(s) found >>> Hit any key to stop autoboot: 2 =08=08=08 0 >>> =3D> usb start >>> =3D> boot=08 =08=08 =08=08 =08=08 =08setn=08 =08env loaderdev net >>> =3D> boot >>> switch to partitions #0, OK >>> mmc0 is current device >>> Scanning mmc 0:1... >>> Found U-Boot script /boot.scr >>> 199 bytes read in 1 ms (194.3 KiB/s) >>> ## Executing script at 43100000 >>> 375752 bytes read in 19 ms (18.9 MiB/s) >>> ## Starting application at 0x42000000 ... >>> Consoles: U-Boot console =20 >>> Compatible U-Boot API signature found @0x5bf595c8 >>>=20 >>> FreeBSD/armv7 U-Boot loader, Revision 1.2 >>>=20 >>> DRAM: 512MB >>> Number of U-Boot devices: 1 >>> U-Boot env: loaderdev=3D'net' >>> Found U-Boot device: disk >>> Found U-Boot device: net >>> Booting from net0: >>> net_probe: no network devices found, maybe not enumerated yet..? >>> netboot: couldn't probe uboot_eth0 >>> net_open: netif_open() failed >>> Startup error in /boot/lua/loader.lua: >>> LUA ERROR: cannot open /boot/lua/loader.lua: device not configured. >>>=20 >>> net_probe: no network devices found, maybe not enumerated yet..? >>> netboot: couldn't probe uboot_eth0 >>> net_open: netif_open() failed >>> net_probe: no network devices found, maybe not enumerated yet..? >>> netboot: couldn't probe uboot_eth0 >>> net_open: netif_open() failed >>> net_probe: no network devices found, maybe not enumerated yet..? >>> netboot: couldn't probe uboot_eth0 >>> net_open: netif_open() failed >>> net_probe: no network devices found, maybe not enumerated yet..? >>> netboot: couldn't probe uboot_eth0 >>> net_open: netif_open() failed >>> net_probe: no network devices found, maybe not enumerated yet..? >>> netboot: couldn't probe uboot_eth0 >>> net_open: netif_open() failed >>> net_probe: no network devices found, maybe not enumerated yet..? >>> netboot: couldn't probe uboot_eth0 >>> net_open: netif_open() failed >>> net_probe: no network devices found, maybe not enumerated yet..? >>> netboot: couldn't probe uboot_eth0 >>> net_open: netif_open() failed >>> net_probe: no network devices found, maybe not enumerated yet..? >>> netboot: couldn't probe uboot_eth0 >>> net_open: netif_open() failed >>> net_probe: no network devices found, maybe not enumerated yet..? >>> netboot: couldn't probe uboot_eth0 >>> net_open: netif_open() failed >>> can't load 'kernel' >>>=20 >>> Type '?' for a list of commands, 'help' for more detailed help. >>> loader> >>>=20 >>=20 >> Modern u-boot can only netboot using efi. Doing it with efi requires >> that all your config be set in the dhcpd, there is no way to define = the >> server or rootpath on a per-arm-system basis other than by hardcoding >> the mac address of each arm system in the dhcpd config on the server.=20= >> In the uboot env, 'setenv boot_targets dhcp', and your dhcpd.conf = needs >> an entry something like this: >>=20 >> host rpi2 { >> hardware ethernet b8:27:eb:e9:04:e8; >> option host-name "rpi2"; >> next-server 172.22.42.240; >> filename "/rpi2/boot/loader.efi"; >> option root-path "172.22.42.240:/rpi2/"; >> } >>=20 >> If your dhcpd and tftp servers are the same, you probably don't need >> the next-server option. If you're not using nfsroot, you probably >> don't need the root-path option. >>=20 >> -- Ian >=20 > What work needs to be done to take this to the next step > of supporting the iPXE style multiboot environment so you > do not have to do this per machine dhcpd hackery and can > set root-path via iPXE menu. I have this working in a > x86 platform situation, but would love to expand it into > the arm world. >=20 > Thanks for any insight, currently what I am missing is how to tel the loader to do the dhcp = request, and that=E2=80=99s not working because it can=E2=80=99t find the network = interface. in my case I have the PXE/iPXE stuff working. thanks, danny > --=20 > Rod Grimes = rgrimes@freebsd.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B1FF704A-C13E-4FBF-BA38-ADC444BD114C>