Skip to content

ROCKPro64 - Ayufan's Images vs. Armbian

ROCKPro64
  • Was haben wir?

    Ayufan

    Kamil bietet eine Menge verschiedener Images an. Die Übersicht findet ihr hier .

    Da Kamil auf dem bionic-minimal entwickelt, ist das in meinen Augen das Stabilste.

    Außerdem bietet er zwei Kernel Versionen an.

    Den 4.20 bitte nicht benutzen, da ist das dts File Schrott. Ich habe keine Ahnung warum Kamil das veröffentlicht, wenn nichts funktioniert!?

    Armbian

    Armbian bietet zwei Images zur Zeit an.

    • Armbian Bionic (ein Ubuntu Desktop) 4.4.y
    • Armbian Stretch (Debian Serverversion) 4.4.y

    Also eine Desktop-Version und eine Serverversion. Die Nightly Version gibt folgendes aus.

     Welcome to ARMBIAN 5.67.181213 nightly Debian GNU/Linux 9 (stretch) 4.4.166-rockchip64   
    

    Vergleich

    Kann man das jetzt vergleichen? Schwierig, aber ich versuche das mal aus dem Blickwinkel eines Anwenders.

    Armbian hat zwei sehr interessante Vorteile aktuell. Das sind zwei Scripte, die es vor allen Dingen Einsteigern leichter machen.

    Das erste dient zum Einstellen von allen möglichen Funktionen auf dem Board. Das zweite dient dazu, die Installation auf eine USB-HDD, eine SATA-HDD oder eine PCIe-NVMe-SSD zu bringen.

    Ich habe hier aktuell zwei ROCKPro64 mit Armbian laufen.

    • ROCKPro64 v2.1 2GB mit PCIe-NVMe-SSD (root), SD-Karte (boot), USB-HDD (data) [Sys1]
    • ROCKPro64 v2.0 4GB mit USB 3.1 Stick (root), SD-Karte (boot) [Sys 2]

    Beide laufen auf der letzten Nightly-Version absolut stabil. Der erste kümmert sich Nachts um Backups. Diese werden auf eine USB-HDD am USB3-Port geschrieben. Unter Kamils Images bekam ich da ständig Fehler im dmesg (endpoint...). Leider so nicht nutzbar. Unter Armbian läuft das ohne Probleme.

    Sys 1

    USB3-HDD (2,5 Zoll mechanisch, pine64 Adapter)

    frank@armbian:/mnt/backup$ sudo dd if=/dev/zero of=sd.img bs=1M count=4096 conv=fdatasync
    [sudo] Passwort für frank: 
    4096+0 Datensätze ein
    4096+0 Datensätze aus
    4294967296 Bytes (4,3 GB, 4,0 GiB) kopiert, 38,4846 s, 112 MB/s
    

    Rootsystem 960 EVO 250GB

    frank@armbian:~$ dd if=/dev/zero of=sd.img bs=1M count=4096 conv=fdatasync
    4096+0 Datensätze ein
    4096+0 Datensätze aus
    4294967296 Bytes (4,3 GB, 4,0 GiB) kopiert, 10,4067 s, 413 MB/s
    

    Und mit iozone

    frank@armbian:~$ sudo 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 
    
    	Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
    	             Al Slater, Scott Rhine, Mike Wisner, Ken Goss
    	             Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
    	             Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
    	             Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
    	             Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
    	             Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
    	             Vangel Bojaxhi, Ben England, Vikentsi Lapa.
    
    	Run began: Mon Dec 17 09:39:59 2018
    
    	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    81607   116616   103474   116901    47254    88551                                                          
              102400      16   194153   277302   325816   326089   170661   274580                                                          
              102400     512   946236   976213   884237   867914   737332   998820                                                          
              102400    1024  1007972  1066045   907937   908226   825566  1045686                                                          
              102400   16384  1164681  1222640  1160792  1161918  1148409  1216002                                                          
    
    iozone test complete.
    

    Sys 2

    USB 3.1 Stick Corsair GTX am USB3 Port

    frank@armbian_v2:~$ dd if=/dev/zero of=sd.img bs=1M count=4096 conv=fdatasync
    4096+0 Datensätze ein
    4096+0 Datensätze aus
    4294967296 Bytes (4,3 GB, 4,0 GiB) kopiert, 13,067 s, 329 MB/s
    

    und mit iozone

    frank@armbian_v2:~$ sudo iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 
    [sudo] Passwort für frank: 
    	Iozone: Performance Test of File I/O
    	        Version $Revision: 3.429 $
    		Compiled for 64 bit mode.
    		Build: linux 
    
    	Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
    	             Al Slater, Scott Rhine, Mike Wisner, Ken Goss
    	             Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
    	             Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
    	             Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
    	             Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
    	             Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
    	             Vangel Bojaxhi, Ben England, Vikentsi Lapa.
    
    	Run began: Mon Dec 17 09:47:37 2018
    
    	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    26194    30367    35838    35633    19020    14192                                                          
              102400      16    82127    93832   121197   121433    69124    39366                                                          
              102400     512   286335   319648   316854   320232   231133   297216                                                          
              102400    1024   280997   335673   352453   352479   273345   325084                                                          
              102400   16384   301802   359713   330482   330071   333978   361110                                                          
    
    iozone test complete.
    

    Fazit

    Da ich aktuell mit Armbian am USB3-Port keine Probleme habe, ist das meine erste Wahl im Moment. Wer natürlich einen aktuellen Kernel (4.19.y) benötigt, muss Kamil sein Image nutzen. Die Nightly Versionen sind für den normalen Anwender auch nicht zu empfehlen, da bleibt man lieber auf Stable.

    Das schöne ist im Moment, das wir die Wahl haben! Kamil ist ja schon länger nicht mehr sehr aktiv und bringt dann Kernel Versionen raus (4.20), die die Sache nur verschlechtern (PCIe).

    Was ich fast vergessen hätte, und Armbian bootet sauber von USB3, da gibt es ja beim Kamil das ein oder andere Problem.

    Also von mir im Moment eine klare Empfehlung für Armbian!

  • Das Resize-Problem der Partition, nachdem man das System auf einer USB3-HDD installiert hat, ist in

    Welcome to ARMBIAN 5.67.181217 nightly Debian GNU/Linux 9 (stretch) 4.4.167-rockchip64   
    

    gefixt. Eine echte Verbesserung!

