Software

Bez. Software: Mein Board wurde mit einem vorinstallierten Raspbian (wohl in Deutschland präpariert) auf SD-Karte geliefert. Der Anschluss einer Konsole ist sehr einfach, denn im Gegensatz zum RPi gibt es hier einen Debug-Port, an den man leicht einen Seriell/USB-Konverter anschließen kann. Der komplette Boot-Log ist am Ende des Artikels einsehbar.

Laut BPi GitBook sollen auch Images für Android und Ubuntu verfügbar sein. Beim mir allerdings hagelte es „404 – page not found“. Das wird sich hoffentlich bis zum Erscheinen des Boards noch ändern. Für den Typ M2 Ultra gibt es ein spezielles Linux, Tina-IoT von Allwinner, doch leider wird nicht erläutert, wie man das für M2 Berry anpassen könnte. Vielleicht läuft es direkt ohne Änderung – vielleicht aber auch nicht.

 
banana pi m2 berry + rpi3 back sides
Der SD-Kartenslot des BPi (links)
ist breiter als beim RPi (rechts)

Fazit

BPi-M2 Berry zielt auf Leute, die sonst einen RPi einsetzen. Die Einführung nach dem Rollout des RPi3 sollte eigentlich erwarten lassen, dass BPi Berry mit der gleichen Leistung wie ein RPi3 aufwarten kann, doch leider liegt er nur auf dem Niveau von RPi2 v1.0 mit WLAN, Bluetooth 4.0 und SATA. Da BPi Berry aber preislich mit RPi3 vergleichbar ist, durfte allein sein SATA-Interface für BPi und gegen RPi (3 oder 2) sprechen.

Mein BPi-M2 Berry passte nicht recht in mein RPi-Test-Gehäuse, weil der SD-Kartenslot zu breit ist. Aber es handelt sich auch um ein Board der Vorserie, weshalb diese Inkompatibilität bei der Serie noch ausgebügelt werden könnte. Doch selbst wenn nicht hilft ein Teppichmesser und es passt. Problematischer sind da schon die inkompatiblen Anschlüsse für LCD und Kamera. Hier wurde auf Kompatibilität mit der BPi-Serie geachtet, aber ob die resultierende Inkompatibilität zu RPi das wirklich wert ist?

Boot-Log des Banana Pi M2 Berry

Linux-Experts finden in einem Boot-Log allerhand interessante Informationen. Also prangt es hier in voller Länge. Einloggen geschieht mit dem User „pi“ oder „root“; das Default-Passwort ist „bananapi“.
 
[     0.33]HELLO! BOOT0 is starting!
[     0.37]boot0 commit : 2320b4e28f694a40302a75531ea057ca7fcc0074
 
[     0.44]boot0 version : 4.0
[     0.47]set pll start
[     0.51]set pll end
[     0.87]rtc[0] value = 0x00000000
[     0.90]rtc[1] value = 0x00000000
[     0.93]rtc[2] value = 0x00000000
[     0.97]rtc[3] value = 0x00000000
[     0.100]rtc[4] value = 0x00000000
[     0.103]rtc[5] value = 0x00000000
[     0.107]DRAMC IS FOUR
[     0.109]DRAM BOOT DRIVE INFO: V1.1
[     0.113]the chip id is 0x00000001
[     0.116]the chip id is 0x00000001
[     0.120]the chip id is 0x00000001
[     0.123]the chip id is 0x00000001
[     0.127]the chip id is 0x00000001
[     0.134]PMU: [     0.135]AXP221
[     0.137]ddr voltage = 1250 mv
[     0.144]PMU: [     0.145]AXP221
[     0.147]ddr voltage = 1250 mv
[     0.158]PMU: [     0.159]AXP221
[     0.161]ddr voltage = 1500 mv
[     0.172]DRAM CLK =576 MHZ
[     0.174]DRAM Type =3 (2:DDR2,3:DDR3,6:LPDDR2,7:LPDDR3)
[     0.180]DRAM zq value: 0x003b3bfb
[     0.186]DRAM SIZE =1024 M
[     0.189]DRAM simple test OK.
[     0.192]dram size =1024
[     0.194]rtc standby flag is 0x00000000, super standby flag is 0x00000000
[     0.203]card no is 0
[     0.205]sdcard 0 line count 4
[     0.208][mmc]: mmc driver ver 2016-07-01 15:30
[     0.212][mmc]: sdc0 spd mode error, 2
[     0.225][mmc]: Wrong media type 0x00000000
[     0.229][mmc]: ***Try SD card 0***
[     0.240][mmc]: HSSDR52/SDR25 4 bit
[     0.243][mmc]: 50000000 Hz
[     0.246][mmc]: 15072 MB
[     0.249][mmc]: ***SD/MMC 0 init OK!!!***
[     0.354]Loading boot-pkg Succeed(index=0).
[     0.358]Entry_name        = u-boot
[     0.377]Ready to disable icache.
[     0.380]Jump to secend Boot.


