Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 Apr 2017 13:07:23 +0200
From:      Mattia Rossi <mattia.rossi.mate@gmail.com>
To:        ARM <freebsd-arm@freebsd.org>
Subject:   OrangePi-Plus-2 boot process hangs in ubldr.bin
Message-ID:  <f95b8a1b-1d92-4402-4fc6-e8b2006b593b@gmail.com>

next in thread | raw e-mail | index | archive | help
Hi all,

I've tried to upgrade u-boot on the OrangePi-Plus-2 (not the 2e) from 
mainline u-boot and on the outside it looks fine.

U-boot loads, and it boots ubldr.bin.

I'm using the orangepi-plus-2e.dtb as it has been working well for this 
board before (It all used to work).

Now ubldr can't boot the kernel though, and I don't know why. I've 
rebuilt ubldr, world and kernel from svn. Revision number is 317594

Any help would be appreciated

The output before it stops is:

U-Boot SPL 2017.05-rc2-00061-g12af9399e7 (Apr 25 2017 - 19:27:44)
DRAM: 2048 MiB
Trying to boot from MMC1


U-Boot 2017.05-rc2-00061-g12af9399e7 (Apr 25 2017 - 19:27:44 +0200) 
Allwinner Technology

CPU:   Allwinner H3 (SUN8I 1680)
Model: Xunlong Orange Pi Plus 2E
I2C:   ready
DRAM:  2 GiB
MMC:   SUNXI SD/MMC: 0, SUNXI SD/MMC: 1
In:    serial
Out:   serial
Err:   serial
Net:   phy interface7
eth0: ethernet@1c30000
starting USB...
USB0:   USB EHCI 1.00
USB1:   USB OHCI 1.0
USB2:   USB EHCI 1.00
USB3:   USB OHCI 1.0
USB4:   USB EHCI 1.00
USB5:   USB OHCI 1.0
scanning bus 0 for devices... 1 USB Device(s) found
scanning bus 2 for devices... 1 USB Device(s) found
scanning bus 4 for devices... 1 USB Device(s) found
        scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
Booting from: mmc 0 ubldr.bin
reading ubldr.bin
237168 bytes read in 34 ms (6.7 MiB/s)
## No elf image at address 0x42000000
## Starting application at 0x42000000 ...
Consoles: U-Boot console
Compatible U-Boot API signature found @0xbbf3f690

FreeBSD/armv6 U-Boot loader, Revision 1.2
(Sat Apr 29 19:16:42 CEST 2017 root@freebsd101)

DRAM: 2048MB
MMC Device 2 not found
MMC Device 3 not found
Number of U-Boot devices: 2
U-Boot env: loaderdev='mmc 0'
Found U-Boot device: disk
   Checking unit=0 slice=<auto> partition=<auto>... good.
Booting from disk0s2:
/boot/kernel/kernel data=0x6a82c0+0x1a7d40 syms=[0x4+0xba030+0x4+0xaa532]

Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel]...
/boot/dtb/orangepi-plus-2e.dtb size=0x6326
Loaded DTB from file 'orangepi-plus-2e.dtb'.
Kernel entry at 0x42200100...
Kernel args: (null)


The u-boot environment looks like this:

=> printenv
Fatboot=echo Booting from: ${fatdev} ${bootfile}; fatload ${fatdev} 
${kernel_addr_r} ${bootfile} && bootelf || go ${kernel_addr_r};
SetupFatdev=env exists fatdev || env set fatdev 'mmc 0';
api_address=bbf3f690
baudrate=115200
bootcmd=run Fatboot
bootfile=ubldr.bin
bootm_size=0xa000000
console=ttyS0,115200
eth1addr=12:81:5a:66:27:6f
ethact=ethernet@1c30000
ethaddr=02:81:5a:66:27:6f
fatdev=mmc 0
fdt_addr_r=0x43000000
fdtcontroladdr=bbf39b68
fdtfile=orangepi-plus-2e.dtb
ipaddr=192.168.0.200
kernel_addr_r=0x42000000
loaderdev=mmc 0
preboot=usb start; env exists bootfile || env set bootfile ubldr.bin; 
env exists SetupFatdev && run SetupFatdev; env exists UserPreboot && run 
UserPreboot;
pxefile_addr_r=0x43200000
ramdisk_addr_r=0x43300000
scriptaddr=0x43100000
serial#=02c000815a66276f
stderr=serial,vga
stdin=serial,usbkbd
stdout=serial,vga

Environment size: 898/131068 bytes
=>


The loader variables are the following:

loader> show
LINES=24
autoboot_delay=10
bootfile=kernel
console=uboot
currdev=disk0s2:
interpret=OK
kernel=kernel
kernelname=/boot/kernel/kernel
loaddev=disk0s2:
loader_conf_files=/boot/loader.conf /boot/loader.conf.local
module_path=/boot/kernel;/boot/kernel;/boot/modules;/boot/dtb
prompt=loader>
twiddle_divisor=1
loader>


