Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 May 2019 22:50:26 +0000
From:      James Shuriff <james@opentech.cc>
To:        bob prohaska <fbsd@www.zefox.net>, Ian Lepore <ian@freebsd.org>
Cc:        "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>
Subject:   RE: Compiling u-boot-rpi3 on an rpi3
Message-ID:  <BN7PR06MB518778841ADD8E3309347549AA300@BN7PR06MB5187.namprd06.prod.outlook.com>
In-Reply-To: <20190506214823.GB45045@www.zefox.net>
References:  <CAJwjRmS4jFxjocLWxTFmP7z1_ovT-E-ktiettV3dmn5XdB9XcQ@mail.gmail.com> <20190506151908.GA43714@www.zefox.net> <CAJwjRmRmaYbvQCh7Cy8TBKsExZ2zAHj=YAGWixzfSO0M4Ez=TA@mail.gmail.com> <20190506180501.GB44000@www.zefox.net> <BN7PR06MB5187B86ABD88FD179C931316AA300@BN7PR06MB5187.namprd06.prod.outlook.com> <20190506192919.GA44506@www.zefox.net> <BN7PR06MB5187306D1FBAA7F493F553FDAA300@BN7PR06MB5187.namprd06.prod.outlook.com> <BN7PR06MB5187183BB26A8859DEA02B6DAA300@BN7PR06MB5187.namprd06.prod.outlook.com> <20190506210832.GA45045@www.zefox.net> <81a9c8cd930ae5740a3245c0f956fc280cc5f473.camel@freebsd.org> <20190506214823.GB45045@www.zefox.net>

next in thread | previous in thread | raw e-mail | index | archive | help
The u-boot-rpi3 port configures U-Boot with the rpi_3_defconfig in the U-Bo=
ot sources. U-Boot contains definitions with tons of boards. All the u-boot=
-* ports do is tell U-Boot which defconfig to apply and possibly apply any =
patches that are needed for that specific board. Take a look at this:

https://github.com/u-boot/u-boot/blob/master/configs/rpi_3_defconfig

 That's what tells U-Boot how to build for Raspberry Pi 3. It doesn't need =
to know anything further than that to build U-Boot. The process for install=
ing U-Boot isn't specific for FreeBSD it would be similar for any OS that s=
upports U-Boot. The config.txt file tells the firmware where to find the ne=
xt stage of the boot process but theoretically you could name the file what=
ever you want. I wrote a script that sets up the boot files, if you're inte=
rested. Formatting the SD card isn't too much of a trial, either. There's n=
o MBR boot code needed.

- James Shuriff

-----Original Message-----
From: bob prohaska <fbsd@www.zefox.net>
Sent: Monday, May 6, 2019 5:48 PM
To: Ian Lepore <ian@freebsd.org>
Cc: James Shuriff <james@opentech.cc>; freebsd-arm@freebsd.org; bob prohask=
a <fbsd@www.zefox.net>
Subject: Re: Compiling u-boot-rpi3 on an rpi3

On Mon, May 06, 2019 at 03:18:10PM -0600, Ian Lepore wrote:
> On Mon, 2019-05-06 at 14:08 -0700, bob prohaska wrote:
> > Ok, now I'm thoroughly confused 8-) It sounds as if the guiding
> > assumption behind the u-boot-rpi3 port is that it _isn't_ being
> > self-hosted, but rather part of a cross-compile to be copied onto an
> > installer medium. This is at variance with "normal" ports, but
> > consistent with an embedded target that never self-hosts.
> >
> > Looking at my own rpi3's /boot directory, most of the files are
> > dated May 4th, the last time world and kernel were rebuilt and installe=
d.
> > Are those files genuinely up-to-date, or merely fresh copies of old
> > versions from /usr/share.....?
> >
> > On a Pi3 that _is_ selfhosting, will updating rpi-firmware and u-
> > boot-rpi3
> > and then updating world and kernel complete the firmware and u-boot
> > update?
> >
> > Apologies for the confusion, and thanks for any clarification!
> >
> > bob prohaska
> >
>
> Updating boot stuff is always a semi-manual procedure.  For example,
> on
> x86 systems after doing make installworld you have a new boot0 and a
> new gptboot or zfsboot, but they've only been installed to /boot.
> It's up to you to run the gpart commands that install those things to
> the outside-the-ufs-filesystem parts of the disk drive.
>
> The same concept applies to arm and other embedded systems, which have
> an even more diverse set of "outside the ufs filesystem" things to
> deal

Apparently I'm not understanding the significance of "outside of ufs" in th=
is situation. On the Pi3 a simple cp works. I'd think that an install scrip=
t could run gpart, certainly more reliably than I can!

> with.  In the embedded case it's not necessarily even safe or possible
> to install the various boot bits to /boot, because there may be items
> that have the same name (u-boot.bin for example) but actually differ
> depending on SoC or system type.

Doesn't the system have to know that anyway to compile in the first place?

> So installing boot bits to
> /usr/local/share/u-boot then making the user handle the last bit of
> the install is about the only option.
>

If it's not practical to make an installer sufficiently platform-aware to h=
andle "the last bit" then a man page would really help. U-boot updates aren=
't needed often and a botched attempt is hard to recover from.

Thanks for reading!

bob prohaska