U-Boot 2014.07 (May 25 2017 - 11:43:14) Allwinner Technology 

uboot commit : 8 
i2c_init ok
[      0.448]pmbus:   ready
[      0.468]PMU: AXP221
[      0.468]PMU: AXP22x found
[      0.469]PMU: dcdc2 1160
[      0.470]PMU: cpux 1008 Mhz,AXI=336 Mhz
PLL6=600 Mhz,AHB1=200 Mhz, APB1=100Mhz  MBus=400Mhz
set power on vol to default
dcdc1_vol = 3300, onoff=1
dcdc2_vol = 1160, onoff=1
dcdc3_vol = 1100, onoff=1
dcdc4_vol = 1100, onoff=0
aldo1_vol = 2800, onoff=0
aldo2_vol = 1500, onoff=1
aldo3_vol = 3000, onoff=1
dc1sw_vol = 3000, onoff=0
dc5ldo_vol = 1100, onoff=0
dldo1_vol = 3300, onoff=0
dldo2_vol = 3300, onoff=0
dldo3_vol = 3300, onoff=0
dldo4_vol = 2500, onoff=0
eldo1_vol = 2800, onoff=0
eldo2_vol = 1500, onoff=0
eldo3_vol = 1200, onoff=0
gpio0_vol = 3300, onoff=0
gpio1_vol = 1800, onoff=0
find power_sply to end
vbus exist
BPI: bpi_boot_init_gpio ...
set pin for gpio_pin_1
set pin for gpio_pin_2
set pin for gpio_pin_3
set pin for gpio_pin_4
run key detect
BPI: BPI-M2 Berry 1.0 
bpi_board_version: [2e]
no key found
no uart input
DRAM:  1 GiB
fdt addr: 0x76e84c98
Relocation Offset is: 35edb000
In:    serial
Out:   serial
Err:   serial
gic: normal mode
[      0.698]start
drv_disp_init
init_clocks: finish init_clocks.
pwm_request: reg = 0x1c23400. pwm = 0.
request pwm success, pwm = 0.
tv_init:
tv_init:
drv_disp_init finish
boot_disp.output_disp=0
boot_disp.output_type=3
boot_disp.output_mode=5
boot_disp.auto_hpd=1
disp0 device type(4) enable
attched ok, mgr0<-->device0, type=4, mode=5
[      1.382]end
workmode = 0,storage type = 1
[      1.382]MMC:	 0
[mmc]: mmc driver ver 2016-07-01 15:50:00
[mmc]: boot_card_no error 1
SUNXI SD/MMC: 0
[mmc]: 50 MHz...
[mmc]: sample: 51 - 196(ps)
[mmc]: 100 MHz...
[mmc]: sample: 25 - 200(ps)
[mmc]: 200 MHz...
[mmc]: sample: 13 - 192(ps)
[mmc]: BPI: 0 CARD_TYPE_SD
[mmc]: media type 0x8000001
[mmc]: ************Try SD card 0************
[mmc]: host caps: 0x27
[mmc]: MID 74 PSN 00000e1b
[mmc]: PNM 00000 -- 0x30-30-30-30-30
[mmc]: PRV 0.0
[mmc]: MDT m-6 y-2016
[mmc]: speed mode     : HSSDR52/SDR25 
[mmc]: clock          : 50000000 Hz
[mmc]: bus_width      : 4 bit
[mmc]: user capacity  : 15072 MB
[mmc]: ************SD/MMC 0 init OK!!!************
[mmc]: erase_grp_size      : 0x1WrBlk*0x200=0x200 Byte
[mmc]: secure_feature      : 0x0
[mmc]: secure_removal_type : 0x0
[      1.558]sunxi flash init ok
sunxi secure storage is not supported
[      1.565]usb burn from boot
delay time 0
[      1.656]usb prepare ok
[      2.455]timer occur
[      2.456]overtime
[      2.489]do_burn_from_boot usb : no usb exist
--------fastboot partitions--------
-total partitions:7-
-name-        -start-       -size-      
boot-res    : 1000000       1000000     
env         : 2000000       100000      
boot        : 2100000       800000      
private     : 2900000       100000      
misc        : 2a00000       100000      
rootfs      : 2b00000       a000000     
UDISK       : cb00000       0           
-----------------------------------
base bootcmd=run setargs_nand boot_normal
bootcmd set setargs_mmc
key 0
cant find rcvy value
cant find fstbt value
misc partition found
to be run cmd=run setargs_mmc boot_normal
BPI: disable_node mmc2 in BPI-M2 Berry 1.0
update dtb dram start
update dtb dram  end
sunxi_serial: serial_feature is not exist
serial is: 14005190410c482c034c
BPI-M2 Berry: force to set pmu_bat_unused = 1
BPI: axp_probe_battery_exist(32)
BPI: BatExist(32) pmu_bat_unused(0)
BPI: force to set no battery in BPI-M2 Berry 1.0
PowerBus = 2( 2:vBus 3:acBus other: not exist)
no battery, limit to dc
no battery exist
sunxi_bmp_logo_display
reading bootlogo.bmp
3686538 bytes read in 164 ms (21.4 MiB/s)
bmp file buffer: 0x40000000, bmp_info.buffer: 46400000
screen_id =0, screen_width =1280, screen_height =720
frame buffer address 46400036
Net:   No ethernet found.
[      2.954]inter uboot shell
Hit any key to stop autoboot:  2  1  0 
[mmc]: MMC Device 2 not found
** Bad device mmc 2 **
reading bananapi/bpi-m2u/linux/uEnv.txt
2280 bytes read in 5 ms (445.3 KiB/s)
Loaded environment from uEnv.txt
Running uenvcmd ...
Banana Pi bpi-m2u chip: r40 Service: linux
reading bananapi/bpi-m2u/linux/uImage
6834472 bytes read in 298 ms (21.9 MiB/s)
reading bananapi/berryboot.img
** Unable to read file bananapi/berryboot.img **
## Booting kernel from Legacy Image at 47000000 ...
   Image Name:   Linux-3.10.65-BPI-M2U-Kernel
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    6834408 Bytes = 6.5 MiB
   Load Address: 40008000
   Entry Point:  40008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
   reserving fdt memory region: addr=43000000 size=800
   Using Device Tree in place at 45000000, end 450191df
