Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Mar 2016 12:03:33 -0700
From:      Russell Haley <russ.haley@gmail.com>
To:        Ian Lepore <ian@freebsd.org>, Ilya Bakulin <ilya@bakulin.de>
Cc:        freebsd-arm <freebsd-arm@freebsd.org>
Subject:   Re: about netbooting on armv6 [was: Fwd: SDIO Patch D4761.diff Not Building For Me]
Message-ID:  <20160323190333.4370514.70354.4134@gmail.com>
In-Reply-To: <1458751414.1091.47.camel@freebsd.org>
References:  <CABx9NuRq4ZKrHEPkf%2BNRLxjdg9e%2B=FHUfi_7Q4HrRT4C_oMNQg@mail.gmail.com> <CABx9NuRXWEY%2BsBQN==q5YSaPU0f-o_pLQCpQOw1e32w=R0nPsg@mail.gmail.com> <CABx9NuSMK-X%2BvzTBH4bVsFLDFwWuF49t5JU7mzqVErDOMXGEzA@mail.gmail.com> <5432b449f37a481bc7099fbab25fbd2e@bakulin.de> <CABx9NuQKTFWUoTr2ufXANDo6C2AwLiYC7wd_5wSUg9J7M1Rofg@mail.gmail.com> <CABx9NuRTao6YhdzKPONwKgzfeAN80UmQ060QTf%2Buv18gkHogtg@mail.gmail.com> <CABx9NuSaWNX3qEwmGdpez-qf8GEjH4%2Bvd3y9tuR1ogZBDzsAng@mail.gmail.com> <a4a95b7a9617eea06212c50ec23bf5cc@bakulin.de> <CABx9NuQLbWjK8DfBLPDcRX9Bb1MY5Bk=TRDW_Fx63uP9orT2Og@mail.gmail.com> <1458751414.1091.47.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Awesome. Thanks, Ian! Now I have to decide if I want to sleep tonight or tr=
y netbooting. Nah, I'll sleep when I'm dead...

Russ

Sent=A0from=A0my=A0BlackBerry=A010=A0smartphone=A0on=A0the=A0Koodo=A0networ=
k.
=A0 Original Message =A0
From: Ian Lepore
Sent: Wednesday, March 23, 2016 9:43 AM
To: Russell Haley; Ilya Bakulin
Cc: freebsd-arm
Subject: Re: about netbooting on armv6 [was: Fwd: SDIO Patch D4761.diff Not=
 Building For Me]

On Wed, 2016-03-23 at 09:09 -0700, Russell Haley wrote:
> On Wed, Mar 23, 2016 at 4:00 AM, Ilya Bakulin <ilya@bakulin.de>
> wrote:
> > On 2016-03-23 06:16, Russell Haley wrote:
> > >=20
> > > Hi Ilya,
> > >=20
> > > Mixed success tonight. I tried to install the kernel but got an
> > > error:
> >=20
> >=20
> > You should give MODULES_OVERRIDE=3D to installkernel as well.
> >=20
> Great, Thank you.
> > >=20
> > > Well, it booted the kernel and then spewed output and eventually
> > > ended
> > > with a failed DHCP request (?). Here is the pastebin of said
> > > output.
> > >=20
> >=20
> > I never copy the newly built kernel to the SD card.
> > Instead I configure U-Boot+ubldr to boot kernel from TFTP and mount
> > root
> > over NFS, it's much faster and it's impossible to crash filesystem
> > if the
> > kernel crashes.
> > I guess you should set ROOTDEVNAME manually in the kernel config
> > file and
> > disable NFSCLIENT-related options.
>=20
> Thanks for this advice. I have had something similar working before
> (I
> had rootfs on USB) so should be able to get that running this weekend
>=20
> > From your boot log it's clear that the system boots and probes SD
> > cards.
>=20
> Yes, very exciting to see!!! I will be looking to try and match debug
> output with code paths asap.
>=20
> > There are two slots and none of them has SDIO card in it.
> > From what I find about Hummingboard, it actually doesn't have WiFi
> > SDIO
> > chips on it.
>=20
> I don't understand. It was booted using an SD card? Also, here is the
> information about the board and the Wi-Fi (the Solid-Run site can be
> hard to navigate):
>=20
> Carrier Board spec:
> http://wiki.solid-run.com/doku.php?id=3Dproducts:imx6:hummingboard:hbpr
> o
>=20
> This is my SOM:
> http://wiki.solid-run.com/doku.php?id=3Dproducts:imx6:microsom:dual&s[]
> =3Dbcm4330
>=20
> Schematic. I believe page 5 shows the SDIO WIFI module interface?
> http://wiki.solid-run.com/lib/exe/fetch.php?media=3Dimx6:microsom:docs:
> sr-usom-mx6-rev-1_3-simplified-schematics.pdf
>=20
> Broadcom BCM4330
> http://linux-sunxi.org/images/0/05/4330-DS206-R.pdf
>=20
> I have used it successfully through Kodi and Debian (Raspbian
> specifically)
>=20
> Thanks,
> Russ

The quick and easy config for netbooting armv6 these days is to set a
few vars in your uboot env. This assumes that you let uboot load
ubldr.bin from sdcard, and then have ubldr load the kernel and the
kernel will mount nfsroot.

If you have a dhcp server to provide an IP, this is all you need in
uboot env:

loaderdev=3Dnet
rootpath=3D<nfs server ip>:/<rootpath>

If you manually configure the ip, add these:

ipaddr=3D<ip addr>
netmask=3D255.etc.etc.etc

When ubldr loads the kernel via nfs, it also sets up all the info
needed to mount root via nfs and passes the info to the kernel in env
vars. It will also set vfs.root.mountfrom to the server:path you set
in the rootpath var in uboot, which gets the initial root fs mount
done. You still need an /etc/fstab that also has the nfs mount info
for the nfsroot, so that the rc scripts can remount root writable.

All you need in the kernel config is options NFSCL, NFSLOCKD, NFS_ROOT
and all of those are already standard in all armv6 kernels. You don't
need to change the ROOTDEVNAME option because the vfs.root.mountfrom
overrides it (ROOTDEVNAME is used as a fallback if the nfs mount
fails).

-- Ian




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160323190333.4370514.70354.4134>