Skip to content

ROCKPro64 - Booten von USB3

ROCKPro64
  • Heute mal wieder ein kurzer Test.

    Hardware

    • USB3 SSD Samsung T5 500GB
    • PCIe NVMe SSD Samsung 960 EVO mit 250GB

    Software

    • uboot ins SPI geschrieben uboot 2017.09.....1062

    • Auf der SSD ist das bionic-minimal-rockpro64-0.9.0-1142-arm64.img

      rock64@rockpro64:~$ uname -a
      Linux rockpro64 4.4.184-1220-rockchip-ayufan-g5fe46b4c9a4a #1 SMP Sun Jul 7 13:45:25 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux
      

    Ein Start ist problemlos möglich.

    df

    rock64@rockpro64:~$ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    udev            991M     0  991M   0% /dev
    tmpfs           199M  568K  199M   1% /run
    /dev/sda7       459G  1.3G  439G   1% /
    tmpfs           995M     0  995M   0% /dev/shm
    tmpfs           5.0M  4.0K  5.0M   1% /run/lock
    tmpfs           995M     0  995M   0% /sys/fs/cgroup
    /dev/sda6       112M  4.0K  112M   1% /boot/efi
    tmpfs           199M     0  199M   0% /run/user/1000
    

    dd

    rock64@rockpro64:~$ sudo dd if=/dev/zero of=sd.img bs=1M count=4096 conv=fdatasync
    [sudo] password for rock64: 
    4096+0 records in
    4096+0 records out
    4294967296 bytes (4.3 GB, 4.0 GiB) copied, 12.3658 s, 347 MB/s
    

    iozone

    rock64@rockpro64:/$ 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: Tue Jul 16 17:19:46 2019
     
     	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    22066    22866    32054    31620    22357    23561                                                          
               102400      16    65752    58709    61745    79903    61869    89612                                                          
               102400     512   233974   254912   229548   230554   223731   255448                                                          
               102400    1024   288587   308089   275765   277139   268987   307692                                                          
               102400   16384   402823   413363   389810   392131   392335   414199                                                          
     
     iozone test complete.
    

    blkid

    rock64@rockpro64:~$ sudo blkid
    /dev/nvme0n1: LABEL="TEST" UUID="962851a6-b0c8-4fe1-a7eb-1f1a68a120bb" TYPE="ext4"
    /dev/sda1: PARTLABEL="loader1" PARTUUID="552aa722-be77-486f-abfb-f3649606441d"
    /dev/sda2: PARTLABEL="reserved1" PARTUUID="8329ccf3-cfdd-44b8-b654-8bac4d118d18"
    /dev/sda3: PARTLABEL="reserved2" PARTUUID="f81a3d66-7c6c-4605-ab47-7b76ded05d72"
    /dev/sda4: PARTLABEL="loader2" PARTUUID="95fd176f-85f7-4672-8a17-bd034bd9a13a"
    /dev/sda5: PARTLABEL="atf" PARTUUID="2af9051f-1b48-49b9-b326-c11aeed5de35"
    /dev/sda6: SEC_TYPE="msdos" LABEL="boot" UUID="4000-6196" TYPE="vfat" PARTLABEL="boot" PARTUUID="c9c6f3cb-6fd4-469e-952b-2f5e8ee62925"
    /dev/sda7: LABEL="linux-root" UUID="4e124868-d83a-463e-b7ab-68cc7c55cc23" TYPE="ext4" PARTLABEL="root" PARTUUID="84865f57-6395-48fa-b2c3-a3f71fd246e4"
    /dev/zram0: UUID="660548f9-6151-4fd6-a0f0-3980b1f56a54" TYPE="swap"
    /dev/zram1: UUID="25f9ca0a-99f6-408a-a8b7-06e7f80c715d" TYPE="swap"
    /dev/zram2: UUID="f25ef32b-d15d-4100-b544-422aae1be00e" TYPE="swap"
    /dev/zram3: UUID="fb972e95-deb9-4c82-ba72-86a016c5f5a3" TYPE="swap"
    /dev/zram4: UUID="ec437d02-400a-4d17-9a6d-b9143a87e400" TYPE="swap"
    /dev/zram5: UUID="7ebb66d9-3e04-4698-96ea-7f08285cff70" TYPE="swap"
    

    Die NVMe SSD wird sauber angesprochen.

    rock64@rockpro64:/mnt$ sudo dd if=/dev/zero of=sd.img bs=1M count=4096 conv=fdatasync
    4096+0 records in
    4096+0 records out
    4294967296 bytes (4.3 GB, 4.0 GiB) copied, 11.7229 s, 366 MB/s
    

    und

    rock64@rockpro64:/mnt$ 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: Tue Jul 16 17:18:45 2019
    
    	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    81283   110138    93170    95524    33148    73284                                                          
              102400      16   138311   209171   245732   249358   115781   176634                                                          
              102400     512   569812   578828   481322   487712   437363   591439                                                          
              102400    1024   577200   657983   505823   513736   483870   632656                                                          
              102400   16384   983078  1058890  1051166  1105247  1099474  1139649                                                          
    
    iozone test complete.
    

    ip a

     rock64@rockpro64:~$ ip a
     1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
         link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
         inet 127.0.0.1/8 scope host lo
            valid_lft forever preferred_lft forever
         inet6 ::1/128 scope host 
            valid_lft forever preferred_lft forever
     2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
         link/ether 62:03:b0:d6:dc:b3 brd ff:ff:ff:ff:ff:ff
         inet 192.168.3.19/24 brd 192.168.3.255 scope global dynamic eth0
            valid_lft 6411sec preferred_lft 6411sec
         inet6 fe80::6003:b0ff:fed6:dcb3/64 scope link 
            valid_lft forever preferred_lft forever
     3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state DORMANT group default qlen 1000
         link/ether ac:83:f3:e6:1f:b2 brd ff:ff:ff:ff:ff:ff
    

    WLan wird erkannt, hier nicht konfiguriert.

    Reboot

    Selten blieb er beim reboot hängen. Müsste mit der PCIe Karte zusammenhängen!? Klappt das Booten von SPI bei Euch da draußen jetzt eigentlich einwandfrei? Immer? Ich gestehe, ich habe da aktuell ein wenig den Überblick verloren, wie da der aktuelle Entwicklungsstand ist.

    Hier sieht es, in dieser Kombination, nutzbar aus.

  • Ich habe hier unterschiedliche Boot-Konfigs gerade am laufen:

    NVMe (root) / SD Karten boot

    emmc 64 GB (root sowie boot)

    USB3 SSD (root) / SD Karten boot

    alle mit:

    shutdown -r seit ayufan 0.8 kein reset / reboot problem

    nur mein "erster" rockpro (nmve root / sd karten boot) trotz ayufan 0.8
    will nicht ohne angeschlossenen monitor (standby) in den uboot nach einem shutdown .. ...

    Wie schön wäre es doch, wenn der SPI boot auch mit NVMe und USB3 problemlos funktioniert, dann könnte ich auf die SD-Kärtchen und Kernel Updates Workarounds verzichten. (für dich vermutlich auch eine entlastung 🙂 )

  • Yeah, genau das worauf ich auch warte.

    Wenn ich das richtig mitbekommen habe, könnte das Kamil's nächster Punkt auf seiner Liste sein.