[solved] Stops booting after small changes on gamelist, even if i revert
-
Pi Model or other hardware: Pi3
Power Supply used: The official and recommended universal micro USB power supply for Raspberry Pi
RetroPie Version Used: 4.4.2
Built From: Pre made SD Image on RetroPie website
USB Devices connected: 2 Buffalo gamepads, 1 F500 arcade stick, 1 wireless keyboard
Controller used: ---
Error messages received: no messages (boot messages disabled)
How to replicate the problem: Restored a backup and made carefully same changes again.My RetroPie stops booting after doing some changes, even if I revert relevant changes (by replacing the gamelist with previously known working state). I use an card reader to have full access (previously I did this via network). What I do is not much, I do this same thing for 6 month. I have some new romhacks to add and did created my videos and image files for it. I also have some gamelist entry added. Everything works fine before these changes, tested it with a restoration of a backup. Here is what I do:
- copy the roms to /retropie/home/pi/RetroPie/roms/nes/Mods
- copy the roms to /retropie/home/pi/RetroPie/roms/snes/Mods
- copy image/videos to /retropie/opt/retropie/configs/all/emulationstation/downloaded_images/nes
- copy image/videos to /retropie/opt/retropie/configs/all/emulationstation/downloaded_images/snes
- replace gamelist.xml in /retropie/opt/retropie/configs/all/emulationstation/gamelists/nes
- replace gamelist.xml in /retropie/opt/retropie/configs/all/emulationstation/gamelists/snes
When I try to boot, I get only a black screen with cursor. Usually it should play the video file and then go into EmulationStation. It even don't boot anymore, if I revert the gamelist.xml to previous version. An online validation and a quick check on the xml file seems to be fine. As I did some changes to mute all screen information, I don't get anything and don't know where to change it back. Looking around in log files, I can't find anything in there. It seems no log files are written, as they are still old. I don't know where to look anymore, does anyone have an idea?
I have an backup just before these changes and it worked. When I use this old backup, it works again. I could go step by step, but reapplying the older backup and doing any backup step needs a whole 1h. So, this could take hours to analyze.
A check with gnome-disk-utility 3.28.3 UDisks 2.7.6 says the filesystem on boot and retropie partitions are alright. My first thought was, that something couldn't be not written correctly and corrupting it. It seems, this is not true.
-
I have restored the sd card from last backup again, reverting all changes described in my initial posting. RetroPie starts normally. I want do the changes again, but one after another. Do you have any advice here?
Update:
Is it possible, that writing to the micro sd card through the reader does the problems? At least backup and restore whole partitions does work. When I try to eject the drive, it says that there are still files written to it (should not be, very few mb only). I use Ubuntu 18.04 to add files. I just added roms this time and eject seems to work on the retropie partition, its not mounted anymore. But the message of writing files appears, when I try to eject boot partition too. It asks for permission, but I am not sure if its ok.Update 2:
Ok, I was very careful now. I have copied the roms only and waited a while, signed off and on at my pc. After this, I plugged the micro sd card back to the Raspberry Pi and started it. Same result, the black screen. ... but then it suddenly boots after a short period of time?! Can someone explain this? -
I don't know what happened or if there was a problem at all. Waiting long enough at the boot screen just boots RetroPie fine and the new files are all there. Not sure if there is a problem, because I was very careful this time and rebooted the pc prior unplugging micro sd card.
-
Do you have boot messages disabled? If so, you could re-enable them and look at last messages prior to the pause.
Does Ubuntu 18.04 really say that files are being written, or does it just say that the medium is still in use? If the latter, it just may be that you're still in a directory on the card, e.g. in Ubuntu's file manager or in the command shell. That also prevents unmounting.
What does
sudo umount /mountpoint/of/the/card
say in this situation? -
@Clyde It really says the files are still being written. I just tested umount, it works as intended and no problems (says nothing). But I did not edited or copied any file. Eject in Nautilus (the file manage) works without problem too.
Whatever there happens, it seems to be unrelated to RetroPie. My RetroPie also boots fine now, after the 2 waiting times. It almost seems as there would be something recovered or other things done in the background (or something network related) and now its fine. For now, I will not experiment or change anything, as I struggle since yesterday. I need to get network access back, as I had for 7 month and worked perfectly.
Btw, yes I disabled the boot messages and just could not it anymore. Because there is no problem anymore, I don't want mess it again (for now). Sorry for the trouble here, if someone has read this topic.
-
@thelostsoul Well, at least for me it isn't any trouble, but an intriguing riddle to solve. :)
That said, I do not understand you completely. Do you say that eject in Nautilus does work now, but didn't back then? If so, it isn't a surprise that the umount command does also work now. Likewise, there would be nothing to see at boot time if the problem is gone (for now).
My best guess is that something prevented a clean ejection of the card's file system and that Retropie had to do an
fsck
one or two times and repair the unclean file system of the card.I can understand that you don't want do mess with a running system. ;) You can always return to this thread if the problem occurs again.
edit: A useful bash command to see any disk activity is
iotop
. You can install it from Ubuntu's software repositories withsudo apt install iotop
and then launch it in batch mode only showing actual activity:sudo iotop -boqqq
The
qqq
prevents unnecessary output like the total disk write summary after every line. -
Thank you Clyde. If I had a second micro sd with this size, I would do more experimentation.
@Clyde said in [solved] Stops booting after small changes on gamelist, even if i revert:
That said, I do not understand you completely. Do you say that eject in Nautilus does work now, but didn't back then?
Yes, but on the other hand, I did not test this with adding files. So the eject works, because there is nothing written (maybe).
My best guess is that something prevented a clean ejection of the card's file system and that Retropie had to do an
fsck
one or two times and repair the unclean file system of the card.I don't know whats going on here, but this is my guess too.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.