U-boot for Banana Pi

TooMeeK Admin maps at toomeek.waw.pl
Fri Aug 15 13:47:56 UTC 2014


Boot partition is created by following:

gpart add -b 1m -s 64m -t fat16 md0
gpart set -a active -i 1 md0
newfs_msdos -F 16 /dev/md0s1

-b is needed because:
dd if=/usr/src/u-boot-sunxi/u-boot-sunxi-with-spl.bin conv=notrunc 
of=banana.img bs=1024 seek=8

and will corrupt partition table, resulting not even boot.scr loaded.

How do You install u-boot-sunxi on Your board?
Or maybe I should use sunxi-spl.bin and u-boot.bin instead of 
u-boot-sunxi-with-spl.bin?
But u-boot-sunxi compiles only:
/usr/src/u-boot-sunxi/u-boot-sunxi-with-spl.bin
/usr/src/u-boot-sunxi/u-boot.bin

W dniu 2014-08-15 13:17, Mattia Rossi pisze:
>
>>
> I'm on a different board, but I use -t fat32 (no -b either) and 
> newfs_msdos without any options.
No change on FAT32, "error reading cluster".
> kernel.bin needs to be loaded witout the 100 offset I think. see below.
>>
and
> I believe it should be
> fatload mmc 0 0x40200000 kernel.bin
> go 0x40200000
>
Didn't work either..

But then again I take a look:
https://wiki.freebsd.org/FreeBSD/arm/Cubieboard
and:
dd if=/usr/src/u-boot-sunxi/u-boot-sunxi-with-spl.bin conv=notrunc 
of=banana.img bs=1024 seek=8
dd if=sunxi-spl.bin conv=notrunc of=banana.img bs=1024 seek=8
dd if=u-boot.bin conv=notrunc of=banana.img bs=1024 seek=32

And the kernel was finally loaded...

U-Boot 2013.07-07794-gc0f3b94 (Aug 15 2013 - 18:01:45) Allwinner Technology

CPU:   Allwinner A20 (SUN7I)
Board: Cubieboard2
I2C:   ready
DRAM:  1 GiB
MMC:   SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   emac
Hit any key to stop autoboot:  3  2  1  0
reading uEnv.txt
** Unable to read file uEnv.txt **
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
reading boot.scr
119 bytes read in 3 ms (38.1 KiB/s)
Jumping to boot.scr
## Executing script at 44000000
reading kernel
4835460 bytes read in 423 ms (10.9 MiB/s)
## Starting application at 0x40200100 ...
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2014 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
     The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 10.0-RELEASE #5: Fri Aug 15 15:55:57 CEST 2014
     root at freebsd:/usr/obj/arm.armv6/usr/src/sys/BANANAPI arm
FreeBSD clang version 3.3 (tags/RELEASE_33/final 183502) 20130610
WARNING: WITNESS option enabled, expect reduced performance.
CPU: Cortex A7 rev 4 (Cortex-A core)
  Supported features: ARM_ISA THUMB2 JAZELLE THUMBEE ARMv4 Security_Ext
  WB disabled EABT branch prediction enabled
LoUU:2 LoC:2 LoUIS:2
Cache level 1:
  32KB/64B 4-way data cache WB Read-Alloc Write-Alloc
  32KB/32B 2-way instruction cache Read-Alloc
Cache level 2:
  256KB/64B 8-way unified cache WB Read-Alloc Write-Alloc
real memory  = 536870912 (512 MB)
avail memory = 517558272 (493 MB)
random device not loaded; using insecure entropy
random: <Software, Yarrow> initialized
simplebus0: <Flattened device tree simple bus> on fdtbus0
gic0: <ARM Generic Interrupt Controller> mem 
0x1c81000-0x1c81fff,0x1c82000-0x1c820ff on simplebus0
gic0: pn 0x10, arch 0x2, rev 0x1, implementer 0x43b nirqs 160
a20_cpu_cfg0: <A20 CPU Configuration Module> mem 0x1c25c00-0x1c25fff on 
simplebus0
a10_ccm0: <Allwinner Clock Control Module> mem 0x1c20000-0x1c203ff on 
simplebus0
a10_timer0: <Allwinner A10/A20 timer> mem 0x1c20c00-0x1c20c8f irq 54 on 
simplebus0
Event timer "a10_timer Eventtimer" frequency 24000000 Hz quality 1000
Timecounter "a10_timer timer0" frequency 24000000 Hz quality 1000
a10wd0: <Allwinner A10 Watchdog> mem 0x1c20c90-0x1c20c9f on simplebus0
gpio0: <Allwinner GPIO controller> mem 0x1c20800-0x1c20bff irq 60 on 
simplebus0
gpioc0: <GPIO controller> on gpio0
gpiobus0: <GPIO bus> on gpio0
ehci0: <Allwinner Integrated USB 2.0 controller> mem 0x1c14000-0x1c14fff 
irq 71 on simplebus0
usbus0: EHCI version 1.0
usbus0 on ehci0
ehci1: <Allwinner Integrated USB 2.0 controller> mem 0x1c1c000-0x1c1cfff 
irq 72 on simplebus0
usbus1: EHCI version 1.0
usbus1 on ehci1
uart0: <16750 or compatible> mem 0x1c28000-0x1c283ff irq 33 on simplebus0
uart0: console (115200,n,8,1)
Timecounters tick every 10.000 msec
usbus0: 480Mbps High Speed USB v2.0
usbus1: 480Mbps High Speed USB v2.0
ugen0.1: <Allwinner> at usbus0
uhub0: <Allwinner EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
ugen1.1: <Allwinner> at usbus1
uhub1: <Allwinner EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
random: unblocking device.
WARNING: WITNESS option enabled, expect reduced performance.
uhub0: 1 port with 1 removable, self powered
uhub1: 1 port with 1 removable, self powered
Root mount waiting for: usbus1 usbus0
ugen0.2: <Ralink> at usbus0
Trying to mount root from ufs:/dev/da0s2 []...
mountroot: waiting for device /dev/da0s2 ...
Mounting from ufs:/dev/da0s2 failed with error 19.

Loader variables:

Manual root filesystem specification:
   <fstype>:<device> [options]
       Mount <device> using filesystem <fstype>
       and with the specified (optional) option list.

     eg. ufs:/dev/da0s1a
         zfs:tank
         cd9660:/dev/acd0 ro
           (which is equivalent to: mount -t cd9660 -o ro /dev/acd0 /)

   ?               List valid disk boot devices
   .               Yield 1 second (for background tasks)
   <empty line>    Abort manual input

File sizes:
24064 sunxi-spl.bin
241544 u-boot.bin
265608 in summary

274844 u-boot-sunxi-with-spl.bin  that comes from Bananapi compiled 
u-boot, but anyway it was overwritten??

So thank You for help, all I missed something there.. still not mounting 
second slice, but I will try to find out why..
ps. 512MB of RAM? I didn't tell You it should be 1024MB in 
/usr/src/sys/boot/fdt/dts/bananapi.dts ?? :)

Cheers,
TooMeeK


More information about the freebsd-arm mailing list