2/2

23. Dez. 2018, 08:56

  • Kernel 6.0.0-rc7

    ROCKPro64 27. Sept. 2022, 03:28
    0 Stimmen
    2 Beiträge
    159 Aufrufe

    Geht 🙂

    fb1bc176-5c57-48bf-8d75-1834b5548552-grafik.png

    Link Preview Image Releases · ayufan-rock64/linux-mainline-kernel

    Linux kernel source tree. Contribute to ayufan-rock64/linux-mainline-kernel development by creating an account on GitHub.

    favicon

    GitHub (github.com)

    Altes Image installieren, die zwei .deb Files vom Kamil herunterladen.

    dpkg -i *.deb

    und neustarten.

    Und hochgezogen auf Debian Bullseye

    root@rockpro64:~# cat /etc/debian_version 11.5
  • ROCKPro64 - Kernel switchen

    Verschoben ROCKPro64 27. Mai 2019, 20:38
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet
  • Kernel 4.4.x

    Angeheftet Images 9. Aug. 2018, 19:55
    0 Stimmen
    45 Beiträge
    4k Aufrufe

    4.4.202-1237-rockchip-ayufan released

    PATCH: kernel 4.4.201-202
  • Bionic Minimal 0.7.8

    ROCKPro64 22. Juli 2018, 07:09
    0 Stimmen
    2 Beiträge
    577 Aufrufe

    Testin Testing

  • Mainline Kernel 4.18.0-rc3

    Linux 3. Juli 2018, 19:46
    0 Stimmen
    1 Beiträge
    965 Aufrufe
    Niemand hat geantwortet
  • NAS/Server/Desktop Gehäuse

    Hardware 28. Juni 2018, 19:49
    0 Stimmen
    6 Beiträge
    2k Aufrufe

    Nettes Video

  • ROCKPro64 - Wo stehen wir?

    ROCKPro64 24. Juni 2018, 08:26
    0 Stimmen
    1 Beiträge
    617 Aufrufe
    Niemand hat geantwortet
  • stretch-minimal-rockpro64

    Verschoben Linux 22. Mai 2018, 14:12
    0 Stimmen
    3 Beiträge
    1k Aufrufe

    Mal ein Test was der Speicher so kann.

    rock64@rockpro64:~/tinymembench$ ./tinymembench tinymembench v0.4.9 (simple benchmark for memory throughput and latency) ========================================================================== == Memory bandwidth tests == == == == Note 1: 1MB = 1000000 bytes == == Note 2: Results for 'copy' tests show how many bytes can be == == copied per second (adding together read and writen == == bytes would have provided twice higher numbers) == == Note 3: 2-pass copy means that we are using a small temporary buffer == == to first fetch data into it, and only then write it to the == == destination (source -> L1 cache, L1 cache -> destination) == == Note 4: If sample standard deviation exceeds 0.1%, it is shown in == == brackets == ========================================================================== C copy backwards : 2812.7 MB/s C copy backwards (32 byte blocks) : 2811.9 MB/s C copy backwards (64 byte blocks) : 2632.8 MB/s C copy : 2667.2 MB/s C copy prefetched (32 bytes step) : 2633.5 MB/s C copy prefetched (64 bytes step) : 2640.8 MB/s C 2-pass copy : 2509.8 MB/s C 2-pass copy prefetched (32 bytes step) : 2431.6 MB/s C 2-pass copy prefetched (64 bytes step) : 2424.1 MB/s C fill : 4887.7 MB/s (0.5%) C fill (shuffle within 16 byte blocks) : 4883.0 MB/s C fill (shuffle within 32 byte blocks) : 4889.3 MB/s C fill (shuffle within 64 byte blocks) : 4889.2 MB/s --- standard memcpy : 2807.3 MB/s standard memset : 4890.4 MB/s (0.3%) --- NEON LDP/STP copy : 2803.7 MB/s NEON LDP/STP copy pldl2strm (32 bytes step) : 2802.1 MB/s NEON LDP/STP copy pldl2strm (64 bytes step) : 2800.7 MB/s NEON LDP/STP copy pldl1keep (32 bytes step) : 2745.5 MB/s NEON LDP/STP copy pldl1keep (64 bytes step) : 2745.8 MB/s NEON LD1/ST1 copy : 2801.9 MB/s NEON STP fill : 4888.9 MB/s (0.3%) NEON STNP fill : 4850.1 MB/s ARM LDP/STP copy : 2803.8 MB/s ARM STP fill : 4893.0 MB/s (0.5%) ARM STNP fill : 4851.7 MB/s ========================================================================== == Framebuffer read tests. == == == == Many ARM devices use a part of the system memory as the framebuffer, == == typically mapped as uncached but with write-combining enabled. == == Writes to such framebuffers are quite fast, but reads are much == == slower and very sensitive to the alignment and the selection of == == CPU instructions which are used for accessing memory. == == == == Many x86 systems allocate the framebuffer in the GPU memory, == == accessible for the CPU via a relatively slow PCI-E bus. Moreover, == == PCI-E is asymmetric and handles reads a lot worse than writes. == == == == If uncached framebuffer reads are reasonably fast (at least 100 MB/s == == or preferably >300 MB/s), then using the shadow framebuffer layer == == is not necessary in Xorg DDX drivers, resulting in a nice overall == == performance improvement. For example, the xf86-video-fbturbo DDX == == uses this trick. == ========================================================================== NEON LDP/STP copy (from framebuffer) : 602.5 MB/s NEON LDP/STP 2-pass copy (from framebuffer) : 551.6 MB/s NEON LD1/ST1 copy (from framebuffer) : 667.1 MB/s NEON LD1/ST1 2-pass copy (from framebuffer) : 605.6 MB/s ARM LDP/STP copy (from framebuffer) : 445.3 MB/s ARM LDP/STP 2-pass copy (from framebuffer) : 428.8 MB/s ========================================================================== == Memory latency test == == == == Average time is measured for random memory accesses in the buffers == == of different sizes. The larger is the buffer, the more significant == == are relative contributions of TLB, L1/L2 cache misses and SDRAM == == accesses. For extremely large buffer sizes we are expecting to see == == page table walk with several requests to SDRAM for almost every == == memory access (though 64MiB is not nearly large enough to experience == == this effect to its fullest). == == == == Note 1: All the numbers are representing extra time, which needs to == == be added to L1 cache latency. The cycle timings for L1 cache == == latency can be usually found in the processor documentation. == == Note 2: Dual random read means that we are simultaneously performing == == two independent memory accesses at a time. In the case if == == the memory subsystem can't handle multiple outstanding == == requests, dual random read has the same timings as two == == single reads performed one after another. == ========================================================================== block size : single random read / dual random read 1024 : 0.0 ns / 0.0 ns 2048 : 0.0 ns / 0.0 ns 4096 : 0.0 ns / 0.0 ns 8192 : 0.0 ns / 0.0 ns 16384 : 0.0 ns / 0.0 ns 32768 : 0.0 ns / 0.0 ns 65536 : 4.5 ns / 7.2 ns 131072 : 6.8 ns / 9.7 ns 262144 : 9.8 ns / 12.8 ns 524288 : 11.4 ns / 14.7 ns 1048576 : 16.0 ns / 22.6 ns 2097152 : 114.0 ns / 175.3 ns 4194304 : 161.7 ns / 219.9 ns 8388608 : 190.7 ns / 241.5 ns 16777216 : 205.3 ns / 250.5 ns 33554432 : 212.9 ns / 255.5 ns 67108864 : 222.3 ns / 271.1 ns