Pine64 ROCK64 is the first maker board based on Rockchip RK3328 processor, and is potentially interesting for various applications including network storage thanks to USB 3.0 and Gigabit Ethernet, multimedia applications with 4K HDR video support, as well as other applications requiring I/Os. I’ve already tested Rock64 board with Android 7.1 operating system, so today I’ll report by finding and experience with Ubuntu 16.04.3 with MATE desktop.
Selecting and Flashing a Linux Image
You’ll find several operating systems in the Wiki, but you’ll also find more cutting edge images in ayufan’s github. But first let me explain some vocabulary used for Pine64 firmware files:
- Engineering version – Becomes with release build based on the stock build develop by Pine64 and the SoC vendor. It’s supposed to be more stable, but get less updates
- Community versions (currently managed via ayufan) are more frequently updates, and comes with more recent features. You’ll find two categories
- Release builds – The current stable version released by the community
- Pre-release builds – Version under test to eventually become the release build
Currently, documentation is still work in progress for the board, so I spent some time on IRC #Rock64 chatting with the helpful community there, and I noticed most of them used the community builds. I’ve also been told there has not been that much work on the Desktop version right now, with most people focusing on NAS support with images such as Debian + OpenMediaVault. But since I wanted to test a desktop image I was recommended the Ubuntu Mate image, and download the pre-release 64-bit version: xenial-mate-rock64-0.4.17-85-arm64.img.xz.
If you’ve read the WIki, you’ll notice all those are “micro SD” images, so since I had a eMMC flash module, I was a little confused at the beginning, but since I have Hardkernel’s micro SD to eMMC flash module adapter, installation was just the same as on a micro SD card with Etcher.
But Pine64 does not sell such adapter, so how are you supposed to do with you bought an eMMC flash module? I’ve been explained you first need to flash a micro SD card with the image, and then interrupt the boot in u-boot (USB to TTL debug board required), remove the eMMC jumper, and continue the boot by typing “boot”. This has be to be done, or you won’t see the eMMC flash module, while booting from a micro SD card.
Now you can download, and flash the firmware to the eMMC flash module with curl:
1 |
curl -L https://github.com/ayufan-rock64/linux-build/releases/download/0.4.17/xenial-mate-rock64-0.4.17-85-arm64.img.xz | unxz -c > /dev/mmcblk0 |
Not the most user-friendly method, but it should work. If you don’t have a USB to TTL board, first you should really buy one, but for this specific case, you could remove the eMMC jumper about two seconds after applying power. In that case, your mileage may vary though… Pine64 is working on an easier method of installation to the eMMC flash module.
Rock64’s Ubuntu 16.04.3 MATE Boot, System Info, and Initial Setup
Since I want to get the boot log, I connected the USB to TTL board. There’s no dedicated UART connected on the board, so I download the GPIO pinout charts for Pi 2 Bus and Pi 5+ Bus from the Wiki, amd we’ll use it to test GPIOs later on.
UART Tx and Rx can be found on respectively pin 8 and 10 of Pi 2 Bus header, so I connect the debug board accordingly, together with USB keyboard and mouse, a USB harddrive, Ethernet and HDMI cables.
Finally I put the eMMC flash module into the board, applied power, and after a few seconds, I got to the Ubuntu MATE desktop. however, I only got ribberish in the serial console, which was set to 115,200 8N1, the most common settings “in the universive”. There’s currently no info about serial console setting in the Wiki, but a web search lead me to the right settings: 1,500,000 8N1, which apparently is the default in Rockchip SDK.
This high bitrate may cause troubles with some serial adapter, but after changing minicom settings accordingly, I had no trouble with the serial console. That’s the complete boot log after a reboot:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 |
INFO: PSCI Power Domain Map: INFO: Domain Node : Level 2, parent_node -1, State ON (0x0) INFO: Domain Node : Level 1, parent_node 0, State ON (0x0) INFO: Domain Node : Level 0, parent_node 0, State ON (0x0) INFO: Domain Node : Level 0, parent_node 0, State ON (0x0) INFO: CPU Node : MPID 0x0, parent_node 1, State ON (0x0) INFO: CPU Node : MPID 0x1, parent_node 1, State ON (0x0) INFO: CPU Node : MPID 0x2, parent_node 1, State ON (0x0) INFO: CPU Node : MPID 0x3, parent_node 1, State ON (0x0) DDR version 1.06 20170424 In SRX LPDDR3 786MHz Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=32 Size=1024MB ddrconfig:1 OUT Boot1 Release Time: 2017-05-18, version: 2.43 ChipType = 0x11, 189 WR_REL_SET is 0 4 SdmmcInit=2 0 BootCapSize=2000 UserCapSize=14800MB FwPartOffset=2000 , 2000 SdmmcInit=0 2 StorageInit ok = 23664 Raw SecureMode = 0 SecureInit read PBA: 0x4 SecureInit read PBA: 0x404 SecureInit read PBA: 0x804 SecureInit read PBA: 0xc04 SecureInit read PBA: 0x1004 SecureInit ret = 0, SecureMode = 0 LoadTrustBL No find bl30.bin No find bl32.bin Load uboot, ReadLba = 2000 Load OK, addr=0x200000, size=0x63494 RunBL31 0x10000 NOTICE: BL31: v1.3(debug):f947c7e NOTICE: BL31: Built : 09:28:45, May 31 2017 NOTICE: BL31:Rockchip release version: v1.3 INFO: ARM GICv2 driver initialized INFO: Using opteed sec cpu_context! INFO: boot cpu mask: 1 INFO: plat_rockchip_pmu_init: pd status 0xe INFO: BL31: Initializing runtime services WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE iniK ERROR: Error initializing runtime service opteed_fast INFO: BL31: Preparing for EL3 exit to normal world INFO: Entry point address = 0x200000 INFO: SPSR = 0x3c9 U-Boot 2017.05-gde89ec9 (Aug 04 2017 - 08:37:19 +0000), Build: jenkins-linux-bu5 Model: Rockchip RK3328 Rock64 DRAM: rockchip_sdram_size ff1005d0 c280 rank 1 col 10 bk 3 cs0_row 15 bw 2 row_3_4 0 size 40000000 SDRAM base=0, size=40000000 1022 MiB MMC: rk3328_mmc_set_clk src_clk_div > 127,con_id:32rk3328_mmc_set_clk src_clk0 rk3328_mmc_set_clk src_clk_div > 127,con_id:30rk3328_mmc_set_clk src_clk_div > ! mmc_init: -95, time 13 MMC Device 1 not found *** Warning - No MMC card found, using default environment In: serial@ff130000 Out: serial@ff130000 Err: serial@ff130000 Net: Net Initialization Skipped No ethernet found. Hit any key to stop autoboot: 0 rk3328_mmc_set_clk src_clk_div > 127,con_id:32rk3328_mmc_set_clk src_clk_div > K mmc0(part 0) is current device Scanning mmc 0:6... Found /extlinux/extlinux.conf Retrieving file: /extlinux/extlinux.conf reading /extlinux/extlinux.conf 201 bytes read in 3 ms (65.4 KiB/s) 1: kernel-4.4 Retrieving file: /initrd.img reading /initrd.img 7682834 bytes read in 319 ms (23 MiB/s) Retrieving file: /Image reading /Image 18128904 bytes read in 751 ms (23 MiB/s) append: earlycon=uart8250,mmio32,0xff130000 rw root=LABEL=linux-root rootwait rM Retrieving file: /dtb reading /dtb 40801 bytes read in 4 ms (9.7 MiB/s) ## Flattened Device Tree blob at 01f00000 Booting using the fdt blob at 0x1f00000 Loading Ramdisk to 3d7f7000, end 3df4ab12 ... OK Loading Device Tree to 000000003d7ea000, end 000000003d7f6f60 ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Initializing cgroup subsys cpuacct [ 0.000000] Linux version 4.4.70-rockchip-ayufan-85 (root@c6610ffc78ec) (gcc7 [ 0.000000] Boot CPU: AArch64 Processor [410fd034] [ 0.000000] earlycon: Early serial console at MMIO32 0xff130000 (options '') [ 0.000000] bootconsole [uart0] enabled [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.0 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: MIGRATE_INFO_TYPE not supported. [ 0.000000] PERCPU: Embedded 21 pages/cpu @ffffffc03ff5c000 s46312 r8192 d316 [ 0.000000] Detected VIPT I-cache on CPU0 [ 0.000000] CPU features: enabling workaround for ARM erratum 845719 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pa4 [ 0.000000] Kernel command line: earlycon=uart8250,mmio32,0xff130000 rw rootM [ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes) [ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes) [ 0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes) [ 0.000000] software IO TLB [mem 0x397ea000-0x3d7ea000] (64MB) mapped at [ff] [ 0.000000] Memory: 935944K/1046528K available (11326K kernel code, 1320K rw) [ 0.000000] Virtual kernel memory layout: [ 0.000000] modules : 0xffffff8000000000 - 0xffffff8008000000 ( 128 ) [ 0.000000] vmalloc : 0xffffff8008000000 - 0xffffffbdbfff0000 ( 246 ) [ 0.000000] .init : 0xffffff8008f60000 - 0xffffff8009080000 ( 1152 ) [ 0.000000] .text : 0xffffff8008080000 - 0xffffff8008b90000 ( 11328 ) [ 0.000000] .rodata : 0xffffff8008b90000 - 0xffffff8008f60000 ( 3904 ) [ 0.000000] .data : 0xffffff8009080000 - 0xffffff80091ca008 ( 1321 ) [ 0.000000] vmemmap : 0xffffffbdc0000000 - 0xffffffbfc0000000 ( 8 ) [ 0.000000] 0xffffffbdc0008000 - 0xffffffbdc1000000 ( 15 ) [ 0.000000] fixed : 0xffffffbffe7fd000 - 0xffffffbffec00000 ( 4108 ) [ 0.000000] PCI I/O : 0xffffffbffee00000 - 0xffffffbfffe00000 ( 16 ) [ 0.000000] memory : 0xffffffc000200000 - 0xffffffc040000000 ( 1022 ) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] Hierarchical RCU implementation. [ 0.000000] Build-time adjustment of leaf fanout to 64. [ 0.000000] RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4. [ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=64, nr_cpu_ids=4 [ 0.000000] NR_IRQS:64 nr_irqs:64 0 [ 0.000000] GIC: Using split EOI/Deactivate mode [ 0.000000] Architected cp15 timer(s) running at 24.00MHz (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycless [ 0.000006] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398s [ 0.001550] Console: colour dummy device 80x25 [ 0.001962] console [tty0] enabled [ 0.002283] bootconsole [uart0] disabled <hit enter to activate fiq debugger> [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Initializing cgroup subsys cpuacct [ 0.000000] Linux version 4.4.70-rockchip-ayufan-85 (root@c6610ffc78ec) (gcc7 [ 0.000000] Boot CPU: AArch64 Processor [410fd034] [ 0.000000] earlycon: Early serial console at MMIO32 0xff130000 (options '') [ 0.000000] bootconsole [uart0] enabled [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.0 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: MIGRATE_INFO_TYPE not supported. [ 0.000000] PERCPU: Embedded 21 pages/cpu @ffffffc03ff5c000 s46312 r8192 d316 [ 0.000000] Detected VIPT I-cache on CPU0 [ 0.000000] CPU features: enabling workaround for ARM erratum 845719 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pa4 [ 0.000000] Kernel command line: earlycon=uart8250,mmio32,0xff130000 rw rootM [ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes) [ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes) [ 0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes) [ 0.000000] software IO TLB [mem 0x397ea000-0x3d7ea000] (64MB) mapped at [ff] [ 0.000000] Memory: 935944K/1046528K available (11326K kernel code, 1320K rw) [ 0.000000] Virtual kernel memory layout: [ 0.000000] modules : 0xffffff8000000000 - 0xffffff8008000000 ( 128 ) [ 0.000000] vmalloc : 0xffffff8008000000 - 0xffffffbdbfff0000 ( 246 ) [ 0.000000] .init : 0xffffff8008f60000 - 0xffffff8009080000 ( 1152 ) [ 0.000000] .text : 0xffffff8008080000 - 0xffffff8008b90000 ( 11328 ) [ 0.000000] .rodata : 0xffffff8008b90000 - 0xffffff8008f60000 ( 3904 ) [ 0.000000] .data : 0xffffff8009080000 - 0xffffff80091ca008 ( 1321 ) [ 0.000000] vmemmap : 0xffffffbdc0000000 - 0xffffffbfc0000000 ( 8 ) [ 0.000000] 0xffffffbdc0008000 - 0xffffffbdc1000000 ( 15 ) [ 0.000000] fixed : 0xffffffbffe7fd000 - 0xffffffbffec00000 ( 4108 ) [ 0.000000] PCI I/O : 0xffffffbffee00000 - 0xffffffbfffe00000 ( 16 ) [ 0.000000] memory : 0xffffffc000200000 - 0xffffffc040000000 ( 1022 ) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] Hierarchical RCU implementation. [ 0.000000] Build-time adjustment of leaf fanout to 64. [ 0.000000] RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4. [ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=64, nr_cpu_ids=4 [ 0.000000] NR_IRQS:64 nr_irqs:64 0 [ 0.000000] GIC: Using split EOI/Deactivate mode [ 0.000000] Architected cp15 timer(s) running at 24.00MHz (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycless [ 0.000006] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398s [ 0.001550] Console: colour dummy device 80x25 [ 0.001962] console [tty0] enabled [ 0.002283] bootconsole [uart0] disabled [ 0.002679] Calibrating delay loop (skipped), value calculated using timer f) [ 0.002717] pid_max: default: 32768 minimum: 301 [ 0.002859] Security Framework initialized [ 0.002879] Yama: becoming mindful. [ 0.002910] AppArmor: AppArmor disabled by boot time parameter [ 0.002994] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes) [ 0.003021] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes) [ 0.003859] Initializing cgroup subsys io [ 0.003893] Initializing cgroup subsys memory [ 0.003942] Initializing cgroup subsys devices [ 0.003968] Initializing cgroup subsys freezer [ 0.003992] Initializing cgroup subsys net_cls [ 0.004017] Initializing cgroup subsys perf_event [ 0.004043] Initializing cgroup subsys pids [ 0.004109] ftrace: allocating 43176 entries in 169 pages [ 0.130680] sched-energy: CPU device node has no sched-energy-costs [ 0.130717] Invalid sched_group_energy for CPU0 [ 0.130733] CPU0: update cpu_capacity 1024 [ 0.130803] ASID allocator initialised with 65536 entries [ 0.133549] Detected VIPT I-cache on CPU1 [ 0.133607] Invalid sched_group_energy for CPU1 [ 0.133612] CPU1: update cpu_capacity 1024 [ 0.133617] CPU1: Booted secondary processor [410fd034] [ 0.134332] Detected VIPT I-cache on CPU2 [ 0.134378] Invalid sched_group_energy for CPU2 [ 0.134383] CPU2: update cpu_capacity 1024 [ 0.134388] CPU2: Booted secondary processor [410fd034] [ 0.135120] Detected VIPT I-cache on CPU3 [ 0.135165] Invalid sched_group_energy for CPU3 [ 0.135170] CPU3: update cpu_capacity 1024 [ 0.135175] CPU3: Booted secondary processor [410fd034] [ 0.135296] Brought up 4 CPUs [ 0.135629] SMP: Total of 4 processors activated. [ 0.135668] CPU: All CPU(s) started at EL2 [ 0.135733] alternatives: patching kernel code [ 0.135979] Invalid sched_group_energy for CPU3 [ 0.136014] Invalid sched_group_energy for CPU2 [ 0.136045] Invalid sched_group_energy for CPU1 [ 0.136075] Invalid sched_group_energy for CPU0 [ 0.136917] devtmpfs: initialized [ 0.151813] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, ms [ 0.151897] futex hash table entries: 1024 (order: 4, 65536 bytes) [ 0.152516] xor: measuring software checksum speed [ 0.161851] 8regs : 1080.000 MB/sec [ 0.171947] 8regs_prefetch: 968.000 MB/sec [ 0.182040] 32regs : 1352.000 MB/sec [ 0.192135] 32regs_prefetch: 1116.000 MB/sec [ 0.192169] xor: using function: 32regs (1352.000 MB/sec) [ 0.192228] pinctrl core: initialized pinctrl subsystem [ 0.193532] NET: Registered protocol family 16 [ 0.197244] cpuidle: using governor ladder [ 0.201280] cpuidle: using governor menu [ 0.201333] Registered FIQ tty driver [ 0.201750] vdso: 2 pages (1 code @ ffffff8008b96000, 1 data @ ffffff8009084) [ 0.201833] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. [ 0.202336] DMA: preallocated 1024 KiB pool for atomic allocations [ 0.224969] genirq: Setting trigger mode 8 for irq 177 failed (gic_set_type+) [ 0.279620] console [ttyFIQ0] enabled [ 0.280288] Registered fiq debugger ttyFIQ0 [ 0.317503] raid6: int64x1 gen() 187 MB/s [ 0.334808] raid6: int64x1 xor() 183 MB/s [ 0.351932] raid6: int64x2 gen() 292 MB/s [ 0.369134] raid6: int64x2 xor() 271 MB/s [ 0.386302] raid6: int64x4 gen() 457 MB/s [ 0.403558] raid6: int64x4 xor() 330 MB/s [ 0.420811] raid6: int64x8 gen() 332 MB/s [ 0.437933] raid6: int64x8 xor() 267 MB/s [ 0.455185] raid6: neonx1 gen() 363 MB/s [ 0.472324] raid6: neonx1 xor() 361 MB/s [ 0.489541] raid6: neonx2 gen() 566 MB/s [ 0.506671] raid6: neonx2 xor() 490 MB/s [ 0.523886] raid6: neonx4 gen() 757 MB/s [ 0.541047] raid6: neonx4 xor() 574 MB/s [ 0.558268] raid6: neonx8 gen() 773 MB/s [ 0.575461] raid6: neonx8 xor() 576 MB/s [ 0.575863] raid6: using algorithm neonx8 gen() 773 MB/s [ 0.576353] raid6: .... xor() 576 MB/s, rmw enabled [ 0.576820] raid6: using intx1 recovery algorithm [ 0.577553] mpp venc_srv: mpp_probe enter [ 0.577980] mpp venc_srv: init success [ 0.580269] iommu: Adding device ff350000.vpu-service to group 0 [ 0.580904] iommu: Adding device ff360000.rkvdec to group 1 [ 0.581515] iommu: Adding device ff330000.h265e to group 2 [ 0.582090] iommu: Adding device ff340000.vepu to group 3 [ 0.582684] iommu: Adding device ff370000.vop to group 4 [ 0.583750] rk_iommu ff360480.iommu: can't get aclk [ 0.584215] rk_iommu ff360480.iommu: can't get hclk [ 0.584807] rk_iommu ff330200.iommu: can't get aclk [ 0.585269] rk_iommu ff330200.iommu: can't get hclk [ 0.586018] rk_iommu ff373f00.iommu: can't get aclk [ 0.586480] rk_iommu ff373f00.iommu: can't get hclk [ 0.587491] SCSI subsystem initialized [ 0.588176] usbcore: registered new interface driver usbfs [ 0.588749] usbcore: registered new interface driver hub [ 0.589430] usbcore: registered new device driver usb [ 0.590072] media: Linux media interface: v0.10 [ 0.590581] Linux video capture interface: v2.00 [ 0.591110] pps_core: LinuxPPS API ver. 1 registered [ 0.591590] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giom> [ 0.592457] PTP clock support registered [ 0.594381] Advanced Linux Sound Architecture Driver Initialized. [ 0.595794] Bluetooth: Core ver 2.21 [ 0.596203] NET: Registered protocol family 31 [ 0.596619] Bluetooth: HCI device and connection manager initialized [ 0.597228] Bluetooth: HCI socket layer initialized [ 0.597688] Bluetooth: L2CAP socket layer initialized [ 0.598190] Bluetooth: SCO socket layer initialized [ 0.599430] NetLabel: Initializing [ 0.599788] NetLabel: domain hash size = 128 [ 0.600195] NetLabel: protocols = UNLABELED CIPSOv4 [ 0.600718] NetLabel: unlabeled traffic allowed by default [ 0.601766] rockchip-cpuinfo cpuinfo: Serial : ed973de35684d5e5 [ 0.603101] clocksource: Switched to clocksource arch_sys_counter [ 0.703361] NET: Registered protocol family 2 [ 0.704571] TCP established hash table entries: 8192 (order: 4, 65536 bytes) [ 0.705370] TCP bind hash table entries: 8192 (order: 6, 262144 bytes) [ 0.706368] TCP: Hash tables configured (established 8192 bind 8192) [ 0.707057] UDP hash table entries: 512 (order: 3, 49152 bytes) [ 0.707694] UDP-Lite hash table entries: 512 (order: 3, 49152 bytes) [ 0.708660] NET: Registered protocol family 1 [ 0.709627] RPC: Registered named UNIX socket transport module. [ 0.710215] RPC: Registered udp transport module. [ 0.710654] RPC: Registered tcp transport module. [ 0.711108] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.711999] Trying to unpack rootfs image as initramfs... [ 1.326950] Freeing initrd memory: 7500K (ffffffc03d7f7000 - ffffffc03df4a00) [ 1.328363] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counte [ 1.330269] kvm [1]: 8-bit VMID [ 1.330574] kvm [1]: Hyp mode initialized successfully [ 1.331459] kvm [1]: interrupt-controller@ff814000 IRQ44 [ 1.332273] kvm [1]: timer IRQ3 [ 1.336846] audit: initializing netlink subsys (disabled) [ 1.337453] audit: type=2000 audit(1.245:1): initialized [ 1.338535] Initialise system trusted keyring [ 1.352124] VFS: Disk quotas dquot_6.6.0 [ 1.352753] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) [ 1.356078] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 1.359555] NFS: Registering the id_resolver key type [ 1.360065] Key type id_resolver registered [ 1.360498] Key type id_legacy registered [ 1.360900] Installing knfsd (copyright (C) 1996 okir@monad.swb.de). [ 1.362597] fuse init (API version 7.23) [ 1.364274] JFS: nTxBlock = 7370, nTxLock = 58965 [ 1.371147] SGI XFS with ACLs, security attributes, realtime, no debug enabld [ 1.380917] NET: Registered protocol family 38 [ 1.381493] Key type asymmetric registered [ 1.381889] Asymmetric key parser 'x509' registered [ 1.382684] Block layer SCSI generic (bsg) driver version 0.4 loaded (major ) [ 1.383413] io scheduler noop registered [ 1.383792] io scheduler deadline registered (default) [ 1.384518] io scheduler cfq registered [ 1.391312] rockchip-u3phy ff470000.usb3-phy: Rockchip u3phy initialized sucy [ 1.394439] rk-vcodec ff350000.vpu-service: probe device [ 1.394975] rk-vcodec ff350000.vpu-service: vpu mmu dec ffffffc03e5e5c10 [ 1.395900] rk-vcodec ff350000.vpu-service: allocator is drm [ 1.396530] rk-vcodec ff350000.vpu-service: checking hw id 0 [ 1.397694] rk-vcodec ff350000.vpu-service: init success [ 1.398905] rk-vcodec ff360000.rkvdec: probe device [ 1.399444] rk-vcodec ff360000.rkvdec: vpu mmu dec ffffffc03e5e6410 [ 1.400315] rk-vcodec ff360000.rkvdec: allocator is drm [ 1.400880] rk-vcodec ff360000.rkvdec: checking hw id 3410 [ 1.402019] rk-vcodec ff360000.rkvdec: init success [ 1.402923] probe device ff330000.h265e [ 1.403661] mpp_dev ff330000.h265e: try to get iommu dev ffffffc03e5e6c10 [ 1.404726] mpp_dev ff330000.h265e: resource ready, register device [ 1.405630] probe device ff340000.vepu [ 1.406348] mpp_dev ff340000.vepu: try to get iommu dev ffffffc03e5e7410 [ 1.407304] rockchip_mpp_vepu_reset_init:143: No aclk reset resource define [ 1.407946] rockchip_mpp_vepu_reset_init:148: No hclk reset resource define [ 1.408609] mpp_dev ff340000.vepu: resource ready, register device [ 1.412254] dma-pl330 ff1f0000.dmac: Loaded driver for PL330 DMAC-241330 [ 1.412884] dma-pl330 ff1f0000.dmac: DBUFF-128x8bytes Num_Chans-8 Nu6 [ 1.414693] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 1.417883] [drm:drm_core_init] Initialized drm 1.1.0 20060810 [ 1.421459] rockchip-vop ff370000.vop: invalid resource [ 1.421960] rockchip-vop ff370000.vop: failed to get vop lut registers [ 1.422854] rockchip-drm display-subsystem: bound ff370000.vop (ops 0xffffff) [ 1.424187] i2c i2c-4: of_i2c: modalias failure on /hdmi@ff3c0000/ports [ 1.424813] dwhdmi-rockchip ff3c0000.hdmi: registered DesignWare HDMI I2C bur [ 1.425631] dwhdmi-rockchip ff3c0000.hdmi: Detected HDMI TX controller v2.11) [ 1.427478] rockchip-drm display-subsystem: bound ff3c0000.hdmi (ops 0xfffff) [ 1.428273] [drm:drm_vblank_init] Supports vblank timestamp caching Rev 2 (2. [ 1.429018] [drm:drm_vblank_init] No driver support for vblank timestamp que. [ 1.429729] rockchip-drm display-subsystem: failed to parse display resources [ 1.430467] dw_hdmi_i2c_read length 1 [ 1.431659] dw_hdmi_i2c_read length 128 [ 1.537047] dw_hdmi_i2c_read length 128 [ 1.710132] Console: switching to colour frame buffer device 240x67 [ 1.761263] rockchip-drm display-subsystem: fb0: frame buffer device [ 1.767767] usbcore: registered new interface driver udl [ 1.770751] Unable to detect cache hierarchy from DT for CPU 0 [ 1.772918] brd: module loaded [ 1.782538] loop: module loaded [ 1.784026] zram: Added device: zram0 [ 1.784860] lkdtm: No crash points registered, enable through debugfs [ 1.787369] rockchip-spi ff190000.spi: Failed to request TX DMA channel [ 1.788259] rockchip-spi ff190000.spi: Failed to request RX DMA channel [ 1.790120] m25p80 spi32766.0: w25q128 (16384 Kbytes) [ 1.790820] 6 ofpart partitions found on MTD device spi32766.0 [ 1.791581] Creating 6 MTD partitions on "spi32766.0": [ 1.792255] 0x000000000000-0x000000008000 : "system" [ 1.793427] 0x000000008000-0x000000400000 : "loader" [ 1.794544] 0x000000400000-0x0000007c0000 : "reserved" [ 1.795683] 0x0000007c0000-0x000000800000 : "vendor" [ 1.796800] 0x000000800000-0x000000c00000 : "uboot" [ 1.797903] 0x000000c00000-0x000001000000 : "atf" [ 1.801011] rk_gmac-dwmac ff540000.eth: clock input or output? (input). [ 1.801905] rk_gmac-dwmac ff540000.eth: internal PHY? (input). [ 1.802669] rk_gmac-dwmac ff540000.eth: TX delay(0x26). [ 1.803355] rk_gmac-dwmac ff540000.eth: RX delay(0x11). [ 1.804236] rk_gmac-dwmac ff540000.eth: clock input from PHY [ 1.804956] rk_gmac-dwmac ff540000.eth: init for RGMII [ 1.810724] stmmac - user ID: 0x10, Synopsys ID: 0x35 [ 1.811385] Ring mode enabled [ 1.811781] DMA HW capability register supported [ 1.812376] Normal descriptors [ 1.812809] RX Checksum Offload Engine supported (type 2) [ 1.813519] TX Checksum insertion supported [ 1.814061] Wake-Up On Lan supported [ 1.814601] Enable RX Mitigation via HW Watchdog Timer [ 1.896713] libphy: stmmac: probed [ 1.897193] eth%d: PHY ID 001cc915 at 0 IRQ POLL (stmmac-0:00) active [ 1.898008] eth%d: PHY ID 001cc915 at 1 IRQ POLL (stmmac-0:01) [ 1.900140] rk_gmac-dwmac ff550000.eth: clock input or output? (output). [ 1.901040] rk_gmac-dwmac ff550000.eth: internal PHY? (internal). [ 1.901834] rk_gmac-dwmac ff550000.eth: Can not read property: tx_delay. [ 1.902697] rk_gmac-dwmac ff550000.eth: set tx_delay to 0x30 [ 1.903433] rk_gmac-dwmac ff550000.eth: Can not read property: rx_delay. [ 1.904294] rk_gmac-dwmac ff550000.eth: set rx_delay to 0x10 [ 1.905258] rk_gmac-dwmac ff550000.eth: cannot get clock clk_mac_refout [ 1.916571] rk_gmac-dwmac ff550000.eth: init for RMII [ 1.963223] stmmac - user ID: 0x10, Synopsys ID: 0x35 [ 1.974116] Ring mode enabled [ 1.984656] DMA HW capability register supported [ 1.985252] Normal descriptors [ 2.005810] RX Checksum Offload Engine supported (type 2) [ 2.016591] TX Checksum insertion supported [ 2.027154] Wake-Up On Lan supported [ 2.037584] Enable RX Mitigation via HW Watchdog Timer [ 2.222154] libphy: stmmac: probed [ 2.232475] eth%d: PHY ID 1234d400 at 0 IRQ POLL (stmmac-1:00) active [ 2.243003] eth%d: PHY ID 00000000 at 1 IRQ POLL (stmmac-1:01) [ 2.253281] eth%d: PHY ID 00000000 at 2 IRQ POLL (stmmac-1:02) [ 2.263368] eth%d: PHY ID 00000000 at 3 IRQ POLL (stmmac-1:03) [ 2.273233] eth%d: PHY ID 00000000 at 4 IRQ POLL (stmmac-1:04) [ 2.282877] eth%d: PHY ID 00000000 at 5 IRQ POLL (stmmac-1:05) [ 2.292306] eth%d: PHY ID 00000000 at 6 IRQ POLL (stmmac-1:06) [ 2.301526] eth%d: PHY ID 00000000 at 7 IRQ POLL (stmmac-1:07) [ 2.310547] eth%d: PHY ID 00000000 at 8 IRQ POLL (stmmac-1:08) [ 2.319361] eth%d: PHY ID 00000000 at 9 IRQ POLL (stmmac-1:09) [ 2.327975] eth%d: PHY ID 00000000 at 10 IRQ POLL (stmmac-1:0a) [ 2.336485] eth%d: PHY ID 00000000 at 11 IRQ POLL (stmmac-1:0b) [ 2.344996] eth%d: PHY ID 00000000 at 12 IRQ POLL (stmmac-1:0c) [ 2.353517] eth%d: PHY ID 00000000 at 13 IRQ POLL (stmmac-1:0d) [ 2.361874] eth%d: PHY ID 00000000 at 14 IRQ POLL (stmmac-1:0e) [ 2.370074] eth%d: PHY ID 00000000 at 15 IRQ POLL (stmmac-1:0f) [ 2.378123] eth%d: PHY ID 00000000 at 16 IRQ POLL (stmmac-1:10) [ 2.386018] eth%d: PHY ID 00000000 at 17 IRQ POLL (stmmac-1:11) [ 2.393786] eth%d: PHY ID 00000000 at 18 IRQ POLL (stmmac-1:12) [ 2.401511] eth%d: PHY ID 00000000 at 19 IRQ POLL (stmmac-1:13) [ 2.409174] eth%d: PHY ID 00000000 at 20 IRQ POLL (stmmac-1:14) [ 2.416686] eth%d: PHY ID 00000000 at 21 IRQ POLL (stmmac-1:15) [ 2.424036] eth%d: PHY ID 00000000 at 22 IRQ POLL (stmmac-1:16) [ 2.431392] eth%d: PHY ID 00000000 at 23 IRQ POLL (stmmac-1:17) [ 2.438588] eth%d: PHY ID 00000000 at 24 IRQ POLL (stmmac-1:18) [ 2.445643] eth%d: PHY ID 00000000 at 25 IRQ POLL (stmmac-1:19) [ 2.452575] eth%d: PHY ID 00000000 at 26 IRQ POLL (stmmac-1:1a) [ 2.459391] eth%d: PHY ID 00000000 at 27 IRQ POLL (stmmac-1:1b) [ 2.466184] eth%d: PHY ID 00000000 at 28 IRQ POLL (stmmac-1:1c) [ 2.472946] eth%d: PHY ID 00000000 at 29 IRQ POLL (stmmac-1:1d) [ 2.479678] eth%d: PHY ID 00000000 at 30 IRQ POLL (stmmac-1:1e) [ 2.486379] eth%d: PHY ID 00000000 at 31 IRQ POLL (stmmac-1:1f) [ 2.494317] Rockchip WiFi SYS interface (V1.00) ... [ 2.501076] usbcore: registered new interface driver cdc_ether [ 2.507916] usbcore: registered new interface driver rndis_host [ 2.516497] phy phy-ff470000.usb3-phy.2: u3phy u2 power on [ 2.523390] phy phy-ff470000.usb3-phy.3: u3phy u3 power on [ 2.531246] ff580000.usb supply vusb_d not found, using dummy regulator [ 2.538426] ff580000.usb supply vusb_a not found, using dummy regulator [ 2.701353] dwc2 ff580000.usb: DWC OTG Controller [ 2.708176] dwc2 ff580000.usb: new USB bus registered, assigned bus number 1 [ 2.715249] dwc2 ff580000.usb: irq 41, io mem 0x00000000 [ 2.722411] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 [ 2.729493] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber1 [ 2.736640] usb usb1: Product: DWC OTG Controller [ 2.743549] usb usb1: Manufacturer: Linux 4.4.70-rockchip-ayufan-85 dwc2_hsog [ 2.750822] usb usb1: SerialNumber: ff580000.usb [ 2.758717] hub 1-0:1.0: USB hub found [ 2.765655] hub 1-0:1.0: 1 port detected [ 2.773892] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 2.781169] ehci-pci: EHCI PCI platform driver [ 2.788380] ehci-platform: EHCI generic platform driver [ 2.798121] ehci-platform ff5c0000.usb: EHCI Host Controller [ 2.805672] ehci-platform ff5c0000.usb: new USB bus registered, assigned bus2 [ 2.813344] ehci-platform ff5c0000.usb: irq 42, io mem 0xff5c0000 [ 2.826142] ehci-platform ff5c0000.usb: USB 2.0 started, EHCI 1.00 [ 2.833726] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 [ 2.841205] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber1 [ 2.848729] usb usb2: Product: EHCI Host Controller [ 2.856011] usb usb2: Manufacturer: Linux 4.4.70-rockchip-ayufan-85 ehci_hcd [ 2.863621] usb usb2: SerialNumber: ff5c0000.usb [ 2.871830] hub 2-0:1.0: USB hub found [ 2.879197] hub 2-0:1.0: 1 port detected [ 2.887145] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 2.894754] ohci-platform: OHCI generic platform driver [ 2.902683] ohci-platform ff5d0000.usb: Generic Platform OHCI controller [ 2.910680] ohci-platform ff5d0000.usb: new USB bus registered, assigned bus3 [ 2.918610] ohci-platform ff5d0000.usb: irq 43, io mem 0xff5d0000 [ 2.981412] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001 [ 2.989311] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber1 [ 2.997339] usb usb3: Product: Generic Platform OHCI controller [ 3.005355] usb usb3: Manufacturer: Linux 4.4.70-rockchip-ayufan-85 ohci_hcd [ 3.013665] usb usb3: SerialNumber: ff5d0000.usb [ 3.022728] hub 3-0:1.0: USB hub found [ 3.030994] hub 3-0:1.0: 1 port detected [ 3.040536] xhci-hcd xhci-hcd.8.auto: xHCI Host Controller [ 3.049586] xhci-hcd xhci-hcd.8.auto: new USB bus registered, assigned bus n4 [ 3.058733] xhci-hcd xhci-hcd.8.auto: hcc params 0x0220fe64 hci version 0x110 [ 3.067969] xhci-hcd xhci-hcd.8.auto: irq 181, io mem 0xff600000 [ 3.077228] usb usb4: New USB device found, idVendor=1d6b, idProduct=0002 [ 3.086474] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber1 [ 3.095902] usb usb4: Product: xHCI Host Controller [ 3.105226] usb usb4: Manufacturer: Linux 4.4.70-rockchip-ayufan-85 xhci-hcd [ 3.114953] usb usb4: SerialNumber: xhci-hcd.8.auto [ 3.125583] hub 4-0:1.0: USB hub found [ 3.135267] hub 4-0:1.0: 1 port detected [ 3.145496] xhci-hcd xhci-hcd.8.auto: xHCI Host Controller [ 3.155777] xhci-hcd xhci-hcd.8.auto: new USB bus registered, assigned bus n5 [ 3.166263] usb usb5: We don't know the algorithms for LPM for this host, di. [ 3.176894] usb 1-1: new low-speed USB device number 2 using dwc2 [ 3.187645] usb usb5: New USB device found, idVendor=1d6b, idProduct=0003 [ 3.198440] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber1 [ 3.209399] usb usb5: Product: xHCI Host Controller [ 3.220229] usb usb5: Manufacturer: Linux 4.4.70-rockchip-ayufan-85 xhci-hcd [ 3.231482] usb usb5: SerialNumber: xhci-hcd.8.auto [ 3.243633] hub 5-0:1.0: USB hub found [ 3.254876] hub 5-0:1.0: 1 port detected [ 3.268212] usbcore: registered new interface driver iforce [ 3.279906] usbcore: registered new interface driver xpad [ 3.291834] usbcore: registered new interface driver usbtouchscreen [ 3.303942] i2c /dev entries driver [ 3.317988] rk808 1-0018: Pmic Chip id: 0x8050 [ 3.330353] rk808 1-0018: source: on=0x40, off=0x00 [ 3.352312] vcc_sd: supplied by vcc_io [ 3.371014] rk808 1-0018: register rk8050 regulators [ 3.383141] rk808-rtc rk808-rtc: device is disabled [ 3.394521] rk808-rtc: probe of rk808-rtc failed with error -22 [ 3.401141] usb 3-1: new low-speed USB device number 2 using ohci-platform [ 3.417721] rk3x-i2c ff160000.i2c: Initialized RK3xxx I2C bus at ffffff800990 [ 3.430977] IR NEC protocol handler initialized [ 3.442514] IR RC5(x/sz) protocol handler initialized [ 3.454035] IR RC6 protocol handler initialized [ 3.465419] IR JVC protocol handler initialized [ 3.476678] IR Sony protocol handler initialized [ 3.487917] IR SANYO protocol handler initialized [ 3.499203] usb 1-1: New USB device found, idVendor=0461, idProduct=4d15 [ 3.510709] usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0 [ 3.517385] IR Sharp protocol handler initialized [ 3.517398] IR MCE Keyboard/mouse protocol handler initialized [ 3.517408] IR XMP protocol handler initialized [ 3.517589] usbcore: registered new interface driver uvcvideo [ 3.517592] USB Video Class driver (1.1.1) [ 3.521818] rockchip-thermal ff250000.tsadc: Missing tshut mode property, us) [ 3.521829] rockchip-thermal ff250000.tsadc: Missing tshut-polarity property) [ 3.523309] device-mapper: ioctl: 4.34.0-ioctl (2015-10-28) initialised: dm-m [ 3.523328] Bluetooth: Virtual HCI driver ver 1.5 [ 3.523521] Bluetooth: HCI UART driver ver 2.3 [ 3.523528] Bluetooth: HCI UART protocol H4 registered [ 3.523532] Bluetooth: HCI UART protocol LL registered [ 3.523536] Bluetooth: HCI UART protocol ATH3K registered [ 3.523649] usbcore: registered new interface driver bfusb [ 3.523747] usbcore: registered new interface driver btusb [ 3.524058] cpu cpu0: Failed to get cpu_leakage [ 3.526669] sdhci: Secure Digital Host Controller Interface driver [ 3.526673] sdhci: Copyright(c) Pierre Ossman [ 3.526684] Synopsys Designware Multimedia Card Interface Driver [ 3.527934] dwmmc_rockchip ff520000.rksdmmc: IDMAC supports 32-bit address m. [ 3.527971] dwmmc_rockchip ff520000.rksdmmc: Using internal DMA controller. [ 3.527985] dwmmc_rockchip ff520000.rksdmmc: Version ID is 270a [ 3.528058] dwmmc_rockchip ff520000.rksdmmc: DW MMC controller at irq 37,32 o [ 3.546167] mmc_host mmc0: Bus speed (slot 0) = 400000Hz (slot req 400000Hz,) [ 3.557222] dwmmc_rockchip ff520000.rksdmmc: 1 slots initialized [ 3.557782] dwmmc_rockchip ff500000.rksdmmc: IDMAC supports 32-bit address m. [ 3.557809] dwmmc_rockchip ff500000.rksdmmc: Using internal DMA controller. [ 3.557819] dwmmc_rockchip ff500000.rksdmmc: Version ID is 270a [ 3.557868] dwmmc_rockchip ff500000.rksdmmc: DW MMC controller at irq 38,32 o [ 3.558203] dwmmc_rockchip ff500000.rksdmmc: Got CD GPIO [ 3.571172] usb 5-1: new SuperSpeed USB device number 2 using xhci-hcd [ 3.571198] mmc_host mmc1: Bus speed (slot 0) = 400000Hz (slot req 400000Hz,) [ 3.583457] dwmmc_rockchip ff500000.rksdmmc: 1 slots initialized [ 3.583704] sdhci-pltfm: SDHCI platform and OF driver helper [ 3.584223] hidraw: raw HID events driver (C) Jiri Kosina [ 3.584447] usb 5-1: New USB device found, idVendor=0bc2, idProduct=2312 [ 3.584452] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 3.584456] usb 5-1: Product: Expansion [ 3.584460] usb 5-1: Manufacturer: Seagate [ 3.584464] usb 5-1: SerialNumber: NA495NNC [ 3.585815] usbcore: registered new interface driver usbhid [ 3.585817] usbhid: USB HID core driver [ 3.586135] ashmem: initialized [ 3.587368] usbcore: registered new interface driver snd-usb-audio [ 3.588034] rk3328-codec ff410000.codec: spk_depop_time use default value. [ 3.590666] u32 classifier [ 3.590675] Netfilter messages via NETLINK v0.30. [ 3.590729] ip_set: protocol 6 [ 3.590894] Initializing XFRM netlink socket [ 3.591493] NET: Registered protocol family 10 [ 3.592556] NET: Registered protocol family 17 [ 3.592583] NET: Registered protocol family 15 [ 3.592618] bridge: automatic filtering via arp/ip/ip6tables has been deprec. [ 3.592640] Bridge firewalling registered [ 3.592753] Bluetooth: RFCOMM socket layer initialized [ 3.592780] Bluetooth: RFCOMM ver 1.11 [ 3.592794] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 [ 3.592801] Bluetooth: HIDP socket layer initialized [ 3.592848] 8021q: 802.1Q VLAN Support v1.8 [ 3.592879] [WLAN_RFKILL]: Enter rfkill_wlan_init [ 3.593117] [BT_RFKILL]: Enter rfkill_rk_init [ 3.593258] Key type dns_resolver registered [ 3.597109] Registered cp15_barrier emulation handler [ 3.603105] Registered setend emulation handler [ 3.604185] usb 3-1: New USB device found, idVendor=1a2c, idProduct=0002 [ 3.604191] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 3.604195] usb 3-1: Product: USB Keykoard [ 3.604199] usb 3-1: Manufacturer: USB [ 3.606783] registered taskstats version 1 [ 3.606797] Loading compiled-in X.509 certificates [ 3.609131] Btrfs loaded, integrity-checker=on [ 3.609288] BTRFS: selftest: Running btrfs free space cache tests [ 3.609307] BTRFS: selftest: Running extent only tests [ 3.609323] BTRFS: selftest: Running bitmap only tests [ 3.609343] BTRFS: selftest: Running bitmap and extent tests [ 3.609362] BTRFS: selftest: Running space stealing from bitmap to extent [ 3.610301] BTRFS: selftest: Free space cache tests finished [ 3.610305] BTRFS: selftest: Running extent buffer operation tests [ 3.610305] BTRFS: selftest: Running btrfs_split_item tests [ 3.610348] BTRFS: selftest: Running find delalloc tests [ 3.618439] mmc0: MAN_BKOPS_EN bit is not set [ 3.624422] mmc_host mmc0: Bus speed (slot 0) = 200000000Hz (slot req 200000) [ 3.678006] vendor storage:20160801 ret = 0 [ 3.827265] BTRFS: selftest: Running btrfs_get_extent tests [ 3.827469] BTRFS: selftest: Running hole first btrfs_get_extent test [ 3.827500] BTRFS: selftest: Running outstanding_extents tests [ 3.827580] BTRFS: selftest: Running qgroup tests [ 3.827582] BTRFS: selftest: Qgroup basic add [ 3.827647] BTRFS: selftest: Qgroup multiple refs test [ 3.839239] dwmmc_rockchip ff520000.rksdmmc: Successfully tuned phase to 33 [ 3.839486] mmc0: new HS200 MMC card at address 0001 [ 3.839999] mmcblk0: mmc0:0001 NCard 14.5 GiB [ 3.840211] mmcblk0boot0: mmc0:0001 NCard partition 1 4.00 MiB [ 3.840390] mmcblk0boot1: mmc0:0001 NCard partition 2 4.00 MiB [ 3.840563] mmcblk0rpmb: mmc0:0001 NCard partition 3 4.00 MiB [ 3.843475] GPT:Primary header thinks Alt. header is not at the end of the d. [ 3.843479] GPT:10749951 != 30310399 [ 3.843480] GPT:Alternate GPT header not at the end of the disk. [ 3.843482] GPT:10749951 != 30310399 [ 3.843483] GPT: Use GNU Parted to correct GPT errors. [ 3.843516] mmcblk0: p1 p2 p3 p4 p5 p6 p7 [ 4.112060] usb 1-1: Product: USB Optical Mouse [ 4.120033] input: USB Optical Mouse as /devices/platform/ff580000.usb/usb1/0 [ 4.130312] input: USB USB Keykoard as /devices/platform/ff5d0000.usb/usb3/31 [ 4.165284] asoc-simple-card sound: rk3328-hifi <-> ff010000.i2s mapping ok [ 4.172291] asoc-simple-card hdmi-sound: i2s-hifi <-> ff000000.i2s mapping ok [ 4.176311] hid-generic 0003:0461:4D15.0002: input,hidraw0: USB HID v1.11 Mo0 [ 4.185625] asoc-simple-card spdif-sound: dit-hifi <-> ff030000.spdif mappink [ 4.192357] hctosys: unable to open rtc device (rtc0) [ 4.207371] vcc_sd: disabling [ 4.212861] I : [File] : drivers/gpu/arm/mali400/mali/linux/mali_kernel_linu. [ 4.220538] mali-utgard ff300000.gpu: mali_platform_device->num_resources = 9 [ 4.226787] mali-utgard ff300000.gpu: resource[0].start = 0x0x00000000ff30000 [ 4.233050] mali-utgard ff300000.gpu: resource[1].start = 0x0x00000000ff30000 [ 4.239260] mali-utgard ff300000.gpu: resource[2].start = 0x0x000000000000001 [ 4.245437] mali-utgard ff300000.gpu: resource[3].start = 0x0x000000000000002 [ 4.251560] mali-utgard ff300000.gpu: resource[4].start = 0x0x000000000000003 [ 4.257696] mali-utgard ff300000.gpu: resource[5].start = 0x0x000000000000004 [ 4.263832] mali-utgard ff300000.gpu: resource[6].start = 0x0x000000000000005 [ 4.269811] mali-utgard ff300000.gpu: resource[7].start = 0x0x000000000000006 [ 4.275623] mali-utgard ff300000.gpu: resource[8].start = 0x0x000000000000007 [ 4.281387] D : [File] : drivers/gpu/arm/mali400/mali/platform/rk/rk.c; [Lin. [ 4.288306] W : [File] : drivers/gpu/arm/mali400/mali/platform/rk/rk.c; [Lin? [ 4.288869] hid-generic 0003:1A2C:0002.0001: input,hidraw1: USB HID v1.10 Ke0 [ 4.302602] devfreq ff300000.gpu: Couldn't update frequency transition infor. [ 4.310366] Mali: Mali device driver loaded [ 4.311434] input: USB USB Keykoard as /devices/platform/ff5d0000.usb/usb3/32 [ 4.324244] ALSA device list: [ 4.330390] #0: rockchip,rk3328 [ 4.336512] #1: ROCK64 [ 4.342512] #2: SPDIF [ 4.349011] Freeing unused kernel memory: 1152K (ffffff8008f60000 - ffffff80) [ 4.362532] hid-generic 0003:1A2C:0002.0003: input,hidraw2: USB HID v1.10 De1 Loading, please wait... starting version 229 [ 4.396899] random: systemd-udevd: uninitialized urandom read (16 bytes read) [ 4.399504] random: udevadm: uninitialized urandom read (16 bytes read, 25 b) [ 4.399662] random: udevadm: uninitialized urandom read (16 bytes read, 25 b) [ 4.399694] random: udevadm: uninitialized urandom read (16 bytes read, 25 b) [ 4.399770] random: udevadm: uninitialized urandom read (16 bytes read, 25 b) [ 4.399996] random: udevadm: uninitialized urandom read (16 bytes read, 25 b) [ 4.400055] random: udevadm: uninitialized urandom read (16 bytes read, 25 b) [ 4.400354] random: udevadm: uninitialized urandom read (16 bytes read, 25 b) [ 4.400414] random: udevadm: uninitialized urandom read (16 bytes read, 25 b) [ 4.400618] random: udevadm: uninitialized urandom read (16 bytes read, 25 b) [ 4.652631] usb 5-1: UAS is blacklisted for this device, using usb-storage id [ 4.659651] usb-storage 5-1:1.0: USB Mass Storage device detected [ 4.668720] usb-storage 5-1:1.0: Quirks match for vid 0bc2 pid 2312: 800000 [ 4.677532] scsi host0: usb-storage 5-1:1.0 [ 4.685226] usbcore: registered new interface driver usb-storage [ 4.693660] usbcore: registered new interface driver uas Begin: Loading essential drivers ... done. Begin: Running /scripts/init-premount ... done. Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done. Begin: Running /scripts/local-premount ... done. Warning: fsck not present, so skipping root file system [ 4.775862] EXT4-fs (mmcblk0p7): mounted filesystem with writeback data mode) done. Begin: Running /scripts/local-bottom ... done. Begin: Running /scripts/init-bottom ... done. [ 4.904458] systemd[1]: System time before build time, advancing clock. [ 4.927724] systemd[1]: Failed to insert module 'autofs4': No such file or dy [ 4.952928] systemd[1]: systemd 229 running in system mode. (+PAM +AUDIT +SE) [ 4.961505] systemd[1]: Detected architecture arm64. Welcome to Ubuntu 16.04.3 LTS! [ 4.973768] systemd[1]: Set hostname to <rock64>. [ 5.206125] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe. [ OK ] Listening on /dev/initctl Compatibility Named Pipe. [ 5.215678] systemd[1]: Reached target Swap. [ OK ] Reached target Swap. [ 5.225280] systemd[1]: Created slice User and Session Slice. [ OK ] Created slice User and Session Slice. [ 5.234425] systemd[1]: Reached target Encrypted Volumes. [ OK ] Reached target Encrypted Volumes. [ 5.243870] systemd[1]: Listening on udev Control Socket. [ OK ] Listening on udev Control Socket. [ 5.251648] systemd[1]: Reached target User and Group Name Lookups. [ OK ] Reached target User and Group Name Lookups. [ 5.260045] systemd[1]: Started Forward Password Requests to Wall Directory . [ OK ] Started Forward Password Requests to Wall Directory Watch. [ 5.267747] systemd[1]: Listening on Journal Socket (/dev/log). [ OK ] Listening on Journal Socket (/dev/log). [ 5.275304] systemd[1]: Listening on udev Kernel Socket. [ OK ] Listening on udev Kernel Socket. [ 5.282943] systemd[1]: Created slice System Slice. [ OK ] Created slice System Slice. [ 5.290220] systemd[1]: Reached target Remote File Systems (Pre). [ OK ] Reached target Remote File Systems (Pre). [ 5.297462] systemd[1]: Reached target Remote File Systems. [ OK ] Reached target Remote File Systems. [ 5.305064] systemd[1]: Started Trigger resolvconf update for networkd DNS. [ OK ] Started Trigger resolvconf update for networkd DNS. [ 5.312613] systemd[1]: Listening on Journal Socket. [ OK ] Listening on Journal Socket. [ 5.321844] systemd[1]: Starting Set console keymap... Starting Set console keymap... [ 5.337074] systemd[1]: Starting Load Kernel Modules... Starting Load Kernel Modules... [ 5.346444] systemd[1]: Starting Remount Root and Kernel File Systems... Starting Remount Root and Kernel File Systems... [ 5.356731] systemd[1]: Starting Create list of required static device nodes. Starting Create list of required st... nodes for the current kernel... [ 5.366780] systemd[1]: Mounting Debug File System... Mounting Debug File System... [ 5.377645] systemd[1]: Starting Restore / save the current clock... Starting Restore / save the current clock... [ 5.387157] systemd[1]: Started Read required files in advance. [ OK ] Started Read required files in advance. [ 5.397747] systemd[1]: Starting Nameserver information manager... Starting Nameserver information manager... [ 5.404954] systemd[1]: Listening on Syslog Socket. [ OK ] Listening on Syslog Socket. [ 5.411825] systemd[1]: Listening on Journal Audit Socket. [ OK ] Listening on Journal Audit Socket. [ 5.420171] systemd[1]: Starting Journal Service... Starting Journal Service... [ 5.428588] systemd[1]: Started Braille Device Support. [ OK ] Started Braille Device Support. [ 5.438244] systemd[1]: Starting Uncomplicated firewall... Starting Uncomplicated firewall... [ 5.444923] systemd[1]: Reached target Slices. [ OK ] Reached target Slices. [ 5.452325] systemd[1]: Created slice system-serial\x2dgetty.slice. [ OK ] Created slice system-serial\x2dgetty.slice. [ 5.471127] systemd[1]: Mounted Debug File System. [ OK ] Mounted Debug File System. [ 5.478356] systemd[1]: Started Set console keymap. [ OK ] Started Set console keymap. [ 5.485836] systemd[1]: Started Load Kernel Modules. [ OK ] Started Load Kernel Modules. [ 5.493290] systemd[1]: Started Remount Root and Kernel File Systems. [ OK ] Started Remount Root and Kernel File Systems. [ 5.500798] systemd[1]: Started Create list of required static device nodes . [ OK ] Started Create list of required sta...ce nodes for the current kernel. [ 5.509339] systemd[1]: Started Restore / save the current clock. [ OK ] Started Restore / save the current clock. [ 5.516351] systemd[1]: ureadahead.service: Main process exited, code=exitedD [ 5.524253] systemd[1]: ureadahead.service: Unit entered failed state. [ 5.530540] systemd[1]: ureadahead.service: Failed with result 'exit-code'. [ 5.542318] systemd[1]: Started Uncomplicated firewall. [ OK ] Started Uncomplicated firewall. [ 5.550965] systemd[1]: Started Nameserver information manager. [ OK ] Started Nameserver information manager. [ 5.564669] systemd[1]: Time has been changed [ 5.637040] systemd[1]: Started Journal Service. [ OK ] Started Journal Service. [ 5.687221] scsi 0:0:0:0: Direct-Access Seagate Expansion 0636 P6 [ 5.695571] sd 0:0:0:0: [sda] 1953525167 512-byte logical blocks: (1.00 TB/9) [ 5.702183] sd 0:0:0:0: [sda] Write Protect is off [ 5.708537] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, supA [ 5.717635] sda: sda1 sda2 sda3 sda4 [ 5.725844] sd 0:0:0:0: [sda] Attached SCSI disk [ OK ] Reached target Network (Pre). Starting Create Static Device Nodes in /dev... Starting udev Coldplug all Devices... Starting Flush Journal to Persistent Storage... Starting Load/Save Random Seed... Starting Apply Kernel Variables... Mounting FUSE Control File System... Mounting Configuration File System... [ OK ] Started Load/Save Random Seed. [ OK ] Started Create Static Device Nodes in /dev. [ OK ] Mounted Configuration File System. [ OK ] Mounted FUSE Control File System. [ OK ] Started Apply Kernel Variables. [ OK ] Started Flush Journal to Persistent Storage. [ OK ] Reached target Local File Systems (Pre). Starting udev Kernel Device Manager... [ OK ] Started udev Kernel Device Manager. [ OK ] Started udev Coldplug all Devices. [ OK ] Started Dispatch Password Requests to Console Directory Watch. [ OK ] Found device /dev/ttyFIQ0. [ OK ] Found device /dev/disk/by-label/boot. [ OK ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch. Mounting /boot/efi... [ OK ] Reached target Sound Card. [ OK ] Found device /sys/subsystem/net/devices/eth0. [ OK ] Mounted /boot/efi. [ OK ] Reached target Local File Systems. Starting Tell Plymouth To Write Out Runtime Data... Starting Set console font and keymap... Starting Raise network interfaces... [ OK ] Started ifup for eth0. Starting Create Volatile Files and Directories... [ OK ] Started Tell Plymouth To Write Out Runtime Data. [ OK ] Started Create Volatile Files and Directories. [ OK ] Reached target System Time Synchronized. Starting Update UTMP about System Boot/Shutdown... [ OK ] Started Update UTMP about System Boot/Shutdown. [ OK ] Reached target System Initialization. [ OK ] Listening on CUPS Scheduler. [ OK ] Listening on D-Bus System Message Bus Socket. [ 6.871626] rk_gmac-dwmac ff540000.eth: rk_get_eth_addr: rk_vendor_read eth ) [ 6.871651] rk_gmac-dwmac ff540000.eth: rk_get_eth_addr: generate random ethd [ 6.871735] rk_gmac-dwmac ff540000.eth: rk_get_eth_addr: mac address: 32:c4:d [ OK ] Started CUPS Scheduler. [ OK ] Reached target Paths. [ OK ] Started Daily Cleanup of Temporary Directories. [ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket. [ OK ] Reached target Sockets. [ OK ] Reached target Basic System. Starting Bluetooth service... Starting LSB: automatic crash report generation... Starting LSB: Set the CPU Frequency Scaling governor to "ondemand"... [ OK ] Started CUPS Scheduler. Starting LSB: Speech Dispatcher... Starting Save/Restore Sound Card State... Starting Restore /etc/resolv.conf i...re the ppp link was shut down... [ OK ] Started Regular background program processing daemon. Starting Login Service... [ OK ] Started D-Bus System Message Bus. [ OK ] Started Bluetooth service. Starting System Logging Service... Starting Modem Manager... Starting Network Manager... Starting LSB: Start/stop sysstat's sadc... Starting Generate SSH keys if not there... [ OK ] Started Run anacron jobs. Starting Avahi mDNS/DNS-SD Stack... [ OK ] Started Avahi DNS Configuration Daemon. Starting Initializes zram swaping... Starting Accounts Service... Starting Permit User Sessions... [ OK ] Started System Logging Service. [ OK ] Started Set console font and keymap. [ OK ] Started Restore /etc/resolv.conf if...fore the ppp link was shut down. [ OK ] Started Generate SSH keys if not there. [ OK ] Started Permit User Sessions. [FAILED] Failed to start Initializes zram swaping. See 'systemctl status zram-config.service' for details. [ OK ] Started Save/Restore Sound Card State. [ OK ] Started LSB: Speech Dispatcher. [ OK ] Started LSB: Set the CPU Frequency Scaling governor to "ondemand". [ OK ] Started LSB: automatic crash report generation. [ OK ] Started LSB: Start/stop sysstat's sadc. [ OK ] Started Raise network interfaces. [ OK ] Started Avahi mDNS/DNS-SD Stack. [ OK ] Started Network Manager. [ OK ] Started Login Service. Starting Network Manager Script Dispatcher Service... Starting Network Manager Wait Online... Starting Authenticate and Authorize Users to Run Privileged Tasks... [ OK ] Started Make remote CUPS printers available locally. [ OK ] Reached target Network. [ OK ] Started Unattended Upgrades Shutdown. Starting Hostname Service... Starting Light Display Manager... Starting OpenBSD Secure Shell server... [ OK ] Created slice system-getty.slice. [ OK ] Started Network Manager Script Dispatcher Service. [ OK ] Started OpenBSD Secure Shell server. [ OK ] Started Hostname Service. [ OK ] Started Authenticate and Authorize Users to Run Privileged Tasks. [ OK ] Started Accounts Service. [ OK ] Started Light Display Manager. [ 8.243219] rk_gmac-dwmac ff550000.eth: rk_get_eth_addr: mac address: 32:c4:d [ OK ] Started Modem Manager. [ OK ] Created slice User Slice of lightdm. [ OK ] Started Session c1 of user lightdm. Starting User Manager for UID 107... [ OK ] Started User Manager for UID 107. [FAILED] Failed to start Network Manager Wait Online. See 'systemctl status NetworkManager-wait-online.service' for details. [ OK ] Reached target Network is Online. Starting /etc/rc.local Compatibility... [ OK ] Started crash report submission daemon. Starting LSB: disk temperature monitoring daemon... Starting LSB: Start NTP daemon... [ OK ] Started Daily apt download activities. [ OK ] Started Daily apt upgrade and clean activities. [ OK ] Reached target Timers. [ OK ] Started /etc/rc.local Compatibility. [ OK ] Started LSB: disk temperature monitoring daemon. Starting Hold until boot process finishes up... [ OK ] Started Hold until boot process finishes up. [ OK ] Started Getty on tty1. [ OK ] Started Serial Getty on ttyFIQ0. [ OK ] Reached target Login Prompts. Starting Set console scheme... [ OK ] Started LSB: Start NTP daemon. [ OK ] Reached target Multi-User System. [ OK ] Reached target Graphical Interface. [ OK ] Started Stop ureadahead data collection 45s after completed startup. [ OK ] Started TLP system startup/shutdown. Starting Update UTMP about System Runlevel Changes... [ OK ] Started Set console scheme. [ OK ] Started Update UTMP about System Runlevel Changes. Ubuntu 16.04.3 LTS rock64 ttyFIQ0 rock64 login: |
We can now login with rock64/rock64 credentials in the desktop or the serial console:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
Last login: Sun Aug 6 07:36:04 UTC 2017 on ttyFIQ0 Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.70-rockchip-ayufan-85 aarch64) _ __ _ _ _ __ ___ ___| | __/ /_ | || | | '__/ _ \ / __| |/ / '_ \| || |_ | | | (_) | (__| <| (_) |__ _| |_| \___/ \___|_|\_\\___/ |_| * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Sun Aug 6 07:48:04 UTC 2017 System load: 0.0 Processes: 154 Usage of /: 75.2% of 4.80GB Users logged in: 0 Memory usage: 20% IP address for eth0: 192.168.0.113 Swap usage: 0% Graph this data and manage this system at: https://landscape.canonical.com/ 0 packages can be updated. 0 updates are security updates. |
I checkout some infor about CPU, storage, memory usage, and Linux & Ubuntu versions:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
rock64@rock64:~$ cat /proc/cpuinfo processor : 0 BogoMIPS : 48.00 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4 .... Serial : ed973de35684d5e5 rock64@rock64:~$ df -h Filesystem Size Used Avail Use% Mounted on udev 458M 0 458M 0% /dev tmpfs 93M 4.4M 88M 5% /run /dev/mmcblk0p7 4.8G 3.7G 945M 80% / tmpfs 462M 0 462M 0% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 462M 0 462M 0% /sys/fs/cgroup /dev/mmcblk0p6 100M 50M 51M 50% /boot/efi tmpfs 93M 4.0K 93M 1% /run/user/107 tmpfs 93M 0 93M 0% /run/user/1000 rock64@rock64:~$ free -mh total used free shared buff/cache available Mem: 922M 101M 514M 33M 306M 756M Swap: 0B 0B 0B rock64@rock64:~$ uname -a Linux rock64 4.4.70-rockchip-ayufan-85 #1 SMP Fri Aug 4 08:38:41 UTC 2017 aarchx rock64@rock64:~$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=16.04 DISTRIB_CODENAME=xenial DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS" |
I have the 1GB version of the board, and the firmware is based on the latest Ubuntu 16.04.3 LTS release with a fairly recent Linux 4.4.70 kernel. However, we can see that with just 4.8GB capacity the rootfs partition has not been automatically resized during the first boot. So let’s run the relevant script, and check again:
1 2 3 4 5 6 7 8 9 10 11 12 |
sudo resize_rootfs.sh df -h Filesystem Size Used Avail Use% Mounted on udev 458M 0 458M 0% /dev tmpfs 93M 11M 83M 11% /run /dev/mmcblk0p7 14G 3.7G 9.8G 28% / tmpfs 462M 0 462M 0% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 462M 0 462M 0% /sys/fs/cgroup /dev/mmcblk0p6 100M 50M 51M 50% /boot/efi tmpfs 93M 4.0K 93M 1% /run/user/107 tmpfs 93M 0 93M 0% /run/user/1000 |
All good, as we now have a 14GB rootfs partition. It’s worth noting the other scripts in /usr/local/sbin too:
1 2 3 4 |
ls /usr/local/sbin/ armbianmonitor resize_rootfs.sh rock64_fix_performance.sh install_desktop.sh rock64_diagnostics.sh rock64_health.sh install_openmediavault.sh rock64_eth0_stats.sh |
Modules and GPIOs on Rock64
The next step was to check pre-loaded modules and GPIOs:
1 2 3 4 5 6 7 |
rock64@rock64:~$ lsmod Module Size Used by uas 20480 0 usb_storage 61440 1 uas rock64@rock64:~$ ls /sys/class/gpio export gpiochip0 gpiochip32 gpiochip64 gpiochip96 unexport |
Only uas and usb_storage modules are loaded, which shows people are truly focusing on the NAS part right now, or some other drivers are directly built-into the kernel. GPIOs need to be exported manually, and a quick search lead me to that forum post (again no info in the Wiki right now).
You need to convert the gpio pin name as shown in the pinout diagram (e.g. GPIO3_A5) into a raw number using a formula combining bank number (3), pad name (A) and pad number (5). marcushh777, who is also a helpful member on IRC, wrote a Python script to do just that, and you may want to create that script in /usr/local/sbin/name2gpio.sh:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#!/usr/bin/python3 import sys import string pads={"A":0,"B":1,"C":2,"D":3} def convert(value): value = value.upper() bank_num = int(value[4:5], 10) pad_nam = pads[value[6:7]] pad_num = int(value[7:], 10) gpionum = (bank_num * 32) + (pad_nam * 8) + pad_num return gpionum if __name__ == "__main__": args = sys.argv[1:] if not args: print("Usage: %s <bank_reg> ie; GPIO3_A5" % sys.argv[0]) sys.exit(1) print("%d" % convert(args[0])) |
The file is also on Github so you could use wget or curl instead:
1 2 |
sudo wget https://raw.githubusercontent.com/pfeerick/rock64-scripts/master/name2gpio.py -O /usr/local/sbin sudo chmod 755 /usr/local/sbin/name2gpio.sh |
We can now run the script with the GPIO we want to use…
1 2 |
name2gpio.sh gpio3_a5 101 |
… switch to root, then use sysfs to export the gpio number and set the direction, and switch the GPIO to high and low levels:
1 2 3 4 5 |
rock64@rock64:~$ sudo -i root@rock64:~# echo 101 > /sys/class/gpio/export root@rock64:~# echo out > /sys/class/gpio/gpio101/direction root@rock64:~# echo 1 > /sys/class/gpio/gpio101/value root@rock64:~# echo 0 > /sys/class/gpio/gpio101/value |
I connected a 5V LED to GPIO3_A5 pin via a transistor and could turn it on and off with the last two commands above.
Eventually, a PDF document will be uploaded to the Wiki, but it does not appear to be ready yet. I was unable to find info to use I2C or SPI at this stage.
GPU (OpenGL ES) and VPU (Video Decoding) Testing
GPU and VPU support are often problems in Linux on ARM, and while I had low expectation, I still tried those by installing the usual OpenGL ES demo to test Mali GPU support:
1 |
sudo apt install mesa-utils-extra glmark2-es2 |
I ran es2info first, and Mali-450MP GPU support is indeed enabled:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
ock64@rock64:~$ cat gpu es2_info EGL_VERSION: 1.4 Linux-r7p0-00rel0 EGL_VENDOR: ARM EGL_EXTENSIONS: EGL_KHR_image, EGL_KHR_image_base, EGL_KHR_image_pixmap, EGL_EXT_image_dma_buf_import, EGL_KHR_gl_texture_2D_image, EGL_KHR_gl_texture_cubemap_image, EGL_KHR_gl_renderbuffer_image, EGL_KHR_reusable_sync, EGL_KHR_fence_sync, EGL_KHR_swap_buffers_with_damage, EGL_EXT_swap_buffers_with_damage, EGL_KHR_lock_surface, EGL_KHR_lock_surface2, EGL_EXT_create_context_robustness, EGL_ANDROID_blob_cache, EGL_KHR_create_context, EGL_KHR_partial_update, EGL_KHR_create_context_no_error EGL_CLIENT_APIS: OpenGL_ES GL_VERSION: OpenGL ES 2.0 GL_RENDERER: Mali-450 MP GL_EXTENSIONS: GL_OES_texture_npot, GL_OES_vertex_array_object, GL_OES_compressed_ETC1_RGB8_texture, GL_EXT_compressed_ETC1_RGB8_sub_texture, GL_OES_standard_derivatives, GL_OES_EGL_image, GL_OES_depth24, GL_ARM_rgba8, GL_ARM_mali_shader_binary, GL_OES_depth_texture, GL_OES_packed_depth_stencil, GL_EXT_texture_format_BGRA8888, GL_OES_vertex_half_float, GL_EXT_blend_minmax, GL_OES_EGL_image_external, GL_OES_EGL_sync, GL_OES_rgb8_rgba8, GL_EXT_multisampled_render_to_texture, GL_EXT_discard_framebuffer, GL_OES_get_program_binary, GL_ARM_mali_program_binary, GL_EXT_shader_texture_lod, GL_EXT_robustness, GL_OES_depth_texture_cube_map, GL_KHR_debug, GL_ARM_shader_framebuffer_fetch, GL_ARM_shader_framebuffer_fetch_depth_stencil, GL_OES_mapbuffer, GL_KHR_no_error Segmentation fault (core dumped) |
That command ended in a segfault however. Not too reassuring.
So I ran es2gears demo, but could not take a screenshot, as all screenshots were black with only the mouse pointer showing up, so instead I some photos, and it works, but the transparent window is unlikely to be normal.
Performance does not appear to be optimal right now however with just around 35 fps.
glmark2-es2 demo started well too…
… but some features are not supported (maybe normal), and it crashed at the end as shown in full log below:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
glmark2-es2 ======================================================= glmark2 2014.03+git20150611.fa71af2d ======================================================= OpenGL Information GL_VENDOR: ARM GL_RENDERER: Mali-450 MP GL_VERSION: OpenGL ES 2.0 ======================================================= [build] use-vbo=false: FPS: 22 FrameTime: 45.455 ms [build] use-vbo=true: FPS: 21 FrameTime: 47.619 ms [texture] texture-filter=nearest: FPS: 23 FrameTime: 43.478 ms [texture] texture-filter=linear: FPS: 33 FrameTime: 30.303 ms [texture] texture-filter=mipmap: FPS: 31 FrameTime: 32.258 ms [shading] shading=gouraud: FPS: 31 FrameTime: 32.258 ms [shading] shading=blinn-phong-inf: FPS: 26 FrameTime: 38.462 ms [shading] shading=phong: FPS: 25 FrameTime: 40.000 ms [shading] shading=cel: FPS: 24 FrameTime: 41.667 ms [bump] bump-render=high-poly: FPS: 32 FrameTime: 31.250 ms [bump] bump-render=normals: FPS: 32 FrameTime: 31.250 ms [bump] bump-render=height: FPS: 26 FrameTime: 38.462 ms [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 24 FrameTime: 41.667 ms [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 21 FrameTime: 47.619 ms [pulsar] light=false:quads=5:texture=false: FPS: 30 FrameTime: 33.333 ms [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 22 FrameTime: 45.455 ms [desktop] effect=shadow:windows=4: FPS: 27 FrameTime: 37.037 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 24 FrameTime: 41.667 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 24 FrameTime: 41.667 ms [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 25 FrameTime: 40.000 ms [ideas] speed=duration: FPS: 27 FrameTime: 37.037 ms [jellyfish] : FPS: 27 FrameTime: 37.037 ms Error: SceneTerrain requires Vertex Texture Fetch support, but GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0 [terrain] : Unsupported [shadow] : FPS: 24 FrameTime: 41.667 ms Error: DistanceRenderTarget::setup: glCheckFramebufferStatus failed (0x8cd6) Error: Failed to set up the render target for the depth pass [refract] : Set up failed [conditionals] fragment-steps=0:vertex-steps=0: FPS: 32 FrameTime: 31.250 ms [conditionals] fragment-steps=5:vertex-steps=0: FPS: 28 FrameTime: 35.714 ms [conditionals] fragment-steps=0:vertex-steps=5: FPS: 26 FrameTime: 38.462 ms [function] fragment-complexity=low:fragment-steps=5: FPS: 25 FrameTime: 40.000 ms [function] fragment-complexity=medium:fragment-steps=5: FPS: 25 FrameTime: 40.000 ms [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 30 FrameTime: 33.333 ms [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 31 FrameTime: 32.258 ms [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 25 FrameTime: 40.000 ms ======================================================= glmark2 Score: 26 ======================================================= [xcb] Unknown request in queue while appending request [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called [xcb] Aborting, sorry about that. glmark2-es2: ../../src/xcb_io.c:165: append_pending_request: Assertion `!xcb_xlib_unknown_req_pending' failed. Aborted (core dumped) |
The results are actually better than I expected, but there’s still some work.
I tried to play 1080p60 H.264 Big Buck Bunny video with VideoLAN (VLC) first, and all I got was the first frame with changing artifacts around the bufferfly, and I had somewhat better luck in SMPlayer with the video playing almost smoothly in windowed mode, and some saturated and accelerated audio. Switching to full screen mode would just show a black screen, until I was asked to signing again a few seconds later…
So video playback is basically unusable at this stage in the Ubuntu MATE image, and you’d better go with Android, or potentially LibreELEC currently released as alpha for ROCK64 board. LongChair also told me in IRC that “we have ffmpeg / mpv working on rock64 … we need to do more testing and get a few bugs fixed by rockchip before I finally upstream that to ffmpeg / mpv”, so video support is definitely coming. It’s just not ready yet. Another person informed me that contrary to Amlogic, Rockchip does not use AFBC (ARM Frame Buffer Compression) natively, and the memory bandwidth is critical, 4K H.265 HDR videos may not always play that well in RK3328. I’ve been told it may take one to two more months for 4K support in Linux, and that 1080p is now supported but not released just yet in the Ubuntu image.
Storage and Networking Benchmarks
I’ll skip the Phoronix benchmarks in this review, as we’ve had so many ARM Cortex A53 platform the results won’t be much better, unless there’s a bug, which would eventually be fixed. Instead, I’ll focus on storage and network performance on Rock64, since it may vary between boards.
Those are the results for the 16GB eMMC flash module:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
rock64@rock64:~$ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone: Performance Test of File I/O Version $Revision: 3.429 $ Compiled for 64 bit mode. Build: linux Run began: Mon Aug 7 07:57:03 2017 Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 102400 kB Record Size 4 kB Record Size 16 kB Record Size 512 kB Record Size 1024 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 3739 3983 13670 13529 10040 3286 102400 16 14691 16617 42836 41817 32541 13525 102400 512 61160 62555 104573 105080 103194 57375 102400 1024 65257 66834 88161 87493 107791 62274 102400 16384 68368 69154 115801 115543 116806 69463 |
Up to ~115 MB/s read speed, and ~69 MB/s write speed, and good random I/O too. For reference, Ubuntu boots in 17 seconds from power on to the login screen.
I then tried to create the iozone test on the NTFS partition of my hardware, but it failed because NTFS is read-only.
1 2 3 4 |
/dev/sda3 on /media/rock64/USB3_EXFAT type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2) /dev/sda2 on /media/rock64/USB3_EXT4 type ext4 (rw,nosuid,nodev,relatime,data=ordered,uhelper=udisks2) /dev/sda4 on /media/rock64/USB3_BTRFS type btrfs (rw,nosuid,nodev,relatime,space_cache,subvolid=5,subvol=/,uhelper=udisks2) /dev/sda1 on /media/rock64/USB3_NTFS type ntfs (ro,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0177,dmask=077,nls=utf8,errors=continue,mft_zone_multiplier=1,uhelper=udisks2) |
That can happen because of file system error, or because the image using the NTFS kernel module that provides read-only access only. So I installed ntfs-3g instead:
1 |
sudo apt install ntfs-3g |
and remounted the drive inside the file manager in the desktop.
1 2 |
mount | grep sda1 /dev/sda1 on /media/rock64/USB3_NTFS type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2) |
You can see the type is now “fuseblk” instead of “ntfs” – meaning the userspace ntfs-3g driver is used – , and the partition mounted as read/write. So I could run iozone on the NTFS partition:
1 2 3 4 5 6 7 8 |
rock64@rock64:/media/rock64/USB3_NTFS$ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 10370 12576 35152 36719 45856 9476 102400 16 27991 35766 119034 85545 110793 26933 102400 512 63171 69174 218638 277927 278086 60380 102400 1024 36862 73739 220764 271545 273047 60054 102400 16384 55000 67898 248506 271069 270885 56848 |
Something is clearly wrong with the read speed: up 271 MB/S is not right, as it’s much higher than what my USB drive is capable of (~115 MB/s) on my main PC. That means caching must be involved here, so I’ve increased the file size to 500 MB in the test:
1 2 3 4 5 6 7 8 |
rock64@rock64:/media/rock64/USB3_NTFS$ iozone -e -I -a -s 500M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 512000 4 11829 13527 32656 56827 1752 1454 512000 16 31523 37165 70412 99561 4798 9507 512000 512 75751 77231 119035 135740 60399 41423 512000 1024 92341 95392 104966 105620 47227 64270 512000 16384 91866 97065 102748 107358 168563 91517 |
and the results are much more realistic, except for the random read with 16384 reclen. It shows up to 119 MB/s reads, and up to 92 MB/s writes, which means everything is working as expected. So I repeated the test with the EXT-4 partition:
1 2 3 4 5 6 7 8 |
rock64@rock64:/media/rock64/USB3_EXT4$ iozone -e -I -a -s 500M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 512000 4 8047 10869 11790 13360 439 228 512000 16 29448 36252 40357 41231 1652 1125 512000 512 70047 85427 96046 96639 11018 20149 512000 1024 92463 94148 89365 96762 20271 31251 512000 16384 86057 94764 93612 96066 64444 84218 |
The results are a bit lower at 96 MB/s read and 94 MB/s write, but still pretty good for a mechanical drive over USB 3.0. It should be noted that performance decreases the closer you are from the center of the drive. The NTFS partition in the first quarter, and the EXT-4 in the second quarter of the drive, and I got 108 MB/s with the first partition (NTFS) and 96 MB/s with the second partition (EXT-4) using “Disks” utility in Ubuntu when I first bought the drive. Other people have reached close to 400 MB/s with SSDs over the USB 3.0 port of ROCK64 board, but for most people getting to around 100 MB/s should be enough for their data.
Finally I tested Gigabit Ethernet by doing the usual full duplex test with iperf:
1 2 3 4 5 6 7 8 9 10 |
sudo apt install iperf iperf -t 60 -c 192.168.0.104 -d Client connecting to 192.168.0.113, TCP port 5001 TCP window size: 204 KByte (default) ------------------------------------------------------------ [ 6] local 192.168.0.104 port 51540 connected with 192.168.0.113 port 5001 [ ID] Interval Transfer Bandwidth [ 6] 0.0-60.0 sec 3.97 GBytes 568 Mbits/sec [ 4] 0.0-60.0 sec 4.72 GBytes 675 Mbits/sec |
That’s OK, but not overwhelming, maybe it will improve with a more recent kernel as with some other platforms. I also did a download-only test with iperf3, and it could do so at around 933 Mbps:
1 2 3 4 5 |
rock64@rock64:~$ iperf3 -t 60 -c 192.168.0.104 -R - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-60.00 sec 6.52 GBytes 933 Mbits/sec 137 sender [ 4] 0.00-60.00 sec 6.51 GBytes 933 Mbits/sec receiver |
No problem here with very good performance.
Pine64 has started to ship the first batch of board, so there will soon be more feedback from users. From my experience with Linux, you should be good to go if you want to build a NAS for example with their Debian OpenMediaVault image with good performance for Ethernet and USB 3.0, and use GPIOs with sysfs. If your project requires I2C & SPI drivers you may want to wait, and for multimedia use in Linux, 1080p support should be mostly ready, but 4K videos support may need a few more weeks or months, and good OpenGL ES performance may take more time too. Documentation is also work in progress right now, as I had search quite a bit to find how to use various features of the board like the serial console and GPIOs, but you can help from the forums, and #Rock64 IRC channel (if you are using an IRC client, disable SSL). I’m expecting things to improve over time as more people get their hands on the boards.
You can purchase ROCK64 board with 1, 2 or 4 GB RAM for $25 and up, as well as accessories directly on Pine64 website. The second batch of board is scheduled to ship on August 30th.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
@cnxsoft:
Wrt HDD performance: “It should be noted that performance decreases the further away you are from the center of the drive” — it’s the opposite, the outer tracks are usually faster since more data can be read during one one rotation due to more sectors on the outer tracks than on the inner ones.
When using FUSE/ntfs-3g iozone’s -I parameter is obviously ignored: -I –> Use DIRECT IO if possible for all file operations. Tells the filesystem that all operations to the file are to bypass the buffer cache and go directly to disk so all numbers are heavily affected by caching/buffering.
BTW: I don’t think that current ROCK64 development really focuses on NAS/OMV use cases, it’s just that we’ve reached in this area already 99% of what’s possible with the hardware (there are one or two minor USB3 quirks that need a fix but besides that ROCK64 as ‘single disk NAS’ performs as fast as any beefy x86 box or any other ARM NAS device limited by Gigabit Ethernet). I’m really looking forward to be able to use RK3328 as media player too but as far as I understood (being a total noob here) this will still take some time until all issues are resolved.
Current LibreELEC work is aimed more generally at RK3328 support (not specifically Rock64 or the Tinkerboard) with the intention of having something sorted for Kodi Leia in ~6 months time. Development so far has been done with Krypton, but a rebase against Leia is now starting. So far progress has been rapid thanks to diligent work from LongChair/Kwiboo and great support from a small group of RK staff who feed them weekly updates against an evolving issue list. Current state is still closer to “technical proof of concept” than “alpha” and definitely not “beta” which implies a completed codebase with minor finishing required. We expect the next phase to go slower; complex code needs to be written and multiple efforts from AML, RK, FFmpeg, Kodi, etc. need to be aligned as we push onwards towards mainline kernels and V4L2 support (SoC vendors need to get their arses about V4L2 drivers). Fun times are ahead 🙂
@tkaiser
Yes correct. Linear speed increase further from the center with a constant angular speed. This reminds of when I got my first CD writer, as the writing speed was not constant over time. I’ve updated the post accordingly.
About NAS cases, I was told in IRC that not much had been done on the desktop side. So let’s say the focus was on server / headless use cases first. But many people are working on the board in parallel, so everything is moving in the right direction.
Rock64 is good competitor at this price to H6 device :
Gigabit + Fast ethernet.
USB3 for fast storage.
H264/H265 hw encoder (for cam ip recording and displaying remotely).
If the mali 450 driver will be handle (webkit hw acceleration) by icecat or chromium, maybe a good desktop…
I think i wiil buy this board instead waiting next H6 or RK3399 dev board
the board has 100 MB efi partition, half full already, and still uses uboot. what’s in those 50MB? Is Rockchip working on edk2 porting?
Is it possible to install the Rock64 Ubuntu or Debian Linux images on TV boxes such as the Z28 or A95X R2 which also use the RK3328?
The “efi partition” is EFI in name only (partition type). As noted, the board uses Uboot, not EFI. The partition appears only on the community image. Rockchip typically use MTD instead of GPT to define partitions. It is simply a way of expressing reserved system space (kernel, device tree) that is compatible with other systems. MTD is suitable for fixed media devices like tablets, phones, etc. However, for a removable SD card, a common partition table such a MBR or GPT allows other devices to easily read/write it.
TL;DR = the EFI partition is a “convenience” feature, not a system feature.
The crappy glmark2-es2 scores are currently common to all Rockchip platforms using X11. The reason is two-fold: The images usually 1) have compositing enabled and 2) use a Rockchip customized X11 server with glamour rendering. In my experiments, I was able to achieve 160fps+ in glmark2-es2 using a customized X11 driver with compositing disabled.
I am actually fond of the ROCK64 board. It has a lot of potential. There is also community engagement from the vendor (Pine) responding to issues developers face. This places it above “something Pi” boards flooding the market like orphan tribbles. The board is genuinely “fun” for development because there is a great deal of lower level documentation from Rockchip’s open source efforts.
(Disclaimer: I received an evaluation board)
Hmm. Is that the first RK with a r0p4 revision of A53?
To quote Kever, the responsible RK engineer being in touch with open source community: ‘what we are actually after is UEFI boot’. There’s a sufficient amount of SPI NOR flash on the board and final goal is to have all the necessary bootloader stuff there in (SPL, FIT, ATF, U-Boot/Tianocore, DT) to be able to boot any device agnostic 64-bit ARM image out there.
I believe you know ARM’s André? If so you should drop him a short note and ask about progress and implementation ideas.
Huh? Cut&paste leftover from an essay I tried to write just to give up on it since it’s better to ask @apritzel instead 🙂
I just got a test version for a RK miniloader that supports u-boot on SPI flash for RK3328. A while back I added support for the SPI flash to the Rock64 BSP devicetree and kernel to start some early experiments for booting from SPI, which would enable more flexible handling of eMMC and SD-Cards as well as new features like booting from network and USB. I will continue now with that and see if we have all of the pieces to move to SPI as a primary boot option, probably also using mainline u-boot. Last info I got from RK on an open u-boot SPL was that it should be ready for release by end of August, so this miniloader based approach is probably only a short term stopgap measure.
this is very interesting news, thank you for sharing your experiences – I’m after a small profile board which will support hardware accelerated 1080p video playback from a few different streaming IP cameras, so I can monitor hard to see spots in my business (and check if people are shoplifting). Potentially I’d also like to use it to run Chrome and watch youtube 1080p videos to replace my desktop. I’ve been trialling an Amlogic S905X chipset media player running Armbian, but there is no desktop video acceleration support as yet.
@gizmomelb
If you want video acceleration in a desktop OS, you may want to check out ODROID-C2 board. YouTube videos may be a separate issue.
For your use case, it might be better to just buy an NVR system.
@gizmomelb
I would suggest an Odroid XU4. It has a hardware accelerated X11 driver. It also has a hardware accelerated video decoder and hardware accelerated video scaler (both through V4L/Gstreamer).
With any ARM board, I doubt you will find anything that does exactly what you want “out of the box”. Some research and effort will likely be required. This is mainly due to the state of graphics on Linux. I do not use Android so I can not comment on what features/software is does or does not support.
And in the meantime ROCK64’s NAS sibling is on its way: https://forum.openmediavault.org/index.php/Thread/20301-OMV-for-ROCK64-and-other-RK3328-devices-soon/?postID=161507#post161507
@tkaiser
They left the HDMI port, so that will be a dual use device: mini NAS, or TV box with HDD.
I can see they’ll use Popcorn Hour brand for the Transformer, so that makes sense.
@cnxsoft
Yes, this Transformer can be used as a normal Android TV box, a performant Linux NAS or Nextcloud box and most probably also something in between, be it an Android box that does perform well as NAS (settings matter) or a Linux box with KODI on top.
I don’t follow progress closely but AFAIK it looks pretty promising wrt KODI/Linux on RK3328 devices (people should search for LongChair/Kwiboo efforts on the subject) and it’s also easy to tweak the NAS part when running Android. Most simple approach would be to use ayufan’s community Android builds since they contain the necessary tweaks like better cpufreq and IRQ affinity settings and of course the few Samba config tweaks to let GbE boxes exceed +100MB/s with SMB traffic between Windows clients and the ‘NAS’:
@tkaiser
Nice! A dual-use NAS / ARM desktop is something I’ve been curious about for a while.
@blu
Hmm… but everything you can do with the Transformer you can also do with a ROCK64 (or any RK3328 device with same features eg. Alfawise Z28 Pro). The main differences are simply that the Transformer has been built based on community feedback/experiences somewhat focusing on the NAS use case eliminating the most common hardware issues users run into. IMO that’s the whole list of Transformer features:
– Avoiding USB3 cable/contact hassles by putting the USB-SATA bridge on the PCB
– Choosing a good and UAS capable USB-SATA bridge so both great performance and no troubles with storage access
– Avoiding underpowering issues by bundling an appropriate PSU with reasonable ratings (3A)
– Hacking friendly by allowing all possible boot sources
– Hacking friendly by being 100% compatible to ROCK64 so all community based OS images will run here too
– Enclosure providing excellent heat dissipation though that’s IMO not a problem with RK3328 anyway
I hope such fat 2TB 2,5″ hdd wil fit in the enclosure. Looks nice and neat, hopefully not to expensive.
@tkaiser
From my perspective, it’s the community OS support, functional GPU & nice amount of RAM, and the good usb-sata bridge that make the greatest difference; the good enclose thermals being a bonus.
@tkaiser
Any idea the ethernet daughter board of the rock64 can be used on the “transformer”?
Pine64 – rockpro64 default user and login – I was just in my Armbian OS and did a reboot and at the pre-login it is asking for a Login and Password and the info I createed for Armbian is NOT working. Does anyone know what the default login and pw is for the RockPro64 4TB board running Armbian OS…..???
Unless I’m mistaken, on Armbian it’s root/1234 normally.