tkaiser Posted February 28, 2016 Posted February 28, 2016 Hi, since a Geekbox (Rockchip RK3368) and two Pine64+ (Allwinner A64) are collecting dust and at least for the latter longsleep already prepared a nice image build process that makes including a 'foreign' rootfs quite easy I thought about supporting arm64 also and not just only armhf. But I still lack oversights over our own build process or don't know in which direction other devs will move (I saw zador rearranging stuff the last days) so I thought I better ask first instead of hacking around I thought about adding a global variable defaulting to "armhf" and setting it to "arm64" for the new boards in configuration.sh since we later have to call make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- debootstrap --arch=arm64 My goal for now is just being able to spit out an Armbian arm64 rootfs (RELEASE="jessie"/"xenial") I can use with longsleep's image build process to get an idea how far we get with arm64 now (both 3.10.65 and mainline). But I also thought about doing it right from the beginning and stop doing q&d hacks... Any thoughts? 1
zador.blood.stained Posted February 28, 2016 Posted February 28, 2016 I think "Right from beginning" way is adding compiler and debootstrap/make arch variables to new board template and adding arm64 tools installation to prepare_host, then it will be easy enough to make necessary adjustments to compilation process. About Xenial release - I will try to add it as soon as it's declared "stable" (end of April, right?).
tkaiser Posted February 28, 2016 Author Posted February 28, 2016 Good idea but it seems a bit redundant to me. Why not just using armhf vs. arm64 and setting the different compiler/debootstrap/make arguments later in the build process? I just fear templates might get too complicated and prevent experienced users from adding new boards. On the other hand I also thought about adding the IRQ distribution stuff to the new templates so we can define two variables (one for legacy, the other for vanilla) that contain a list of $processor-1 device names to make the current sun8i hack useable for all boards we support. And then we should take all available templates and create a file armbian-boards.conf that will be copied to /etc into the image containg all the stuff from the templates in a (colon separated?) list like this $NAME:$STATUS_WIP:$DESCRIPTION: ... If we then take care that $NAME in the template matches $ID in armhwinfo (after a small transformation) then we've already everything set up to warn (through motd) that the OS image is preliminary ($STATUS_WIP) distribute IRQs in a sane and consistent way (and let the user adjust this to his own needs by editing /etc/armbian-boards.conf) do some sort of mismatch detection between board and config used
tkaiser Posted February 28, 2016 Author Posted February 28, 2016 About Xenial release - I will try to add it as soon as it's declared "stable" (end of April, right?). I just tried to switch to Xenial the brute-force way: grep -i -r trusty * 2>/dev/null | awk -F":" '{print $1}' | sort | uniq | while read ; do sed -i -e 's/trusty/xenial/' -e 's/Trusty/Xenial/' -e 's/Tahr\ 14/Xerus 16/' "${REPLY}"; done Can't work of course now: Failed to fetch http://apt.armbian.com/dists/xenial/main/binary-armhf/Packages". Ok, adding arm64 is a bit more work than I thought
tkaiser Posted February 29, 2016 Author Posted February 29, 2016 Success! macbookpro-tk:~ tk$ slogin 192.168.83.88 tk@192.168.83.88's password: ____ _ __ _ _ | _ \(_)_ __ ___ / /_ | || | _ | |_) | | '_ \ / _ \ '_ \| || |_ _| |_ | __/| | | | | __/ (_) |__ _|_ _| |_| |_|_| |_|\___|\___/ |_| |_| Welcome to ARMBIAN Ubuntu 16.04 3.10.65+ System load: 0.08 Up time: 2 min IP: 192.168.83.88 CPU temp: 30°C Usage of /: 16% of 3.5G Last login: Mon Feb 29 12:03:04 2016 from 192.168.83.91 tk@pine64plus:~$ uname -a Linux pine64plus 3.10.65+ #31 SMP PREEMPT Sun Feb 28 18:55:54 CET 2016 aarch64 aarch64 aarch64 GNU/Linux tk@pine64plus:~$ Just kidding, I only used longsleep's Xenial OS image for Pine64 to get a clue what to expect when switching to Xenial (for example packages missing, eg. figlet/toilet) and arm64 in general. I believe it's good to 'just have a look' now before starting to adjust our new templates BTW: I used 'sysbench' the last 2 years to roughly compare performance of ARMv7 boards. Not possible any longer when running on ARMv8 with software compiled for ARMv8: tk@pine64plus:~$ sysbench --test=cpu run --num-threads=4 sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 4 Doing CPU performance benchmark Threads started! Done. Maximum prime number checked in CPU test: 10000 Test execution summary: total time: 3.2562s total number of events: 10000 total time taken by event execution: 12.9950 per-request statistics: min: 1.21ms avg: 1.30ms max: 13.14ms approx. 95 percentile: 1.30ms Threads fairness: events (avg/stddev): 2500.0000/10.70 execution time (avg/stddev): 3.2487/0.00 (the Raspberry Foundation uses the very same silly benchmark and published today benchmark results for the yet available RPi 3: also ARMv8 based but not that impressive: 49.02 seconds that's just 15 times slower than A64! Maybe they get the idea why it would make sense to make use of Aarch64/ARMv8 architecture and not let code for ARMv6 run on ARMv8 cores in ARMv7 mode ) And running these sorts of benchmarks only for a few seconds like above is pretty useless since thermal throttling should also be considered (this happens when sysbench runs for a few minutes and the A64 wears already a heatsink): (I made an RPi-Monitor template for A64 already available). Even with this light workload already throttling occurs and CPU frequency will be reduced. And then I tried to run ssvb's new Cortex-A53 cpuburn version but the Pine64+ immediately deadlocked. Seems I have to buy the new 2.5A PSU for RPi 3 to compensate the crappy Micro USB DC-IN connector also used on the Pine boards. 2
tkaiser Posted February 29, 2016 Author Posted February 29, 2016 Just a small note. To prepare the arm64 switch (GCC 5.2 toolchain strongly recommended) I tried to build OS images using gcc-linaro-5.2-2015.11-1-x86_64_arm-linux-gnueabihf (I simply did an untar below /usr/local and exported PATH=/usr/local/gcc-linaro-5.2-2015.11-1-x86_64_arm-linux-gnueabihf/bin:$PATH prior to calling compile.sh and then tried out the most crappy kernel tree we currently support. Works as expected: Linux version 3.4.110-sun8i (tk@opennms) (gcc version 5.2.1 20151005 (Linaro GCC 5.2-2015.11-1) ) #86 SMP PREEMPT Mon Feb 29 20:23:08 CET 2016 [ 0.000000] Booting Linux on physical CPU 0 [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Linux version 3.4.110-sun8i (tk@opennms) (gcc version 5.2.1 20151005 (Linaro GCC 5.2-2015.11-1) ) #86 SMP PREEMPT Mon Feb 29 20:23:08 CET 2016 [ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] Machine: sun8i [ 0.000000] cma: CMA: reserved 256 MiB at 70000000 [ 0.000000] Memory policy: ECC disabled, Data cache writealloc [ 0.000000] On node 0 totalpages: 262144 [ 0.000000] free_area_init_node: node 0, pgdat c09ce800, node_mem_map c0abd000 [ 0.000000] Normal zone: 1710 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 192850 pages, LIFO batch:31 [ 0.000000] HighMem zone: 594 pages used for memmap [ 0.000000] HighMem zone: 66990 pages, LIFO batch:15 [ 0.000000] script_init enter! [ 0.000000] script_init exit! [ 0.000000] PERCPU: Embedded 8 pages/cpu @c13d3000 s11904 r8192 d12672 u32768 [ 0.000000] pcpu-alloc: s11904 r8192 d12672 u32768 alloc=8*4096 [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 259840 [ 0.000000] Kernel command line: console=tty1 root=/dev/mmcblk0p1 rootwait rootfstype=ext4 cgroup-enable=memory swapaccount=1 hdmi.audio=EDID:0 panic=10 conso1 [ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) [ 0.000000] allocated 2097152 bytes of page_cgroup [ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups [ 0.000000] Memory: 1024MB = 1024MB total [ 0.000000] Memory: 762904k/762904k available, 285672k reserved, 8192K highmem [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) [ 0.000000] vmalloc : 0xf0000000 - 0xff000000 ( 240 MB) [ 0.000000] lowmem : 0xc0000000 - 0xef800000 ( 760 MB) [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB) [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB) [ 0.000000] .text : 0xc0008000 - 0xc090b7bc (9230 kB) [ 0.000000] .init : 0xc090c000 - 0xc0959e80 ( 312 kB) [ 0.000000] .data : 0xc095a000 - 0xc09d3650 ( 486 kB) [ 0.000000] .bss : 0xc09d3e08 - 0xc0abc258 ( 930 kB) [ 0.000000] Preemptible hierarchical RCU implementation. [ 0.000000] Additional per-CPU info printed with stalls. [ 0.000000] NR_IRQS:544 [ 0.000000] Architected local timer running at 24.00MHz. [ 0.000000] Switching to timer-based delay loop [ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms [ 0.000000] Console: colour dummy device 80x30 [ 0.000000] console [tty1] enabled [ 0.000266] Calibrating delay loop (skipped), value calculated using timer frequency.. 4800.00 BogoMIPS (lpj=24000000) [ 0.000290] pid_max: default: 32768 minimum: 301 [ 0.000621] Mount-cache hash table entries: 512 [ 0.001645] Initializing cgroup subsys cpuacct [ 0.001662] Initializing cgroup subsys memory [ 0.001709] Initializing cgroup subsys devices [ 0.001721] Initializing cgroup subsys freezer [ 0.001732] Initializing cgroup subsys blkio [ 0.001756] Initializing cgroup subsys perf_event [ 0.001811] CPU: Testing write buffer coherency: ok [ 0.001854] ftrace: allocating 25331 entries in 75 pages [ 0.030286] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 [ 0.030303] [sunxi_smp_prepare_cpus] enter [ 0.030341] Setting up static identity map for 0x4067a380 - 0x4067a3d8 [ 0.031287] CPU1: Booted secondary processor [ 0.031287] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 [ 0.031418] CPU2: Booted secondary processor [ 0.031418] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002 [ 0.031418] CPU3: Booted secondary processor [ 0.031418] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003 [ 0.040192] Brought up 4 CPUs [ 0.040209] SMP: Total of 4 processors activated (19200.00 BogoMIPS). [ 0.040939] devtmpfs: initialized [ 0.043807] wakeup src cnt is : 2. [ 0.043819] [exstandby]leave extended_standby_enable_wakeup_src : event 0x800000 [ 0.043830] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpio_map 0x0 [ 0.043841] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpio_group 0x40 [ 0.043852] [exstandby]leave extended_standby_enable_wakeup_src : event 0x800000 [ 0.043862] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpio_map 0x8 [ 0.043873] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpio_group 0x40 [ 0.043884] sunxi pm init [ 0.044031] pinctrl core: initialized pinctrl subsystem [ 0.057233] NET: Registered protocol family 16 [ 0.058009] DMA: preallocated 2048 KiB pool for atomic coherent allocations [ 0.058009] script_sysfs_init success [ 0.058009] sunxi_dump_init success [ 0.058009] gpiochip_add: registered GPIOs 0 to 383 on device: sunxi-pinctrl [ 0.058009] sunxi-pinctrl sunxi-pinctrl: initialized sunXi PIO driver [ 0.058009] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers. [ 0.058009] hw-breakpoint: maximum watchpoint size is 8 bytes. [ 0.058009] script config pll_video to 297 Mhz [ 0.058009] script config pll_de to 864 Mhz [ 0.058009] script config pll_ve to 402 Mhz [ 0.058009] sunxi_default_clk_init [ 0.058009] try to set pll6ahb1 to 200000000 [ 0.058009] try to set ahb clk source to pll6ahb1 [ 0.058009] set ahb clk source to pll6ahb1 [ 0.058009] try to set ahb1 to 200000000 [ 0.058009] try to set apb1 to 100000000 [ 0.058009] ===fe3o4==== sunxi_root_procfs_attach ret:0 [ 0.064549] bio: create slab <bio-0> at 0 [ 0.070092] [ARISC] :sunxi-arisc driver v1.04 [ 0.080066] [ARISC] :arisc version: [v0.1.34] [ 0.174343] [ARISC] :sunxi-arisc driver v1.04 startup succeeded [ 0.180454] SCSI subsystem initialized [ 0.180657] usbcore: registered new interface driver usbfs [ 0.180730] usbcore: registered new interface driver hub [ 0.180759] usbcore: registered new device driver usb [ 0.180759] twi_chan_cfg()335 - [twi0] has no twi_regulator. [ 0.180759] twi_chan_cfg()335 - [twi1] has no twi_regulator. [ 0.180759] twi_chan_cfg()335 - [twi2] has no twi_regulator. [ 0.180773] Linux video capture interface: v2.00 [ 0.180995] Advanced Linux Sound Architecture Driver Version 1.0.25. [ 0.181745] cfg80211: Calling CRDA to update world regulatory domain [ 0.181808] Switching to clocksource arch_sys_counter [ 0.194064] FS-Cache: Loaded [ 0.194354] CacheFiles: Loaded [ 0.205630] NET: Registered protocol family 2 [ 0.216940] IP route cache hash table entries: 32768 (order: 5, 131072 bytes) [ 0.217534] TCP established hash table entries: 131072 (order: 8, 1048576 bytes) [ 0.219432] TCP bind hash table entries: 65536 (order: 7, 786432 bytes) [ 0.220525] TCP: Hash tables configured (established 131072 bind 65536) [ 0.220537] TCP: reno registered [ 0.220553] UDP hash table entries: 512 (order: 2, 16384 bytes) [ 0.220591] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes) [ 0.220955] NET: Registered protocol family 1 [ 0.221348] RPC: Registered named UNIX socket transport module. [ 0.221361] RPC: Registered udp transport module. [ 0.221369] RPC: Registered tcp transport module. [ 0.221377] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.221787] hw perfevents: enabled with ARMv7 Cortex_A7 PMU driver, 5 counters available [ 0.221888] sunxi_reg_init enter [ 0.222686] audit: initializing netlink socket (disabled) [ 0.222727] type=2000 audit(0.220:1): initialized [ 0.223799] highmem bounce pool size: 64 pages [ 0.224705] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.224821] NFS: Registering the id_resolver key type [ 0.225172] Installing knfsd (copyright (C) 1996 okir@monad.swb.de). [ 0.225927] NTFS driver 2.1.30 [Flags: R/W]. [ 0.226246] fuse init (API version 7.18) [ 0.226980] Btrfs loaded [ 0.227004] msgmni has been set to 1474 [ 0.228326] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253) [ 0.228346] io scheduler noop registered [ 0.228354] io scheduler deadline registered [ 0.228421] io scheduler cfq registered (default) [ 0.228889] [DISP]disp_module_init [ 0.239046] [DISP] Fb_map_kernel_logo,line:931:Fb_map_kernel_logo failed! [ 0.255449] Console: switching to colour frame buffer device 160x45 [ 0.272848] [DISP]disp_module_init finish [ 0.273073] sw_uart_get_devinfo()1503 - uart0 has no uart_regulator. [ 0.273376] uart0: ttyS0 at MMIO 0x1c28000 (irq = 32) is a SUNXI [ 0.273390] sw_uart_pm()890 - uart0 clk is already enable [ 0.273939] sunxi_cmatest_init enter [ 0.273977] sunxi_cmatest_init success [ 0.278389] loop: module loaded [ 0.278659] sunxi_spi_chan_cfg()1355 - [spi-0] has no spi_regulator. [ 0.278674] sunxi_spi_chan_cfg()1355 - [spi-1] has no spi_regulator. [ 0.279185] spi spi0: master is unqueued, this is deprecated [ 0.279488] tun: Universal TUN/TAP device driver, 1.6 [ 0.279498] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com> [ 0.280412] PPP generic driver version 2.4.2 [ 0.280601] PPP BSD Compression module registered [ 0.280611] PPP Deflate Compression module registered [ 0.281402] PPP MPPE Compression module registered [ 0.281417] NET: Registered protocol family 24 [ 0.281479] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 0.301560] sunxi-ehci sunxi-ehci.1: SW USB2.0 'Enhanced' Host Controller (EHCI) Driver [ 0.301594] sunxi-ehci sunxi-ehci.1: new USB bus registered, assigned bus number 1 [ 0.302184] sunxi-ehci sunxi-ehci.1: irq 104, io mem 0xf1c1a000 [ 0.320036] sunxi-ehci sunxi-ehci.1: USB 0.0 started, EHCI 1.00 [ 0.320647] hub 1-0:1.0: USB hub found [ 0.320672] hub 1-0:1.0: 1 port detected [ 0.341061] sunxi-ehci sunxi-ehci.2: SW USB2.0 'Enhanced' Host Controller (EHCI) Driver [ 0.341090] sunxi-ehci sunxi-ehci.2: new USB bus registered, assigned bus number 2 [ 0.341599] sunxi-ehci sunxi-ehci.2: irq 106, io mem 0xf1c1b000 [ 0.360032] sunxi-ehci sunxi-ehci.2: USB 0.0 started, EHCI 1.00 [ 0.360577] hub 2-0:1.0: USB hub found [ 0.360598] hub 2-0:1.0: 1 port detected [ 0.360970] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 0.381030] sunxi-ohci sunxi-ohci.1: SW USB2.0 'Open' Host Controller (OHCI) Driver [ 0.381059] sunxi-ohci sunxi-ohci.1: new USB bus registered, assigned bus number 3 [ 0.381092] sunxi-ohci sunxi-ohci.1: irq 105, io mem 0xf1c1a400 [ 0.444591] hub 3-0:1.0: USB hub found [ 0.444612] hub 3-0:1.0: 1 port detected [ 0.464985] sunxi-ohci sunxi-ohci.2: SW USB2.0 'Open' Host Controller (OHCI) Driver [ 0.465014] sunxi-ohci sunxi-ohci.2: new USB bus registered, assigned bus number 4 [ 0.465049] sunxi-ohci sunxi-ohci.2: irq 107, io mem 0xf1c1b400 [ 0.524552] hub 4-0:1.0: USB hub found [ 0.524570] hub 4-0:1.0: 1 port detected [ 0.524948] Initializing USB Mass Storage driver... [ 0.525112] usbcore: registered new interface driver usb-storage [ 0.525124] USB Mass Storage support registered. [ 0.525187] usbcore: registered new interface driver ums-alauda [ 0.525234] usbcore: registered new interface driver ums-cypress [ 0.525281] usbcore: registered new interface driver ums-datafab [ 0.525326] usbcore: registered new interface driver ums_eneub6250 [ 0.525376] usbcore: registered new interface driver ums-freecom [ 0.525422] usbcore: registered new interface driver ums-isd200 [ 0.525469] usbcore: registered new interface driver ums-jumpshot [ 0.525514] usbcore: registered new interface driver ums-karma [ 0.525563] usbcore: registered new interface driver ums-onetouch [ 0.525624] usbcore: registered new interface driver ums-realtek [ 0.525672] usbcore: registered new interface driver ums-sddr09 [ 0.525719] usbcore: registered new interface driver ums-sddr55 [ 0.525763] usbcore: registered new interface driver ums-usbat [ 0.526091] file system registered [ 0.527680] android_usb gadget: Mass Storage Function, version: 2009/09/11 [ 0.527694] android_usb gadget: Number of LUNs=3 [ 0.527705] lun0: LUN: removable file: (no medium) [ 0.527715] lun1: LUN: removable file: (no medium) [ 0.527725] lun2: LUN: removable file: (no medium) [ 0.528054] android_usb gadget: android_usb ready [ 0.528281] uinput result 0 , vmouse_init [ 0.528882] mousedev: PS/2 mouse device common for all mice [ 0.529589] ls_fetch_sysconfig_para: type err device_used = -1073060652. [ 0.529601] =========script_get_err============ [ 0.529609] ltr_init: ls_fetch_sysconfig_para err. [ 0.530218] sunxi-rtc sunxi-rtc: rtc core: registered sunxi-rtc as rtc0 [ 0.530267] i2c /dev entries driver [ 0.530659] IR RC5(x) protocol handler initialized [ 0.530792] sunxi cedar version 0.1 [ 0.530838] [cedar]: install start!!! [ 0.531037] [cedar]: install end!!! [ 0.531286] sunxi_i2c_do_xfer()980 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x18) [ 0.531461] sunxi_i2c_do_xfer()980 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x19) [ 0.531634] sunxi_i2c_do_xfer()980 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x1a) [ 0.531804] sunxi_i2c_do_xfer()980 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x29) [ 0.531973] sunxi_i2c_do_xfer()980 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x2a) [ 0.532141] sunxi_i2c_do_xfer()980 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x2b) [ 0.532311] sunxi_i2c_do_xfer()980 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x4c) [ 0.532479] sunxi_i2c_do_xfer()980 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x4d) [ 0.532646] sunxi_i2c_do_xfer()980 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x4e) [ 0.532846] sunxi_i2c_do_xfer()980 - [i2c1] incomplete xfer (status: 0x20, dev addr: 0x18) [ 0.533042] sunxi_i2c_do_xfer()980 - [i2c1] incomplete xfer (status: 0x20, dev addr: 0x19) [ 0.533238] sunxi_i2c_do_xfer()980 - [i2c1] incomplete xfer (status: 0x20, dev addr: 0x1a) [ 0.533434] sunxi_i2c_do_xfer()980 - [i2c1] incomplete xfer (status: 0x20, dev addr: 0x29) [ 0.533630] sunxi_i2c_do_xfer()980 - [i2c1] incomplete xfer (status: 0x20, dev addr: 0x2a) [ 0.533826] sunxi_i2c_do_xfer()980 - [i2c1] incomplete xfer (status: 0x20, dev addr: 0x2b) [ 0.534021] sunxi_i2c_do_xfer()980 - [i2c1] incomplete xfer (status: 0x20, dev addr: 0x4c) [ 0.534217] sunxi_i2c_do_xfer()980 - [i2c1] incomplete xfer (status: 0x20, dev addr: 0x4d) [ 0.534413] sunxi_i2c_do_xfer()980 - [i2c1] incomplete xfer (status: 0x20, dev addr: 0x4e) [ 0.534428] sunxi_wdt_init_module: sunxi WatchDog Timer Driver v1.0 [ 0.534592] sunxi_wdt_probe: devm_ioremap return wdt_reg 0xf1c20ca0, res->start 0x01c20ca0, res->end 0x01c20cbf [ 0.534736] sunxi_wdt_probe: initialized (g_timeout=16s, g_nowayout=0) [ 0.534752] wdt_enable, write reg 0xf1c20cb8 val 0x00000000 [ 0.534764] timeout_to_interv, line 167 [ 0.534773] interv_to_timeout, line 189 [ 0.534784] wdt_set_tmout, write 0x000000b0 to mode reg 0xf1c20cb8, actual timeout 16 sec [ 0.535193] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-devel@redhat.com [ 0.535589] [mmc]: SD/MMC/SDIO Host Controller Driver(v1.109 2014-12-4 20:51) Compiled in Feb 29 2016 at 20:06:42 [ 0.535627] [mmc]: get mmc0's sdc_power is null! [ 0.535655] [mmc]: get mmc1's sdc_power is null! [ 0.535667] [mmc]: get mmc1's 2xmode ok, val = 1 [ 0.535677] [mmc]: get mmc1's ddrmode ok, val = 1 [ 0.535695] [mmc]: MMC host used card: 0x3, boot card: 0x1, io_card 2 [ 0.536664] [mmc]: sdc0 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 0.537783] [mmc]: sdc0 set ios: clk 0Hz bm PP pm UP vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 0.538419] [mmc]: sdc1 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 0.539323] [mmc]: sdc0 power_supply is null [ 0.541246] no blue_led, ignore it! [ 0.541473] Registered led device: red_led [ 0.541603] Registered led device: green_led [ 0.542415] usbcore: registered new interface driver usbhid [ 0.542425] usbhid: USB HID core driver [ 0.547676] asoc: sndcodec <-> sunxi-codec mapping ok [ 0.548555] [DAUDIO]sunxi-daudio cannot find any using configuration for controllers, return directly! [ 0.548738] [I2S]snddaudio cannot find any using configuration for controllers, return directly! [ 0.548751] [DAUDIO0] driver not init,just return. [ 0.551739] asoc: sndhdmi <-> sunxi-hdmiaudio.0 mapping ok [ 0.552644] oprofile: using arm/armv7-ca7 [ 0.552831] u32 classifier [ 0.552840] Actions configured [ 0.553028] IPv4 over IPv4 tunneling driver [ 0.553663] TCP: bic registered [ 0.553676] TCP: cubic registered [ 0.553684] TCP: westwood registered [ 0.553692] TCP: highspeed registered [ 0.553699] TCP: hybla registered [ 0.553707] TCP: htcp registered [ 0.553714] TCP: vegas registered [ 0.553721] TCP: veno registered [ 0.553729] TCP: scalable registered [ 0.553737] TCP: lp registered [ 0.553744] TCP: yeah registered [ 0.553752] TCP: illinois registered [ 0.553759] Initializing XFRM netlink socket [ 0.553980] NET: Registered protocol family 10 [ 0.555144] NET: Registered protocol family 17 [ 0.555176] NET: Registered protocol family 15 [ 0.555227] Registering the dns_resolver key type [ 0.555543] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 [ 0.555566] ThumbEE CPU extension supported. [ 0.555587] Registering SWP/SWPB emulation handler [ 0.556561] cmdline,disp= [ 0.556866] [HDMI] power vcc-hdmi-18 [ 0.560059] [mmc]: sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 0.580864] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 0 err, cmd 52, RTO !! [ 0.581709] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 0 err, cmd 52, RTO !! [ 0.581744] [mmc]: sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 0.584244] [mmc]: sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 0.585670] *******************Try sdio******************* [ 0.586488] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 0 err, cmd 5, RTO !! [ 0.587324] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 0 err, cmd 5, RTO !! [ 0.587636] ths_fetch_sysconfig_para: type err device_used = 1. [ 0.588164] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 0 err, cmd 5, RTO !! [ 0.588760] parse cooler0 from sysconfig failed [ 0.589009] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 0 err, cmd 5, RTO !! [ 0.589046] *******************Try sd ******************* [ 0.589241] CPU Budget:Register notifier [ 0.589253] CPU Budget:register Success [ 0.589267] sunxi-budget-cooling sunxi-budget-cooling: Cooling device registered: thermal-budget-0 [ 0.589702] [mmc]: sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 0.592274] [mmc]: sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 0.592537] [rf_pm]: select module num is 7 [ 0.592551] [rf_pm]: module power0 name vcc-wifi-33 [ 0.592562] [rf_pm]: failed to fetch module_power1 [ 0.592571] [rf_pm]: mod has no chip_en gpio [ 0.592579] [rf_pm]: failed to fetch lpo_use_apclk [ 0.592586] [rf_pm]: regulator on. [ 0.592852] [wifi_pm]: wifi gpio init is OK !! [ 0.592911] [rfkill]: init no bt used in configuration [ 0.592922] ALSA device list: [ 0.592929] #0: audiocodec [ 0.592936] #1: sndhdmi [ 0.593305] Waiting for root device /dev/mmcblk0p1... [ 0.594826] [mmc]: sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 0.611524] [mmc]: sdc0 set ios: clk 25000000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 0.612944] [mmc]: sdc0 set ios: clk 25000000Hz bm PP pm ON vdd 3.3V width 1 timing SD-HS(SDR25) dt B [ 0.613031] [mmc]: sdc0 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 1 timing SD-HS(SDR25) dt B [ 0.613157] [mmc]: sdc0 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 4 timing SD-HS(SDR25) dt B [ 0.613245] mmc0: new high speed SDHC card at address 0007 [ 0.613737] mmcblk0: mmc0:0007 SD16G 14.4 GiB [ 0.615170] mmcblk0: p1 [ 0.615743] *******************sd init ok******************* [ 0.714276] EXT4-fs (mmcblk0p1): mounted filesystem with writeback data mode. Opts: (null) [ 0.714344] VFS: Mounted root (ext4 filesystem) on device 179:1. [ 0.722944] devtmpfs: mounted [ 0.723526] Freeing init memory: 308K [ 1.190075] [DISP] disp_device_attached_and_enable,line:159:attched ok, mgr0<-->device0, type=4, mode=5 [ 2.023654] systemd-udevd[230]: starting version 204 [ 2.256421] RTL871X: module init start [ 2.256437] RTL871X: rtl8189es v4.3.0.4_11916.20140724_COB [ 2.256445] RTL871X: build time: Feb 29 2016 20:09:29 [ 2.256460] [wifi_pm]: set wl_reg_on 0 ! [ 2.306532] [mmc]: sdc1 set ios: clk 0Hz bm PP pm UP vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.308073] [mmc]: sdc1 power_supply is null [ 2.320063] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.342428] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 52, RTO !! [ 2.343267] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 52, RTO !! [ 2.343296] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.345820] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.347749] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 8, RTO !! [ 2.347789] *******************Try sdio******************* [ 2.348605] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 5, RTO !! [ 2.349445] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 5, RTO !! [ 2.350278] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 5, RTO !! [ 2.351105] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 5, RTO !! [ 2.351129] *******************Try sd ******************* [ 2.351942] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 55, RTO !! [ 2.352768] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 55, RTO !! [ 2.353731] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 55, RTO !! [ 2.354584] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 55, RTO !! [ 2.354616] *******************Try mmc******************* [ 2.354630] [mmc]: sdc1 set ios: clk 400000Hz bm OD pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.355566] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 1, RTO !! [ 2.355603] [mmc]: sdc1 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.355734] [mmc]: sdc1 power_supply is null [ 2.358409] [mmc]: sdc1 set ios: clk 0Hz bm PP pm UP vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.359960] [mmc]: sdc1 power_supply is null [ 2.380081] [mmc]: sdc1 set ios: clk 300000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.402675] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 52, RTO !! [ 2.403784] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 52, RTO !! [ 2.403814] [mmc]: sdc1 set ios: clk 300000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.406457] [mmc]: sdc1 set ios: clk 300000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.406510] [wifi_pm]: set wl_reg_on 1 ! [ 2.406739] RTL871X: module init ret=0 [ 2.408666] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 8, RTO !! [ 2.408702] *******************Try sdio******************* [ 2.409781] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 5, RTO !! [ 2.410876] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 5, RTO !! [ 2.411971] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 5, RTO !! [ 2.413065] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 5, RTO !! [ 2.413088] *******************Try sd ******************* [ 2.414175] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 55, RTO !! [ 2.415292] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 55, RTO !! [ 2.416385] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 55, RTO !! [ 2.417478] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 55, RTO !! [ 2.417501] *******************Try mmc******************* [ 2.417515] [mmc]: sdc1 set ios: clk 300000Hz bm OD pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.418726] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 1, RTO !! [ 2.418757] [mmc]: sdc1 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.418868] [mmc]: sdc1 power_supply is null [ 2.421155] [mmc]: sdc1 set ios: clk 0Hz bm PP pm UP vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.422719] [mmc]: sdc1 power_supply is null [ 2.440093] [mmc]: sdc1 set ios: clk 200000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.463214] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 52, RTO !! [ 2.464861] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 52, RTO !! [ 2.464898] [mmc]: sdc1 set ios: clk 200000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.467839] [mmc]: sdc1 set ios: clk 200000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.470647] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 8, RTO !! [ 2.470713] *******************Try sdio******************* [ 2.472334] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 5, RTO !! [ 2.474007] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 5, RTO !! [ 2.475639] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 5, RTO !! [ 2.477268] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 5, RTO !! [ 2.477293] *******************Try sd ******************* [ 2.478908] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 55, RTO !! [ 2.480541] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 55, RTO !! [ 2.482194] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 55, RTO !! [ 2.483853] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 55, RTO !! [ 2.483895] *******************Try mmc******************* [ 2.483909] [mmc]: sdc1 set ios: clk 200000Hz bm OD pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.485695] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 1, RTO !! [ 2.485743] [mmc]: sdc1 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.485867] [mmc]: sdc1 power_supply is null [ 2.488504] [mmc]: sdc1 set ios: clk 0Hz bm PP pm UP vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.490134] [mmc]: sdc1 power_supply is null [ 2.510091] [mmc]: sdc1 set ios: clk 150000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.533807] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 52, RTO !! [ 2.536044] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 52, RTO !! [ 2.536120] [mmc]: sdc1 set ios: clk 150000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.539385] [mmc]: sdc1 set ios: clk 150000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.542758] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 8, RTO !! [ 2.542842] *******************Try sdio******************* [ 2.545005] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 5, RTO !! [ 2.547202] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 5, RTO !! [ 2.549419] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 5, RTO !! [ 2.551634] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 5, RTO !! [ 2.551814] *******************Try sd ******************* [ 2.553981] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 55, RTO !! [ 2.556192] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 55, RTO !! [ 2.558422] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 55, RTO !! [ 2.560636] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 55, RTO !! [ 2.560706] *******************Try mmc******************* [ 2.560722] [mmc]: sdc1 set ios: clk 150000Hz bm OD pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.563084] [mmc]: *** sunxi_mci_dump_errinfo(L826): smc 1 err, cmd 1, RTO !! [ 2.563159] [mmc]: sdc1 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B [ 2.563305] [mmc]: sdc1 power_supply is null [ 3.105215] Bluetooth: Core ver 2.16 [ 3.105307] NET: Registered protocol family 31 [ 3.105316] Bluetooth: HCI device and connection manager initialized [ 3.105327] Bluetooth: HCI socket layer initialized [ 3.105335] Bluetooth: L2CAP socket layer initialized [ 3.105365] Bluetooth: SCO socket layer initialized [ 3.121985] Bluetooth: RFCOMM TTY layer initialized [ 3.122010] Bluetooth: RFCOMM socket layer initialized [ 3.122018] Bluetooth: RFCOMM ver 1.11 [ 3.284717] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 3.284735] Bluetooth: BNEP filters: protocol multicast [ 3.570436] gmac0: probed [ 3.570621] gmac0 gmac0: eth0: eth0: PHY ID 00441400 at 0 IRQ poll (gmac0-0:00) [ 14.130085] eth0: no IPv6 routers present [ 123.947566] vmouse_input_dev_open [ 124.010629] vmouse_input_dev_close Therefore I would suggest to do the same with all images (kernel debs), put them somewhere on mirror.igorpecovnik.com and ask experienced users to try them out. If this works we could integrate the 5.2 Linaro toolchain in our build system to also prevent strange effects when people try to build from source on systems where exotic cross-compile toolchains are present. Any thoughts? 1
Avinash Ga Posted March 1, 2016 Posted March 1, 2016 Wondeful. Soon i will be getting my pine64 boards. I am eager to try armbian supported image on it. 1
tkaiser Posted March 1, 2016 Author Posted March 1, 2016 Wondeful. Soon i will be getting my pine64 boards. I am eager to try armbian supported image on it. Might not happen that soon. While we're preparing the new 64-bit architecture (which will take some time) the current state of Linux on A64 permits building OS images for end users BTW: Since people started to take the silly sysbench result above (3.25 seconds on Pine64 vs. 49 on RPi 3 -- only possible conclusion: forget about this 'benchmark' from now on) to compare with the ODROID-C2 I simply unlocked the higher CPU frequencies and measured again: now 2.8 seconds or ~15% better -- all just by modifying thermal throttling behaviour). It should be obvious that any kind of benchmarking for A64 now is plain nonsense. The aforementioned tests are only suited to demonstrate how misleading this sort of pseudo benchmarking is. 4
wildcat_paris Posted March 29, 2016 Posted March 29, 2016 it is worth? https://github.com/umiddelb/armhf/wiki/How-To-compile-a-custom-Linux-kernel-for-your-ARM-device#pine64
tkaiser Posted March 29, 2016 Author Posted March 29, 2016 it is worth? https://github.com/umiddelb/armhf/wiki/How-To-compile-a-custom-Linux-kernel-for-your-ARM-device#pine64 This is just building the BSP kernel which is an easy task. The other parts are more problematic. Something that works quite good is longsleep's attempt to build a whole image (Uli is using his kernel tree): https://github.com/longsleep/build-pine64-image/tree/master/u-boot-postprocess Allwinner's BSP u-boot can not be built with GCC 5.x (32-bit mandatory, GCC 4.8 recommended) but the kernel has to be built with 5.2 (aarch64) or above so this is another change we have to make to Armbian's build system (and not really decided how yet). I would also wait for mainline u-boot being fully ready. Both mainline u-boot and kernel already boot but there's a problem with missing DRAM initlialisation code preventing any Armbian build being redistributable now. Allwinner said a few weeks ago they're thinking about releasing this code with a GPLv2 license but AFAIK the developers are still waiting for an answer. And then there remains the question how to deal with Allwinner's BSP (AKA 'legacy kernel'). Longsleep summarized it here perfectly. 1
tkaiser Posted March 29, 2016 Author Posted March 29, 2016 New patches for u-boot available but still relying on boot0 BLOB https://patchwork.ozlabs.org/patch/603011/ 1
tkaiser Posted July 12, 2016 Author Posted July 12, 2016 tk@pine64plus:~$ sysbench --test=cpu run --num-threads=4 sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 4 Doing CPU performance benchmark Threads started! Done. Maximum prime number checked in CPU test: 10000 Test execution summary: total time: 3.2562s total number of events: 10000 total time taken by event execution: 12.9950 per-request statistics: min: 1.21ms avg: 1.30ms max: 13.14ms approx. 95 percentile: 1.30ms Threads fairness: events (avg/stddev): 2500.0000/10.70 execution time (avg/stddev): 3.2487/0.00 Just a funny note: SinoVoip announced yesterday an own A64 board: BPi M64. They took kernel/u-boot/device-tree settings from longsleep/linux-sunxi community and prepared their most recent OS images already for BPi M64 (providing the necessary stuff on the FAT partition and being able to overwrite the bootloader with their bpi-bootsel command). Since at the moment they didn't alter anything regarding device-tree stuff (it's all 100 percent copy&paste from Pine64+) I simply tried it out and tested their so called 'Raspbian Lite' OS image on Pine64+ (boot log): root@bpi-iot-ros-ai:/tmp# sysbench --test=cpu --cpu-max-prime=10000 run --num-threads=4 sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 4 Doing CPU performance benchmark Threads started! Done. Maximum prime number checked in CPU test: 10000 Test execution summary: total time: 52.2640s total number of events: 10000 total time taken by event execution: 208.9829 per-request statistics: min: 18.97ms avg: 20.90ms max: 61.86ms approx. 95 percentile: 21.83ms Threads fairness: events (avg/stddev): 2500.0000/5.05 execution time (avg/stddev): 52.2457/0.01 root@bpi-iot-ros-ai:/tmp# bpi-hw bpi-m64 root@bpi-iot-ros-ai:/tmp# cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)" NAME="Raspbian GNU/Linux" VERSION_ID="8" VERSION="8 (jessie)" ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs" Same hardware. Using a good OS image (making use of ARMv8 instruction set) the benchmark takes 3.2 seconds, 'Team BPi' manages to provide an OS image where the same benchmark takes 16 times longer: 52 seconds (Armbian running on an Orange Pi Plus 2E takes less than 40 seconds). Then rootfs is nearly full, u-boot and kernel are already outdated and of course kernel update doesn't work since 'Team BPi' was so clever to read the necessary files from an unusual location and so on... So you already know what to expect when you have to rely on their software/support 2
Recommended Posts