On Mon, Jun 13, 2016 at 01:18:12PM +1000, Jonathan Gray wrote:
> 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}

No. The U-boot default environment for the nitrogen/sabrelite doesn't
have a 'findfdt' command defined in it's default environment.

After digging around in u-boot sources, I found that there is also a
freescale/mx6qsabreauto board definition that may fit better. I
haven't found time to build an try that version instead.

> 
> 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.

Ok I need to dig more into u-boot internals... (see also my answer to
Mark).

> 
> > 
> > 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

-- 
Matthieu Herrb

Attachment: signature.asc
Description: PGP signature

Reply via email to