Hallo zusammen,
gibt es bekannte Probleme, wenn ich das Imaga eines RevPi Connect auf einen RPi 3 B spielen?
Konkret möchte ich das Image eines RevPi Connect, auf dem ein MQTT Broker läuft für einen Maschinensimulation auf einen handelsüblichen RPi 3 B flashen. Die Idee dabei ist, dass dann für einen Test handelsübliche Netzteile etc. ausreichend sind. CAN Module etc. werden nicht benötigt.
Vielen Dank und Grüße
Image Kompatibilität RevPi Connect und RPi 3B
Re: Image Kompatibilität RevPi Connect und RPi 3B
Im Prinzip sollte das funktionieren.
Wenn du bei einem frischen Image beim ersten Einloggen nach Produkttyp, Seriennummer und MAC-Adresse gefragt wirst, kannst du die Abfrage mit Strg+C abbrechen. Anschließend kannst du mit "touch /home/pi/.revpi-factory-reset" dafür sorgen, dass die Nachfrage zukünftig unterbleibt. Das Passwort des User "pi" bleibt dadurch "raspberry".
Falls revpi-factory-reset bereits ausgeführt wurde, solltest du in /boot/config.txt die Zeile "dtoverlay=revpi-connect" auskommentieren.
Außerdem dürfte es noch empfehlenswert sein, in /etc/modules das piControl-Modul auszukommentieren, so dass es beim Booten nicht mehr automatisch geladen wird.
Unsere Images sind auf minimale Dateisystem-Größe geschrumpft und werden erst beim erstmaligen Einloggen auf die volle Größe des eMMC "aufgeblasen". Das beschleunigt das Flashen des Images. Wenn du aber revpi-factory-reset mit Strg+C abbrichst, unterbleibt diese Vergrößerung. Du hast also nur minimalen freien Platz auf dem Dateisystem. Das kannst du beheben, indem du folgende Zeilen aus /usr/sbin/revpi-factory-reset mit copy+paste in eine Shell übernimmst. Damit kannst du ein frisches RevPi Image auf die volle Größe der SD-Karte in deinem RasPi 3B erweitern:
Achtung: Wenn die SD-Karte im RasPi 3B größer ist, als es später das eMMC auf dem Connect sein wird, kannst du das Image nicht von der SD-Karte nehmen und auf den Connect flashen. Du musst es erst wieder auf minimale Größe schrumpfen. Wie das geht, kannst du dir von unserem customize_image.sh Script abgucken. Wenn dein Image z.B. als Datei vorliegt, die du als loop-Device mounten kannst, dann lauten die Befehle wie folgt:
Wenn du bei einem frischen Image beim ersten Einloggen nach Produkttyp, Seriennummer und MAC-Adresse gefragt wirst, kannst du die Abfrage mit Strg+C abbrechen. Anschließend kannst du mit "touch /home/pi/.revpi-factory-reset" dafür sorgen, dass die Nachfrage zukünftig unterbleibt. Das Passwort des User "pi" bleibt dadurch "raspberry".
Falls revpi-factory-reset bereits ausgeführt wurde, solltest du in /boot/config.txt die Zeile "dtoverlay=revpi-connect" auskommentieren.
Außerdem dürfte es noch empfehlenswert sein, in /etc/modules das piControl-Modul auszukommentieren, so dass es beim Booten nicht mehr automatisch geladen wird.
Unsere Images sind auf minimale Dateisystem-Größe geschrumpft und werden erst beim erstmaligen Einloggen auf die volle Größe des eMMC "aufgeblasen". Das beschleunigt das Flashen des Images. Wenn du aber revpi-factory-reset mit Strg+C abbrichst, unterbleibt diese Vergrößerung. Du hast also nur minimalen freien Platz auf dem Dateisystem. Das kannst du beheben, indem du folgende Zeilen aus /usr/sbin/revpi-factory-reset mit copy+paste in eine Shell übernimmst. Damit kannst du ein frisches RevPi Image auf die volle Größe der SD-Karte in deinem RasPi 3B erweitern:
Code: Select all
# resize root partition
dev=mmcblk0
total_size="$(/bin/cat /sys/block/$dev/size)"
last_part="$(cd /dev ; /bin/ls ${dev}p* | /usr/bin/tail -1)"
last_part_start="$(/bin/cat /sys/block/$dev/$last_part/start)"
last_part_size="$(/bin/cat /sys/block/$dev/$last_part/size)"
last_part_max="$(($total_size - $last_part_start))"
if [ "$last_part_size" -lt "$last_part_max" ] ; then
/sbin/sfdisk -q --dump "/dev/$dev" | /bin/sed -r -e "\$!n
\$s/size=[^,]+/size=$last_part_max/" | /sbin/sfdisk -q -f --no-reread --no-tell-kernel "/dev/$dev"
/sbin/partprobe "/dev/$dev"
/sbin/resize2fs "/dev/$last_part"
fi
Code: Select all
IMAGE=mein-image.img
LOOPDEVICE=$(losetup -f)
losetup "$LOOPDEVICE" "$IMAGE"
partprobe "$LOOPDEVICE"
# shrink image to speed up flashing
resize2fs -M "$LOOPDEVICE"p2
PARTSIZE=$(dumpe2fs -h "$LOOPDEVICE"p2 | egrep "^Block count:" | cut -d" " -f3-)
PARTSIZE=$(($PARTSIZE * 8)) # ext4 uses 4k blocks, partitions use 512 bytes
sfdisk --dump "$LOOPDEVICE" | /bin/sed -r -e "\$!n
\$s/size=[^,]+/size=$PARTSIZE/" | /sbin/sfdisk "$LOOPDEVICE"
PARTSTART=$(cat /sys/block/$(basename "$LOOPDEVICE")/$(basename "$LOOPDEVICE"p2)/start)
truncate -s $((512 * ($PARTSTART + $PARTSIZE))) "$IMAGE"
delpart "$LOOPDEVICE" 1
delpart "$LOOPDEVICE" 2
losetup -d "$LOOPDEVICE"
Re: Image Kompatibilität RevPi Connect und RPi 3B
Funktioniert einwandfrei.
Vielen Dank für die Hilfe!
Wichtig: auf jeden Fall in /etc/modules das Modul auskommentieren. Sonst bootet der Raspi nicht und meldet einen Fehler beim Laden der Kernel-Module.Außerdem dürfte es noch empfehlenswert sein, in /etc/modules das piControl-Modul auszukommentieren, so dass es beim Booten nicht mehr automatisch geladen wird.
Vielen Dank für die Hilfe!