On Sun, Jun 12, 2016 at 07:48:24PM +0200, Matthieu Herrb wrote:
> Hi,
>
> I'm trying to convert my SabreLite board to boot via efiboot, but
> without success so far.
>
> I'm using the nitrogen6q u-boot from ports
>
> the boot loader is loaded and runs but it
> fails to find the sata disk to load the kernel:
>
> => fatload sata 0:1 0x10800000 efi/boot/bootarm.efi
> reading efi/boot/bootarm.efi
> 65556 bytes read in 9 ms (6.9 MiB/s)
> => fatload sata 0:1 0x13000000 imx6q-sabrelite.dtb
> reading imx6q-sabrelite.dtb
> 36834 bytes read in 8 ms (4.4 MiB/s)
> => bootefi 0x10800000 0x13000000
> ## Starting EFI application at 0x10800000 ...
> Scanning disks on sata...
> Scanning disks on usb...
> Scanning disks on mmc...
> MMC: no card present
> MMC Device 2 not found
> MMC Device 3 not found
> Found 2 disks
> >> OpenBSD/armv7 BOOTARM 0.1
> boot>
> cannot open sd0a:/etc/random.seed: Device not configured
> booting sd0a:/bsd: open sd0a:/bsd: Device not configured
> failed(6). will try /bsd
> boot>
>
> Any idea ?
If you take the nitrogen miniroot and try start that off
an sd card does it work?
Something along the lines of
=> run findfdt
=> load mmc 0:1 ${fdt_addr_r} ${fdtfile}
=> load mmc 0:1 ${kernel_addr_r} efi/boot/bootarm.efi
=> bootefi ${kernel_addr_r} ${fdt_addr_r}
Though ${fdt_addr_r}/${kernel_addr_r} may only be set in u-boot
configurations with "distro_bootcmd" (not utilite/sabrelite apparently).
${loadaddr} is comparable to ${kernel_addr_r} and ${fdtaddr} is
comparable to ${fdt_addr_r}. ${fdtfile} is set by running 'findfdt',
though this also may not exist in some cases...
When the U-boot target is built with "distro_bootcmd" it also scans
and loads bootarm.efi and dtbs, then runs the efi payload itself.
I found a fedora patch to convert cm-fx6/utilite not sure if there
is another around for nitrogen6x/sabrelite.
>
> Below is a dmesg of a bsd.umg kernel booted the old way, with
> imx6q-sabrelite.dtb loaded
>
> OpenBSD 6.0-beta (GENERIC) #69: Sun Jun 5 14:21:01 CEST 2016
> [email protected]:/usr/obj/GENERIC
> real mem = 1073741824 (1024MB)
> avail mem = 1044602880 (996MB)
> warning: no entropy supplied by boot loader
> mainbus0 at root: Freescale i.MX6 Quad SABRE Lite Board
> cpu0 at mainbus0: ARM Cortex A9 R2 rev 10 (ARMv7 core)
> cpu0: DC enabled IC enabled WB disabled EABT branch prediction enabled
> cpu0: 32KB(32b/l,4way) I-cache, 32KB(32b/l,4way) wr-back D-cache
> cortex0 at mainbus0
> ampintc0 at cortex0 nirq 160
> amptimer0 at cortex0: tick rate 396000 KHz
> armliicc0 at cortex0: rtl 7 waymask: 0x0000000f
> imx0 at mainbus0
> imxccm0 at imx0: imx6 rev 1.2 CPU freq: 792 MHz
> imxiomuxc0 at imx0
> imxdog0 at imx0
> imxocotp0 at imx0
> imxuart0 at imx0 console
> imxgpio0 at imx0
> imxgpio1 at imx0
> imxgpio2 at imx0
> imxgpio3 at imx0
> imxgpio4 at imx0
> imxgpio5 at imx0
> imxgpio6 at imx0
> imxesdhc0 at imx0
> imxesdhc0: 198 MHz base clock
> sdmmc0 at imxesdhc0: 4-bit, mmc high-speed, dma
> imxesdhc1 at imx0
> imxesdhc1: 198 MHz base clock
> sdmmc1 at imxesdhc1: 4-bit, mmc high-speed, dma
> ehci0 at imx0
> usb0 at ehci0: USB revision 2.0
> uhub0 at usb0 "i.MX6 EHCI root hub" rev 2.00/1.00 addr 1
> fec0 at imx0
> fec0: address 00:19:b8:01:31:1c
> ukphy0 at fec0 phy 6: Generic IEEE 802.3u media interface, rev. 1: OUI
> 0x000885, model 0x0021
> ahci0 at imx0 AHCI 1.3
> ahci0: port 0: 3.0Gb/s
> scsibus0 at ahci0: 32 targets
> sd0 at scsibus0 targ 0 lun 0: <ATA, Samsung SSD 840, EXT0> SCSI3 0/direct
> fixed naa.50025388a00f2042
> sd0: 114473MB, 512 bytes/sector, 234441648 sectors, thin
> simplebus0 at mainbus0: "soc"
> simplebus1 at simplebus0: "aips-bus"
> simplebus2 at simplebus1: "spba-bus"
> simplebus3 at simplebus1: "anatop"
> simplebus4 at simplebus0: "aips-bus"
> imxiic0 at simplebus4
> iic0 at imxiic0
> "fsl,sgtl5000" at iic0 addr 0xa not configured
> imxiic1 at simplebus4
> iic1 at imxiic1
> imxiic2 at simplebus4
> iic2 at imxiic2
> simplebus5 at mainbus0: "regulators"
> uhub1 at uhub0 port 1 "Standard Microsystems Hub" rev 2.00/b.b3 addr 2
> vscsi0 at root
> scsibus1 at vscsi0: 256 targets
> softraid0 at root
> scsibus2 at softraid0: 256 targets
> boot device: lookup '' failed.
> root device: sd0a
> swap device (default sd0b):
> root on sd0a swap on sd0b dump on sd0b
> WARNING: CHECK AND RESET THE DATE!
>
>
> --
> Matthieu Herrb