On Monday, 1 October 2018 02:19:26 CDT Alexander Graf wrote:
> On 01.10.18 05:01, Walter M. Peteren wrote:
> > On Monday, July 30, 2018 11:35:10 AM CDT Matwey V. Kornilov wrote:
> >> 2018-07-30 14:23 GMT+03:00 Alexander Graf <[email protected]>:
> >>> Hi Matwey,
> >>> 
> >>> On 07/29/2018 01:19 PM, Matwey V. Kornilov wrote:
> >>>> Hello,
> >>>> 
> >>>> I am (stilL) trying to boot openSUSE on Rock64. I use JeOS image from
> >>>> Contrib:Rockchip and manually built bootloader (with
> >>>> 0001-XXX-openSUSE-XXX-Prepend-partition-.patch). And currently I see
> >>>> the
> >>>> following new issue:
> >>>> 
> >>>> mmc1 is current device
> >>>> Scanning mmc 1:2...
> >>>> 52462 bytes read in 43 ms (1.2 MiB/s)
> >>>> Failed to mount ext2 filesystem...
> >>>> ** Unrecognized filesystem type **
> >>>> Scanning mmc 1:1...
> >>>> Found EFI removable media binary efi/boot/bootaa64.efi
> >>>> reading efi/boot/bootaa64.efi
> >>>> 1247744 bytes read in 58 ms (20.5 MiB/s)
> >>>> ## Starting EFI application at 02000000 ...
> >>>> Card did not respond to voltage select!
> >>>> mmc_init: -95, time 10
> >>>> Scanning disk [email protected]...
> >>>> Scanning disk [email protected]...
> >>>> Found 2 disks
> >>>> Welcome to GRUB!
> >>>> 
> >>>> ethernet@ff540000 Waiting for PHY auto negotiation to complete.........
> >>>> TIMEOUT !
> >>>> Could not initialize PHY ethernet@ff540000
> >>>> 
> >>>>                              GNU GRUB  version 2.02
> >>>>   
> >>>>   Minimal BASH-like line editing is supported. For the first word, TAB
> >>>>   
> >>>>     lists possible command completions. Anywhere else TAB lists
> >>>>     possible
> >>>>     device or file completions.
> >>>> 
> >>>> grub>
> >>>> 
> >>>> 
> >>>> I see that both dtb file and EFI GRUB executable are loaded. But
> >>>> instead
> >>>> of GRUB menu I see GRUB command line. I suppose it means that grub
> >>>> failed to fetch GRUB configuration. How could I debug further what is
> >>>> wrong?
> >>> 
> >>> Correct. Grub failed to fetch the configuration because it failed to
> >>> initialize the prefix correctly. If you run "set" on the command line,
> >>> you
> >>> should be able to see that the prefix is wrong. You can as interim step
> >>> set
> >>> it manually using the set command and then run "normal". That should get
> >>> you a working grub menu.
> >> 
> >> Indeed, the prefix is (hd0)/efi/boot, instead of (hd0,gpt1)/efi/boot.
> >> 
> >>> The really important question is why grub could not determine its prefix
> >>> correctly though. What U-Boot version are you basing on? There were a
> >>> few
> >>> bugs with the device path exposure in 2018.05 IIRC.
> >> 
> >> I am running downstream u-boot with rock64 support:
> >> https://github.com/ayufan-rock64/linux-u-boot
> >> It is based on 2017.09
> >> 
> >>> Alex
> > 
> > Has anyone gotten their rock64 to boot opensuse?
> > 
> > I have ayufan's u-boot installed to SPI.
> > 
> > The opensuse Tumbleweed JeOS image downloaded from https://
> > download.opensuse.org/repositories/devel:/ARM:/Factory:/Contrib:/Rockchip/
> > images/
> > 
> > I've dd'ed the image to emmc and usb. The boot partition seems to start at
> > the correct position 32768, but when the rock64 boots, I'm dropped to
> > grub shell
> This is most likely because of a bug in the device path logic in u-boot
> versions between 2017.09 and 2017.11.
> 
> > grub>
> > grub>  ls
> > 
> >      yields (hd0) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1)
> > 
> > grub>  set prefix=(hd0,gpt1)/efi/boot
> > grub>  set root=(hdo,gpt3)
> > grub>  set btrfs_relative_path=yes  < yes or blank yields the same
> > grub>  normal
> > 
> >     yields the grub menu, and whether I chose Tumbleweed or failsafe I 
get:
> >        Loading kernel...
> >        Loading initrd...
> >        EFI stub: Booting Linux Kernel...
> >        EFI stub: EFI_RNG_PROTOCOL unavailable, no randomness supplied
> >        EFI stub: ERROR: Could not determine UEFI Secure Boot status.
> >        EFI stub: Using DTB from configuration table
> >        EFI stub: Exiting boot services and installing virtual address map
> > 
> > and that's as far as it gets.
> 
> That means Linux booted. It's a matter of fiddling with DT and kernel
> command line options to also make it show something.

Thanks for the reply.

I've tried setting earlycon=uart8250,0xff130000 (I got the memory address from 
the dtb file - not sure that it is correct) but it stops booting in the same 
spot. Also, earlycon is set to yes in the opensuse config-4.18.8-1-default 
file so this may not even be needed.

> 
> Does your device tree contain a /chosen node with an stdout-path
> property? In that case, passing "earlycon" on the kernel command line
> might already be enough.

Using dtc to decompile the rk3228-rock64.dtb file I found:
stdout-path = "serial2:1500000n8"
and
serial2 = "/serial@ff130000"

Mark

> 
> 
> Alex
> 
> > My internet searches don't provide me with a howto on grub with btrfs and
> > the man page for grub2-editenv is very sparse.
> > 
> > Thanks for any help.
> > 
> > Mark




-- 
To unsubscribe, e-mail: [email protected]
To contact the owner, e-mail: [email protected]

Reply via email to