Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Aug 2014 03:29:42 +0200
From:      TooMeeK Admin <maps@toomeek.waw.pl>
To:        freebsd-arm@freebsd.org
Subject:   Re: U-boot for Banana Pi
Message-ID:  <53ED6286.9000307@toomeek.waw.pl>
In-Reply-To: <53EC95EE.20708@toomeek.waw.pl>
References:  <53EB40BC.8070506@toomeek.waw.pl>	<53EB41EC.1080507@toomeek.waw.pl>	<D6453375-5427-406C-8399-ACBAE8E1DBBC@kientzle.com>	<53EB8994.9080801@toomeek.waw.pl>	<1407947691.56408.507.camel@revolution.hippie.lan>	<53EBDA95.8000604@toomeek.waw.pl>	<CAGtf9xNPTW=VgMf69U28zArDfjzMxnMFkg3st-zufdMrB0UHoQ@mail.gmail.com>	<53EC8D1A.2000005@toomeek.waw.pl> <CAGtf9xPJQwpZhRUNWgAVd=miGhHLTY8A0mjBbyP9Xi=rCQXUzQ@mail.gmail.com> <53EC95EE.20708@toomeek.waw.pl>

next in thread | previous in thread | raw e-mail | index | archive | help
Hello again,

I took a look into:
1. freebsd manpage for gpart
2. freebsd manpage for mount_msdos
3. source code /usr/src/u-boot-sunxi/fs/fat/fat.c where "Error reading 
cluster" exists:

                 if (get_cluster(mydata, curclust, buffer, (int)actsize) 
!= 0) {
                         printf("Error reading cluster\n");
                         return -1;
                 }

Then I've tried different combinations, like:
gpart add -b 1m -s 64m -t fat16 md0
newfs_msdos -F 16 /dev/md0s1

gpart add -b 1m -s 64m -t '\!12' md0
newfs_msdos -F 16 /dev/md0s1

gpart add -b 1m -s 64m -t '\!14' md0
newfs_msdos -F 16 /dev/md0s1

And still getting "Error reading cluster" on kernel file.
I've compared file on SD card and compiled one and they are match (as 
diff is not giving any output).
I've also checked fragmentation and kernel file is one piece..

If I replace kernel with kernel.bin, then:

U-Boot SPL 2014.04-10700-g4e19806 (Aug 13 2014 - 14:44:36)
Board: Bananapi
DRAM: 1024 MiB
CPU: 960000000Hz, AXI/AHB/APB: 3/2/2
spl: not an uImage at 1600



U-Boot 2014.04-10700-g4e19806 (Aug 13 2014 - 14:44:36) Allwinner Technology

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

In:    serial
Out:   serial
Err:   serial
Net:   dwmac.1c50000
Hit any key to stop autoboot:  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 21 ms (4.9 KiB/s)
Jumping to boot.scr
## Executing script at 44000000
reading kernel
Error reading cluster
** Unable to read file kernel **
## Starting application at 0x40200100 ...
data abort
pc : [<40200108>]       lr : [<7ff8667c>]
sp : 7fb65b38  ip : 00000000     fp : 00000000
r10: 00000002  r9 : 7fb65f0c     r8 : 7fb79bd0
r7 : 7ffbc628  r6 : 00000001     r5 : 7fb79bd4  r4 : 40200100
r3 : 00000000  r2 : 7fb79bd4     r1 : 7fb79bd4  r0 : 00000001
Flags: nZCv  IRQs off  FIQs off  Mode SVC_32
Resetting CPU ...

resetting ...

It looks like file is loaded, because output is different and says it's 
data.

In file /usr/src/sys/arm/conf/BANANAPI I have additional:
ident           BANANAPI
options         ROOTDEVNAME=\"ufs:/dev/da0s2\"
options         INCLUDE_CONFIG_FILE
options         EXT2FS                  #EXT2 filesystem

but no MMC ? (same as Cubieboard2 config)
# MMC/SD/SDIO card slot support
#device         mmc                     # mmc/sd bus
#device         mmcsd                   # mmc/sd flash cards
Uncommented changes nothing.

file bananapi.dts match cubieboard2.dts except:
<       model = "Lemaker BananaPi";
<       compatible = "allwinner,a20-bananapi", "allwinner,sun7i-a20";
---
 >       model = "Cubietech Cubieboard2";
 >       compatible = "cubietech,a20-cubieboard", "allwinner,sun7i-a20";

Changing boot.cmd from:
fatload mmc 0 0x40200000 kernel; go 0x40200100
to:
fatload mmc 0 0x40200000 kernel
go 0x40200100

Gives nothing..

Cheers,
TooMeeK



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53ED6286.9000307>