Read the statement by Michael Teeuw here.
Everything was going so well
-
@JMac ok bigger picture, in Linux
hardware devices are named. see the output of ls /dev
disk devices are usually named sd??? where xxx is a letter, and partition number
letter a is the first device b the second etcsometime in the past the type of storage device was also used as part of the name, scsi, atapi …
for this case they are named sd (storage device)sda is the first storage device
sda1 is the first partition on the sda deviceon those partitions are a logical way of storing data. most linux and all windows devices store file data in sectors, 512 byte chunks called sectors. and then the file system (way of organizing those sectors)
applies some data structure on top. it’s a directory or a file. tables in other sectors build trees of data to describe the entire partition.there are different layouts depending on vendor and intended use
FAT, exFAT, NTFS EXT3, EXT4, and a host of others.all is wonderful until some sector or more gets damaged… machine was powered off during write, a hardware failure…
now the filesystem code is confused… says read sector 853, and the bits there will tell it where the next sector is for this file. but the bits don’t point to the right place… Oops
some file systems include a duplicate set of bits do there is an alternative way . some use them only for recovery.
sd card hardware is known for being fragile. it was designed for lots of reads,with few writes. camera picture music file. NOT an os that is waiting logs and other stuff constantly.
anyhow.
to check and correct these kinds of problems with the Linux ext file system we need to run thr fsck program on the raw partition. and make sure that moone else is using it.unmount takes it out of circulation. no users files open
fsck and e2fsck need to read the raw sectors on the partition, but we just unmounted it.
so we need to provide the hardware name for the program to use. -
@sdetweil Wow, that was a bit to take in but makes sense (I think).
So if I unmount it how do I get the information off it?
what are the steps here? -
@JMac
unmount it
run fsck against it
remount it (hopefully fixed)then copy your data first thing, DO NOT WRITE TO THE SD CARD
config.js
custom.css
and a list of all the modules in modules (ls *)if u WANT to try in each module folder do
git remote -v ```⁷ so we know where it came from quickest way in each module folder git remote -v | tail -a ~/module_list this will list to github source (git remote -v) and append that info (tail -a) to a known file in your home folder (~ = home) this is what my backup script does IF you have any modules that require authentication (run an auth script) ls *.json while you are there, you could also run my backup script, from the web page copy/paste with -s pointing to the mounted folder MagicMirror https://github.com/sdetweil/MagicMirror-backup-restore ...MM_backup -s /media/??????/MagicMirror some gobbleygoop name (tab key will fill it in after the 1st letter) this will create the MM_backup folder in your logged on user home folder.. and do all the work described above (after the mount) https://github.com/sdetweil/MagicMirror-backup-restore
-
had a little crack at this again, the Mrs is bugging me to get “her” mirror back up and running.
So I’ve run sudo umount /dev/sda1
sudo umount /dev/sda2Both drive folders from the mounted (old) SD disappeared from the home screen on the pi as expected.
then run, (and got)
sudo e2fsck -f -v /dev/sda2
e2fsck 1.46.2 (28-feb-2021)
rootfs: recovering journal
superblock needs_recovery flag is clear but journal has data.
Run journal anyway ? YES
e2fsck: unable to set superblock flags on rootfsrootfs: *********** WARNING: filesytem still has errors *********
-
@JMac bummer
from search
https://unix.stackexchange.com/questions/327863/fsck-wont-fsck-unable-to-set-superblock-flags/386886#386886was the card readable at all? if so
take it out and put it back in to get mounted
and copy the old config.js, custom.css and dols >~/savedlist.txt
in the MagicMirror/modules folder
to some file on your booted cardthen we can help you rebuild a new sd card
-
@sdetweil hey Sam, I can still see the old list of modules on the old SD card.
If that’s the case can the old card still be used?
the new card is just a completely empty Pi OS, nothing to do with MM on there yet.
Do I need in run the basic install for MM on the new SD to get that running?
-
@JMac yes, you need to install MM on the new sd.
use my script…
see https://github.com/sdetweil/MagicMirror_scripts
but you should extract your MM config from the sd card.use my backup script to point to the mounted sd card
see https://github.com/sdetweil/MagicMirror-backup-restorethen install MM
and then restore the config saved to the new sdcard (~/MM_backup folder) -
@sdetweil So install the base of MM on the new SD then follow the steps in your previous post?
I have a feeling it definitely won’t be that easy.
-
@JMac back is copy/paste from the github, add -s/media/{user}/mountname/MagicMirror
then install MagicMirror
copy/paste from the github linkthen restore, copy/paste from the github link. no parms required
-
@sdetweil right so when I copy those 2 file’s am I literally just dragging a copy to the new SD’s home screen (just so they’re on the new card) or do they need to go into a MM specific folder on the new card.
I can find both of those files on the old SD but I’m not understanding from
ls >~savedlist.txt.
am I doing that after I’ve installed a fresh MM on the new SD card once that MagicMirror/modules folder exists because running the above command won’t work as the new SD has no reference to MM’s existence.