Date: Sun, 12 Nov 2017 09:50:20 -0500 (EST) From: Keith White <kwhite@eecs.uottawa.ca> To: Keith White <kwhite@eecs.uottawa.ca> Cc: freebsd-arm@freebsd.org, imp@freebsd.org Subject: Re: RPI3 fails to boot: boot1.efi as bootaa64.efi on RPI3 [patch] Message-ID: <alpine.BSF.2.21.1711120948430.60035@e6220> In-Reply-To: <alpine.BSF.2.21.1711120758120.59718@e6220> References: <alpine.BSF.2.21.1711120758120.59718@e6220>
next in thread | previous in thread | raw e-mail | index | archive | help
Umm, forget it. I see it's fixed now (r325681). ...keith On Sun, 12 Nov 2017, Keith White wrote: > I've tried FreeBSD-12.0-CURRENT-arm64-aarch64-RPI3-20171030-r325156.img > and it fails to boot with an error similar to one reported by Mark Millard > in https://lists.freebsd.org/pipermail/freebsd-arm/2017-September/016643.html > (Synchronous abort after displaying Load Path). > > After I sprinkled some printf()s in boot1.c, it appears that > efi_devpath_name() may return NULL on this platform. > > The following "works for me". Salt to taste. > > ...keith > > Index: /usr/src/sys/boot/efi/boot1/boot1.c > =================================================================== > --- /usr/src/sys/boot/efi/boot1/boot1.c (revision 325521) > +++ /usr/src/sys/boot/efi/boot1/boot1.c (working copy) > @@ -460,9 +460,11 @@ > imgpath = NULL; > if (status == EFI_SUCCESS) { > text = efi_devpath_name(img->FilePath); > - printf(" Load Path: %S\n", text); > - efi_setenv_freebsd_wcs("Boot1Path", text); > - efi_free_devpath_name(text); > + if (text != NULL) { /* XXX aarch64 RPI3 */ > + printf(" Load Path: %S\n", text); > + efi_setenv_freebsd_wcs("Boot1Path", text); > + efi_free_devpath_name(text); > + } > > status = BS->HandleProtocol(img->DeviceHandle, > &DevicePathGUID, > (void **)&imgpath); > @@ -471,9 +473,11 @@ > EFI_ERROR_CODE(status)); > } else { > text = efi_devpath_name(imgpath); > - printf(" Load Device: %S\n", text); > - efi_setenv_freebsd_wcs("Boot1Dev", text); > - efi_free_devpath_name(text); > + if (text != NULL) { /* XXX aarch64 RPI3 */ > + printf(" Load Device: %S\n", text); > + efi_setenv_freebsd_wcs("Boot1Dev", text); > + efi_free_devpath_name(text); > + } > } > > } > > _______________________________________________ > 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" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.21.1711120948430.60035>