Date: Sat, 12 Oct 2019 11:07:21 -0700 From: Thomas Skibo <thomasskibo@yahoo.com> To: freebsd-arm@freebsd.org Subject: Re: PINE64+ 2GB - with U-Boot SPL 2019.10 - bootaa64.efi do not find UFS partition Message-ID: <CCBE147C-4880-4148-9106-BD0FBCA9062C@yahoo.com>
next in thread | raw e-mail | index | archive | help
> > U-Boot SPL 2019.10 (Oct 10 2019 - 18:05:29 +0200)=20 > > DRAM: 2048 MiB=20 > > Trying to boot from MMC1=20 > > NOTICE: BL31: v2.0(release):=20 > >=20 > > >>=20 > > FreeBSD EFI boot block=20 > >=20 > > Loader path: /boot/loader.efi=20 > >=20 > > Initializing modules: ZFS UFS=20 > > Load Path: /efi\boot\bootaa64.efi=20 > > Load Device:=20 > > = /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(0)/SD(0)/HD(1,0x01,0,0x403= b,0x20000)=20 > > Probing 3 block devices...... done=20 > > ZFS found no pools=20 > > UFS found no partitions=20 > > Failed to load '/boot/loader.efi'=20 > > panic: No bootable partitions found!=20 > > ## Application terminated, r =3D 1=20 >=20 > I=E2=80=99ve been looking into this. As of u-boot v2019.10, there are = some extra checks in efi_disk_read_blocks() and now it will fail with = EFI_INVALID_PARAMETER if the buffer isn=E2=80=99t aligned. In my case, = efi_disk_read_blocks() was called with a buffer address of 0x1da06040 = but with this->media->io_align =3D 512. (See lib/efi_loader/efi_disk.c = line 125.). Evidently,loader.efi is making disk calls with unaligned = buffers but it wasn=E2=80=99t an issue until these checks were added. = That=E2=80=99s as far as I got debugging this. Found this bug: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D240572= "libefi: FreeBSD cannot boot with U-Boot patch efi_loader: parameter = checks BLOCK_IO_PROTOCOL" Looks like a fix has been committed. I=E2=80=99ll try the updated = loader. =E2=80=94 Thomas Skibo thomasskibo@yahoo.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CCBE147C-4880-4148-9106-BD0FBCA9062C>