Hi, leider habe ich bisher keine Antwort von Kamil erhalten. So habe ich selbst mal einen Kernel kompiliert. Als Vorlage habe ich den Ayufan 5.3 rc4 1118 genommen. Also gleiche config nur zusätzlich den FTDI und den CH341 (Arduino clones) Treiber hinzugefügt. Könnt ihr ja mal bei Lust und Laune testen. Für meine Zwecke funktioniert er gut.
Gruss
https://drive.google.com/file/d/1kJarihL7bAqN9y6tK-m1V4zHCSEiEWtf/view?usp=sharing
eMMC Modul
-
Heute ist ja meine Lieferung aus dem fernen Osten angekommen
Darunter war auch eine 32 GB eMMC Karte. Dann wollen wir mal schauen wie das so funktioniert.
System
rock64@rockpro64:~$ uname -a Linux rockpro64 4.4.132-1072-rockchip-ayufan-ga1d27dba5a2e #1 SMP Sat Jul 21 20:18:03 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
fdisk -l
rock64@rockpro64:~$ sudo fdisk -l [sudo] password for rock64: Disk /dev/ram0: 4 MiB, 4194304 bytes, 8192 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk /dev/mtdblock0: 4 MiB, 4161536 bytes, 8128 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/mtdblock1: 32 KiB, 32768 bytes, 64 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/mtdblock2: 256 KiB, 262144 bytes, 512 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/mmcblk1: 28.9 GiB, 31037849600 bytes, 60620800 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x6f20736b Device Boot Start End Sectors Size Id Type /dev/mmcblk1p1 778135908 1919645538 1141509631 544.3G 72 unknown /dev/mmcblk1p2 168689522 2104717761 1936028240 923.2G 65 Novell Netware 386 /dev/mmcblk1p3 1869881465 3805909656 1936028192 923.2G 79 unknown /dev/mmcblk1p4 2885681152 2885736650 55499 27.1M d unknown Partition table entries are not in disk order. Disk /dev/mmcblk1boot1: 4 MiB, 4194304 bytes, 8192 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/mmcblk1boot0: 4 MiB, 4194304 bytes, 8192 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/mmcblk0: 14.9 GiB, 15931539456 bytes, 31116288 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 2934CDA1-05F4-468A-AC81-718F9FD97DB0 Device Start End Sectors Size Type /dev/mmcblk0p1 64 8063 8000 3.9M Linux filesystem /dev/mmcblk0p2 8064 8191 128 64K Linux filesystem /dev/mmcblk0p3 8192 16383 8192 4M Linux filesystem /dev/mmcblk0p4 16384 24575 8192 4M Linux filesystem /dev/mmcblk0p5 24576 32767 8192 4M Linux filesystem /dev/mmcblk0p6 32768 262143 229376 112M Microsoft basic data /dev/mmcblk0p7 262144 31116254 30854111 14.7G Linux filesystem Disk /dev/sda: 223.6 GiB, 240057409536 bytes, 468862128 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x17830656 Device Boot Start End Sectors Size Id Type /dev/sda1 65535 468862127 468796593 223.6G 83 Linux Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0xb9aa5cfb Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 1953525167 1953523120 931.5G 83 Linux Disk /dev/zram0: 166 MiB, 173989888 bytes, 42478 sectors Units: sectors of 1 * 4096 = 4096 bytes Sector size (logical/physical): 4096 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk /dev/zram1: 166 MiB, 173989888 bytes, 42478 sectors Units: sectors of 1 * 4096 = 4096 bytes Sector size (logical/physical): 4096 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk /dev/zram2: 166 MiB, 173989888 bytes, 42478 sectors Units: sectors of 1 * 4096 = 4096 bytes Sector size (logical/physical): 4096 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk /dev/zram3: 166 MiB, 173989888 bytes, 42478 sectors Units: sectors of 1 * 4096 = 4096 bytes Sector size (logical/physical): 4096 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk /dev/zram4: 166 MiB, 173989888 bytes, 42478 sectors Units: sectors of 1 * 4096 = 4096 bytes Sector size (logical/physical): 4096 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk /dev/zram5: 166 MiB, 173989888 bytes, 42478 sectors Units: sectors of 1 * 4096 = 4096 bytes Sector size (logical/physical): 4096 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Mal was kürzen, die SD-Karte
Disk /dev/mmcblk0: 14.9 GiB, 15931539456 bytes, 31116288 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 2934CDA1-05F4-468A-AC81-718F9FD97DB0 Device Start End Sectors Size Type /dev/mmcblk0p1 64 8063 8000 3.9M Linux filesystem /dev/mmcblk0p2 8064 8191 128 64K Linux filesystem /dev/mmcblk0p3 8192 16383 8192 4M Linux filesystem /dev/mmcblk0p4 16384 24575 8192 4M Linux filesystem /dev/mmcblk0p5 24576 32767 8192 4M Linux filesystem /dev/mmcblk0p6 32768 262143 229376 112M Microsoft basic data /dev/mmcblk0p7 262144 31116254 30854111 14.7G Linux filesystem
Die eMMC Karte
Disk /dev/mmcblk1: 28.9 GiB, 31037849600 bytes, 60620800 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x6f20736b Device Boot Start End Sectors Size Id Type /dev/mmcblk1p1 778135908 1919645538 1141509631 544.3G 72 unknown /dev/mmcblk1p2 168689522 2104717761 1936028240 923.2G 65 Novell Netware 386 /dev/mmcblk1p3 1869881465 3805909656 1936028192 923.2G 79 unknown /dev/mmcblk1p4 2885681152 2885736650 55499 27.1M d unknown Partition table entries are not in disk order. Disk /dev/mmcblk1boot1: 4 MiB, 4194304 bytes, 8192 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/mmcblk1boot0: 4 MiB, 4194304 bytes, 8192 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
System kopieren
rock64@rockpro64:/usr/local/sbin$ sudo dd if=/dev/mmcblk0 of=/dev/mmcblk1 31116288+0 records in 31116288+0 records out 15931539456 bytes (16 GB, 15 GiB) copied, 1784.49 s, 8.9 MB/s
Das Ganze dauert etwas, also ruhig mal Kaffee trinken oder was anderes
rock64@rockpro64:~$ sudo dd if=/dev/mmcblk0 of=/dev/mmcblk1 bs=4M 3798+1 records in 3798+1 records out 15931539456 bytes (16 GB, 15 GiB) copied, 486.644 s, 32.7 MB/s
Dank eines Tipps aus dem Forum, ich hatte bs=4M nicht angehangen, geht es jetzt deutlich schneller! Thank you! Dauert jetzt bei mir nur noch ca. 10 Minuten. Damit kann man leben
Speedtest
rock64@rockpro64:~$ 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, 43.7304 s, 98.2 MB/s
Das Ganze noch mit 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: Wed Jul 25 16:28:19 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 3640 4406 8138 8161 8221 3806 102400 16 15447 18884 32456 32616 32407 18112 102400 512 86681 90801 104477 104538 105025 90173 102400 1024 91425 94894 107187 107413 106724 88925 102400 16384 93649 95187 115293 115418 115404 95819 iozone test complete.
Resizing
Nach dieser Aktion ist die Partition Nr.7 kleiner als die eMMC-Karte groß ist. Die eMMC-Karte hat 32 GB, die SD-Karte hatte 16GB. dd kopiert ja stumpf 1:1 alles rüber. Was machen? Kamil hat unter /usr/local/sbin ein paar Scripte liegen. Darunter resize_rootfs.sh Dieses Script ist dafür da, die Partition Nr.7 auf die maximale Größe des Gerätes zu vergrößern. Genau das was ich brauche
rock64@rockpro64:/usr/local/sbin$ sudo ./resize_rootfs.sh [sudo] password for rock64: Resizing /dev/mmcblk1 (sd/emmc -- /dev/mmcblk1p7)... + sgdisk -e /dev/mmcblk1 Warning: The kernel is still using the old partition table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) The operation has completed successfully. + echo ,+,,, + sfdisk /dev/mmcblk1 -N7 --force Checking that no-one is using this disk right now ... FAILED This disk is currently in use - repartitioning is probably a bad idea. Umount all file systems, and swapoff all swap partitions on this disk. Use the --no-reread flag to suppress this check. Disk /dev/mmcblk1: 28.9 GiB, 31037849600 bytes, 60620800 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 2934CDA1-05F4-468A-AC81-718F9FD97DB0 Old situation: Device Start End Sectors Size Type /dev/mmcblk1p1 64 8063 8000 3.9M Linux filesystem /dev/mmcblk1p2 8064 8191 128 64K Linux filesystem /dev/mmcblk1p3 8192 16383 8192 4M Linux filesystem /dev/mmcblk1p4 16384 24575 8192 4M Linux filesystem /dev/mmcblk1p5 24576 32767 8192 4M Linux filesystem /dev/mmcblk1p6 32768 262143 229376 112M Microsoft basic data /dev/mmcblk1p7 262144 31116254 30854111 14.7G Linux filesystem /dev/mmcblk1p7: New situation: Disklabel type: gpt Disk identifier: 2934CDA1-05F4-468A-AC81-718F9FD97DB0 Device Start End Sectors Size Type /dev/mmcblk1p1 64 8063 8000 3.9M Linux filesystem /dev/mmcblk1p2 8064 8191 128 64K Linux filesystem /dev/mmcblk1p3 8192 16383 8192 4M Linux filesystem /dev/mmcblk1p4 16384 24575 8192 4M Linux filesystem /dev/mmcblk1p5 24576 32767 8192 4M Linux filesystem /dev/mmcblk1p6 32768 262143 229376 112M Microsoft basic data /dev/mmcblk1p7 262144 60619709 60357566 28.8G Linux filesystem The partition table has been altered. Calling ioctl() to re-read partition table. Re-reading the partition table failed.: Device or resource busy The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8). Syncing disks. + partprobe /dev/mmcblk1 + resize2fs /dev/mmcblk1p7 resize2fs 1.44.1 (24-Mar-2018) Filesystem at /dev/mmcblk1p7 is mounted on /; on-line resizing required old_desc_blocks = 2, new_desc_blocks = 4 The filesystem on /dev/mmcblk1p7 is now 7544695 (4k) blocks long.
Neustarten, danach hat die Partition 29GB
rock64@rockpro64:~$ df -h Filesystem Size Used Avail Use% Mounted on udev 992M 0 992M 0% /dev tmpfs 200M 488K 199M 1% /run /dev/mmcblk1p7 29G 1.3G 26G 5% / tmpfs 996M 0 996M 0% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 996M 0 996M 0% /sys/fs/cgroup /dev/mmcblk1p6 112M 4.0K 112M 1% /boot/efi tmpfs 200M 0 200M 0% /run/user/1000
Fazit
Die eMMC-Karte auf einem ROCKPro64 scheint ja ganz gut nutzbar zu sein. Ist aber noch zu früh für ein endgültiges Fazit. Was mir jetzt schon auffällt, wenn man oft sie Images ausprobiert, ist eine SD-Karte unschlagbar. Einfach zu handeln. Wenn eine Version aber mal relativ fix ist, kann man auch eine eMMC Karte nehmen.
Ich will SPI
Update
Wenn ich eine 32GB SD-Karte nehme klappt es nicht, bekomme dann eine Fehlermeldung. Nehmt eine SD-Karte die etwas kleiner ist als das eMMC-Modul. Bsp.: 16GB SD-Karte - 32GB eMMC-Modul
-
-
-
-
-
-
Kernel 4.4.x
Angeheftet Images -
-
Mainline Kernel 4.20.x
Verschoben Images