> > > -----Original Message-----
> > > From: James Shuriff
> > > Sent: Monday, May 6, 2019 3:42 PM
> > > To: bob prohaska <fbsd@www.zefox.net>
> > > Cc: freebsd-arm@freebsd.org
> > > Subject: RE: Compiling u-boot-rpi3 on an rpi3
> > >
> > > /boot/msdos is an arbitrary location. It's not even required to
> > > mount it. I mount my FAT partition elsewhere. Some boards don't
> > > even have u-boot in the filesystem they dd it directly onto the
> > > disk. Also consider you don't have to build the port on the
> > > Raspberry Pi, so there would be no way to install u-boot from the
> > > host system without knowing where the SD card is mounted.
> > >
> > > The rpi-firmware port also puts stuff in /usr/local/share. That's
> > > the port that has most of the files needed for the Raspberry Pi's
> > > FAT partition. Here is a list of the files in the FAT partition
> > > and where you can get them from:
> > >
> > > /LICENSE.broadcom: rpi-firmware port
> > > /armstub8.bin: rpi-firmware port
> > > /bcm2710-rpi-3-b.dtb: rpi-firmware port
> > > /bootcode.bin: rpi-firmware port
> > > /config.txt: rpi-firmware (config_rpi3.txt)
> > > /dtb/*: FreeBSD Build Output
> > > (/usr/obj/usr/src/arm64.aarch64/sys/$KERNCONF/modules/usr/src/sys/
> > > m odules/dtb or /boot/dtb on the Raspberry Pi)
> > > /fixup*.dat: rpi-firmware port
> > > /overlays/*: rpi-firmware port
> > > /start*.elf: rpi-firmware port
> > > /u-boot.bin: u-boot-rpi3 port
> > >
> > > - James Shuriff
> > >
> > > -----Original Message-----
> > > From: bob prohaska <fbsd@www.zefox.net>
> > > Sent: Monday, May 6, 2019 3:29 PM
> > > To: James Shuriff <james@opentech.cc>
> > > Cc: bob prohaska <fbsd@www.zefox.net>
> > > Subject: Re: Compiling u-boot-rpi3 on an rpi3
> > >
> > > On Mon, May 06, 2019 at 06:18:35PM +0000, James Shuriff wrote:
> > > > Copy /usr/local/share/u-boot/u-boot-rpi3/u-boot.bin to
> > > > /boot/msdos.
> > > >
> > >
> > > Ok, that did the trick.  Is there some particular reason make
> > > install didn't perform the copy?
> > >
> > > Thank you very much!
> > >
> > > bob prohaska
> > >
> > >
> > > > - James Shuriff
> > > >
> > > > -----Original Message-----
> > > > From: owner-freebsd-arm@freebsd.org <
> > > > owner-freebsd-arm@freebsd.org> On Behalf Of bob prohaska
> > > > Sent: Monday, May 6, 2019 2:05 PM
> > > > To: Mika??l Urankar <mikael.urankar@gmail.com>
> > > > Cc: freebsd-arm@freebsd.org; freebsd-ports@freebsd.org
> > > > Subject: Re: Compiling u-boot-rpi3 on an rpi3
> > > >
> > > > On Mon, May 06, 2019 at 06:20:45PM +0200, Mika??l Urankar wrote:
> > > > > Le lun. 6 mai 2019 ?? 17:19, bob prohaska <fbsd@www.zefox.net>
> > > > > a ??crit :
> > > > > >
> > > > > > On Mon, May 06, 2019 at 03:22:31PM +0200, Mika??l Urankar
> > > > > > wrote:
> > > > > > >
> > > > > > > It builds fine here on aarch64, do you have
> > > > > > > security/openssl* installed?
> > > > > > >
> > > > > >
> > > > > > Yes, security/openssl is installed. I didn't use it by
> > > > > > default because of earlier reports of trouble. The system
> > > > > > reminds me that
> > > > >
> > > > > Delete it and rebuild u-boot-rpi3
> > > > >
> > > >
> > > > That certainly helped, make now runs successfully.
> > > >
> > > > But, make install didn't update anything in /boot/msdos.
> > > > There seem to be three copies of u-boot-bin floating around,
> > > > with identical size. Should I copy one manually to /boot/msdos,
> > > > and does it matter which one?
> > > >
> > > > Thanks for reading and your help!
> > > >
> > > > bob prohaska
> > > >
> > > > _______________________________________________
> > > > freebsd-arm@freebsd.org mailing list
> > > > https://lists.freebsd.org/mailman/listinfo/freebsd-arm
> > > > To unsubscribe, send any mail to "
> > > > freebsd-arm-unsubscribe@freebsd.org"
> > > > ________________________________
> > > >  DISCLAIMER: This message and any attachments are intended
> > > > solely for the use of the recipient and may contain confidential
> > > > information. If you have received this message in error please
> > > > delete it and promptly notify the sender, James Shuriff (
> > > > james@opentech.cc<mailto:james@opentech.cc>).
> > > >
> > >
> > > ________________________________
> > >  DISCLAIMER: This message and any attachments are intended solely
> > > for the use of the recipient and may contain confidential
> > > information. If you have received this message in error please
> > > delete it and promptly notify the sender, James Shuriff (
> > > james@opentech.cc<mailto:james@opentech.cc>).
> > >
> >
> > _______________________________________________
> > freebsd-arm@freebsd.org mailing list
> > https://lists.freebsd.org/mailman/listinfo/freebsd-arm
> > To unsubscribe, send any mail to
> > "freebsd-arm-unsubscribe@freebsd.org
> > "
>
________________________________
 DISCLAIMER: This message and any attachments are intended solely for the u=
se of the recipient and may contain confidential information. If you have r=
eceived this message in error please delete it and promptly notify the send=
er, James Shuriff (james@opentech.cc<mailto:james@opentech.cc>).



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