maxnet / berryboot

Berryboot -- Boot menu / OS installer
http://www.berryboot.com/
Other
799 stars 135 forks source link

error unmounting filesystem #691

Open edegraaff opened 3 years ago

edegraaff commented 3 years ago

Hi, I am using berryboot for a long time and recently upgraded my berryboot image at least i want to. Raspberry pi3 b+ Synology NAS with iSCSI copyed latest image and distributed it to my sd card

then boot pi and configure to connect to the lun from there the format starts and i get an error box with : error unmounting filesystem after ok klik, the images are able to deploy to the lun but .. having this error could cause an error on the lun filesystem since the filesystem is not correctly unmounted, so i expect dirty bit is set.

questions: is the dirty bit set, and if zo am i able to fix it Then i install the only logical option, raspbian lite but 64 bit, and as far as i know the pi3 is 32 bit but based on the info here pi3 should work.

When the system boots the problem get worse i reach emergency mode :-(

Seems i can't get it working anymore, while this project was realy great!

If i download raspberry_pi_os_buster_desktop_full_rpi2_rpi3_rpi4_2021.01.11_berryboot.img.gz and install this one manually via the backup route this image does work, but has also some issues at least it does not work with my RaspBee deconz.

I have tried over the last few days all kind of options, but it seems i need to fall back to mico sd cards and i dont want this..

regards

owl770 commented 3 years ago

@maxnet - I was investigating this problem because it happened to me too. To get more information, in installer.cpp::umountSystemPartition() I changed:

    if ( QProcess::execute("umount /boot") != 0)
    {
        log_error(tr("Error unmounting system partition"));
        return false;
    }

to

    QProcess umountProcess;
    umountProcess.start("umount /boot");
    umountProcess.waitForFinished();
    int rv = umountProcess.exitStatus();
    if ( rv != 0)
    {
        QString stderrMessage = umountProcess.readAllStandardError();
        log_error(tr("Error unmounting system partition - %1 - rv %2").arg(stderrMessage, QString::number(rv)));
        return false;
    }

and the problem went away. There were no more umount issues. I have no idea why. Do you have any thoughts?

dev-mansonthomas commented 3 years ago

@owl770 How can I get your 'patched' version ? I've got the same error (sometime I get another error after that one, or none...)

But anyway, the debian fails to boot after : https://github.com/maxnet/berryboot/issues/707

owl770 commented 3 years ago

@owl770 How can I get your 'patched' version ? I've got the same error (sometime I get another error after that one, or none...)

But anyway, the debian fails to boot after : #707

Hi @dev-mansonthomas - I never completed the testing on this and making them available. Sorry. I'm not sure how much support is being provided for Berryboot these days (but I hope it stays alive).

maxnet commented 3 years ago

and the problem went away. There were no more umount issues.

You're using the wrong Qt function call to check the exit code of the application you just ran. Should use umountProcess.exitCode() instead.

exitStatus() always returns 0 (QProcess::NormalExit) if the application did not crash. Failing to unmount is not a crash condition.