As you all know, I am working on trying to find out why updating GoPiGo O/S causes the robot functions to (sometimes) fail.
My test methodology is, (should be ), something like this:
- Flash an image and boot it.
- After first boot, create a backup.
- Configure it.
- Make another backup instance.
- Do something else.
- Create another backup.
- And so on. . . .
This way I can, (theoretically), go back to any step along the way and try something else without having to recreate everything up to that instant in time.
Also, theoretically, if I have two instances that should be doing the same thing, (i.e. two fully updated instances), where one works and the other doesn’t, I can then compare the instances file-by-file to find out what is different.
What I am currently doing is this:
- I have an external SSD mounted on /home/pi/Project_Files/
- I have a directory there: /home/pi/Project_Files/GoPiGoOS_rsync_backups
- Inside that directory I have directories for individual backups and they contain a “boot” and “rootfs” directory.
- For example:
/home/pi/Project_Files/GoPiGoOS_rsync_backups/first_boot/rootfs /home/pi/Project_Files/GoPiGoOS_rsync_backups/configured/boot /home/pi/Project_Files/GoPiGoOS_rsync_backups/configured/rootfs [etc]
The way I do my backup is:
- Shut down.
- Remove the SD card from the 'bot.
- Boot something else
- Put the card in a caddy and plug it into a free USB port
- Execute `rsync -aAxXv [either the rootfs or boot partition on the SD card] [the rootfs or boot partition directory on the SSD]
Any ideas or suggestions?