The filesystem can be found:

loader> ls
/
  d  .snap
     COPYRIGHT
  d  bin
  d  boot
  d  dev
  d  etc
  d  lib
  d  libexec
  d  media
  d  mnt
  d  proc
  d  rescue
  d  root
  d  sbin
  l  sys
  d  tmp
  d  usr
  d  var
loader> ls boot
boot
  d  kernel
  d  defaults
  d  dtb
  d  firmware
  d  modules
  d  zfs
     loader.efi
     boot1.efi
     boot1.efifat
     menu.rc.sample
     ubldr
     ubldr.bin
     beastie.4th
     brand.4th
     brand-fbsd.4th
     check-password.4th
     color.4th
     delay.4th
     frames.4th
     loader.4th
     loader.help
     logo-beastie.4th
     logo-beastiebw.4th
     menu.4th
     logo-fbsdbw.4th
     logo-orb.4th
     logo-orbbw.4th
     menu-commands.4th
     menusets.4th
     screen.4th
     shortcuts.4th
     support.4th
     version.4th
     loader.rc
     efi.4th
loader>

Other info from ubldr:

loader> devinfo
MMC Device 2 not found
MMC Device 3 not found
U-Boot devices:
device info (0):
   cookie        = 0xbbf3f0b8
   type          = 0x00000082
   type          = MMC
   blk size              = 512
   blk count             = 30318592

device info (1):
   cookie        = 0xbbf3f4c0
   type          = 0x00000082
   type          = MMC
   blk size              = 512
   blk count             = 30535680

loader> sysinfo
U-Boot system info:
sys info:
   clkbus        = 0 MHz
   clkcpu        = 0 MHz
   bar           = 0x00000000
---
   start = 0x40000000
   size  = 0x80000000
   type  = DRAM
---
loader>

U-boot variables are found in ubldr:

loader> ubenv show
uboot.preboot=usb start; env exists bootfile || env set bootfile 
ubldr.bin; env exists SetupFatdev && run SetupFatdev; env exists 
UserPreboot && run UserPreboot;
uboot.bootm_size=0xa000000
uboot.loaderdev=mmc 0
uboot.fatdev=mmc 0
uboot.fdtcontroladdr=bbf39b68
uboot.serial#=02c000815a66276f
uboot.pxefile_addr_r=0x43200000
uboot.eth1addr=12:81:5a:66:27:6f
uboot.api_address=bbf3f690
uboot.scriptaddr=0x43100000
uboot.ethaddr=02:81:5a:66:27:6f
uboot.fdt_addr_r=0x43000000
uboot.stdin=serial,usbkbd
uboot.baudrate=115200
uboot.ethact=ethernet@1c30000
uboot.bootcmd=run Fatboot
uboot.kernel_addr_r=0x42000000
uboot.filesize=39e70
uboot.bootfile=ubldr.bin
uboot.fdtfile=orangepi-plus-2e.dtb
uboot.fileaddr=42000000
uboot.stdout=serial,vga
uboot.ramdisk_addr_r=0x43300000
uboot.Fatboot=echo Booting from: ${fatdev} ${bootfile}; fatload 
${fatdev} ${kernel_addr_r} ${bootfile} && bootelf || go ${kernel_addr_r};
uboot.console=ttyS0,115200
uboot.SetupFatdev=env exists fatdev || env set fatdev 'mmc 0';
uboot.ipaddr=192.168.0.200
uboot.stderr=serial,vga
loader>

Kernel and modules seem loaded...

loader> lsmod
  0x42200000: /boot/kernel/kernel (elf kernel, 0x9b456c)
   modules: aw_ccung.1 aw_ccu.1 aw_reset.1 a10hdmiaudio.1 a10hdmi.1 
aw_thermal.1 aw_sid.1 axp81x.1 axp2xx.1 rsb.1 awusbphy.1 a10codec.1 
ufs.1 krpc.1 cryptosoft.1 crypto.1 nfslockd.1 nfssvc.1 nfslock.1 ipsec.1 
ether.1 zlib.1 aio.1 sysvshm.1 sysvsem.1 sysvmsg.1 acl_posix1e.1 
acl_nfs4.1 kernel.1200030 cd9660.1 g_part.0 g_flashmap.0 pseudofs.1 
procfs.1 nfscl.1 nfs.1 nfscommon.1 msdosfs.1 videomode.1 usb_quirk.1 
ums.1 ukbd.1 uhub.1 usb.1 umass.1 midi.1 sound.5 random_device.1 
random_harvestq.1 ofwbus.1 null.1 mmc.3 mii_bitbang.1 miibus.1 mem.1 
ofw_iicbus.1 iicbus.1 iic.1 ofw_gpiobus.1 gpioc.1 gpiobus.1 fbd.1 
ofw_regulator_bus.1 clk_fixed.1 ofw_clkbus.1 ahci.1 cam.1

Thanks,

Mat




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f95b8a1b-1d92-4402-4fc6-e8b2006b593b>