prepare for kernel
[mmc]: MMC Device 2 not found
[mmc]: mmc 2 not find, so not exit

Starting kernel ...

[    1.070364] platform pwm0: there is no bind_pwm, set bind_pwm 255!
[    1.070364] platform pwm0: there is no dead time, set bind_pwm 255!
[    1.110434] add_sys_pwr_dm: get ldo name  for id: vdd-cpus failed
[    1.110434] add_sys_pwr_dm: get ldo name  for id: vcc-lpddr failed
[    1.110434] add_sys_pwr_dm: get ldo name  for id: vcc-pl failed
[    1.110434] add_sys_pwr_dm: axp22_dcdc1 ldo already alwayson.
[    1.110434] Warning: can not find np for dynamic_standby_para. 
[    1.175230] OF: no ranges; cannot translate
[    1.175256] OF: no ranges; cannot translate
[    1.175524] OF: no ranges; cannot translate
[    1.175541] OF: no ranges; cannot translate
[    1.397180] sunxi-wlan wlan: request pincrtl handle for device [wlan] failed
[    1.405308] /soc@01c00000/wlan: could not find phandle
[    1.411152] sunxi-wlan wlan: get gpio wlan_hostwake failed
[    1.490035] sunxi-ahci sata: SATA power enable do not exist!!
[    1.754779] axp22_dcdc1: unsupportable voltage range: 858992688-3400000uV
[    1.784011] get() with no identifier
[    1.787998] get() with no identifier
[    1.792130] get() with no identifier
[    1.880038] *mmc0 detect cd change*
[    1.883942] *mmc0 lock*
[    1.920862] sunxi-mmc sdc0: smc 0 p0 err, cmd 52, RTO !!
[    1.927721] sunxi-mmc sdc0: smc 0 p0 err, cmd 52, RTO !!
[    1.938386] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[    1.945123] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[    1.951953] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[    1.958676] sunxi-mmc sdc0: smc 0 p0 err, cmd 5, RTO !!
[    1.993272] sunxi-mmc sdc1: smc 1 p1 err, cmd 52, RTO !!
[    2.000133] sunxi-mmc sdc1: smc 1 p1 err, cmd 52, RTO !!
[    2.008242] EXT3-fs (mmcblk0p2): error: couldn't mount because of unsupported optional features (240)
[    2.010557] sunxi-mmc sdc1: smc 1 p1 err, cmd 8, RTO !!
[    2.011386] sunxi-mmc sdc1: smc 1 p1 err, cmd 5, RTO !!
[    2.012208] sunxi-mmc sdc1: smc 1 p1 err, cmd 5, RTO !!
[    2.013029] sunxi-mmc sdc1: smc 1 p1 err, cmd 5, RTO !!
[    2.013851] sunxi-mmc sdc1: smc 1 p1 err, cmd 5, RTO !!
[    2.014673] sunxi-mmc sdc1: smc 1 p1 err, cmd 55, RTO !!
[    2.015496] sunxi-mmc sdc1: smc 1 p1 err, cmd 55, RTO !!
[    2.016318] sunxi-mmc sdc1: smc 1 p1 err, cmd 55, RTO !!
[    2.017141] sunxi-mmc sdc1: smc 1 p1 err, cmd 55, RTO !!
[    2.018011] sunxi-mmc sdc1: smc 1 p1 err, cmd 1, RTO !!
[    2.080690] EXT2-fs (mmcblk0p2): error: couldn't mount because of unsupported optional features (240)
[    2.261012] Failed to execute /init.  Attempting defaults...
[  OK  ] Started Remount Root and Kernel File Systems.
[  OK  ] Reached target Local File Systems (Pre).
         Starting Load/Save Random Seed...
