bpi-cm5-emmc-storage-check.sh

Banana Pi BPI-CM5: Amlogic A311D2 Compute Module with Raspberry Pi CM4 Compatibility · File : bpi-cm5-emmc-storage-check.sh · Language : Bash · Use case : Vérifier l'espace de stockage disponible sur la mémoire eMMC et simuler une écriture pour tester les performances.

Bash script to display free space on eMMC and measure sequential write speed.

The BPI-CM5 has 16GB of eMMC (expandable). This script checks available space and performs a 100MB write test using 'dd' in direct mode to bypass cache. Ensure 'bc' is installed for calculations ('sudo apt install bc'). The test writes to the home directory to target the root eMMC partition.

bpi-cm5-emmc-storage-check.sh

#!/bin/bash
# BPI-CM5 eMMC Storage Check and Write Test
# Usage : ./storage_check.sh

# 1. Vérification de l'espace disque
echo "=== Informations de stockage eMMC ==="
df -h / | grep -E "Filesystem|/dev/mmcblk"

# 2. Test d'écriture séquentielle dans /tmp (RAM) pour référence
# Note : Pour tester l'eMMC réelle, écrivez dans un dossier persistant comme ~/test
TEST_DIR=~/emmc_test
mkdir -p $TEST_DIR
FILE_PATH="$TEST_DIR/testfile.dat"
SIZE_MB=100

echo ""
echo "=== Test d'écriture de ${SIZE_MB}MB sur l'eMMC ==="
# dd écrit des zéros. bs=1M pour des blocs de 1 Mo.
# iflag=direct évite le cache système pour une mesure plus précise
start_time=$(date +%s.%N)
dd if=/dev/zero of=$FILE_PATH bs=1M count=$SIZE_MB iflag=direct 2>&1 | tail -1
end_time=$(date +%s.%N)

# Calcul de la vitesse
duration=$(echo "$end_time - $start_time" | bc)
speed=$(echo "scale=2; $SIZE_MB / $duration" | bc)
echo "Durée : ${duration}s"
echo "Vitesse d'écriture estimée : ${speed} MB/s"

# Nettoyage
rm -rf $TEST_DIR
echo "Test terminé et fichiers nettoyés."

← Back to the board