[  OK  ] Started Load/Save Random Seed.
[  OK  ] Started Show Plymouth Boot Screen.
[  OK  ] Created slice system-systemd\x2drfkill.slice.
         Starting Load/Save RF Kill Switch Status of rfkill0...
[  OK  ] Reached target Paths.
[  OK  ] Reached target Sound Card.
[  OK  ] Started Load/Save RF Kill Switch Status of rfkill0.
[  OK  ] Found device /dev/ttyS0.
[  OK  ] Found device /dev/mmcblk0p1.
         Starting File System Check on /dev/mmcblk0p1...
[    5.647178] EXT4-fs error (device mmcblk0p2): ext4_mb_generate_buddy:755: group 25, 23822 clusters in bitmap, 23825 in gd
[    5.769412] systemd-fsck[2178]: fsck.fat 3.0.27 (2014-11-12)
[    5.771305] systemd-fsck[2178]: 0x25: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
[  OK  ] Started File System Check on /dev/mmcblk0p1.
[    5.772691] systemd-fsck[2178]: Automatically removing dirty bit.
[    5.774247] systemd-fsck[2178]: Performing changes.
         Mounting /boot...
[    5.775073] systemd-fsck[2178]: /dev/mmcblk0p1: 218 files, 18335/65467 clusters
[  OK  ] Mounted /boot.
[  OK  ] Reached target Local File Systems.
         Starting Tell Plymouth To Write Out Runtime Data...
         Starting Create Volatile Files and Directories...
[  OK  ] Reached target Remote File Systems.
         Starting Trigger Flushing of Journal to Persistent Storage...
         Starting LSB: Prepare console...
         Starting LSB: Switch to ondemand cpu governor (unless shift key is pressed)...
         Starting LSB: Raise network interfaces....
[  OK  ] Started Tell Plymouth To Write Out Runtime Data.
[  OK  ] Started Trigger Flushing of Journal to Persistent Storage.
[    6.059839] EXT4-fs error (device mmcblk0p2): ext4_mb_generate_buddy:755: group 33, 36 clusters in bitmap, 37 in gd
[  OK  ] Started Create Volatile Files and Directories.
         Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Started Update UTMP about System Boot/Shutdown.
[  OK  ] Started LSB: Prepare console.
         Starting LSB: Set console font and keymap...
[  OK  ] Started LSB: Set console font and keymap.
[  OK  ] Started LSB: Raise network interfaces..
[  OK  ] Started LSB: Switch to ondemand cpu governor (unless shift key is pressed).
[  OK  ] Reached target System Initialization.
[  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Timers.
         Starting Restore Sound Card State...
[  OK  ] Reached target Basic System.
         Starting Avahi mDNS/DNS-SD Stack...
         Starting dhcpcd on all interfaces...
         Starting Regular background program processing daemon...
[  OK  ] Started Regular background program processing daemon.
         Starting System Logging Service...
         Starting Login Service...
         Starting D-Bus System Message Bus...
[  OK  ] Started D-Bus System Message Bus.
[  OK  ] Started Avahi mDNS/DNS-SD Stack.
         Starting LSB: Banana Pi init script...
         Starting LSB: Autogenerate and use a swap file...
         Starting LSB: triggerhappy hotkey daemon...
[  OK  ] Started System Logging Service.
[  OK  ] Started Restore Sound Card State.
[  OK  ] Started dhcpcd on all interfaces.
[  OK  ] Reached target Network.
         Starting OpenBSD Secure Shell server...
[  OK  ] Started OpenBSD Secure Shell server.
         Starting /etc/rc.local Compatibility...
         Starting Permit User Sessions...
[  OK  ] Reached target Network is Online.
         Starting LSB: Start xrdp and sesman daemons...
         Starting LSB: Start NTP daemon...
[  OK  ] Started LSB: Start xrdp and sesman daemons.
[  OK  ] Started Permit User Sessions.
[  OK  ] Started Login Service.
         Starting Light Display Manager...
[  OK  ] Started LSB: triggerhappy hotkey daemon.
[  OK  ] Started LSB: Start NTP daemon.
[  OK  ] Started LSB: Autogenerate and use a swap file.
BPI: bt-raspbian.sh
[  OK  ] Started /etc/rc.local Compatibility.
         Starting Hold until boot process finishes up...
         Starting Terminate Plymouth Boot Screen...

Raspbian GNU/Linux 8 bpi-iot-ros-ai ttyS0

bpi-iot-ros-ai login: root
Passwort: 
Letzte Anmeldung: Freitag, den 24. März 2017, 04:17:26 CET auf ttyS0
Linux bpi-iot-ros-ai 3.10.65-BPI-M2U-Kernel #1 SMP Thu May 25 11:46:04 CST 2017 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.