The attached (?) screenshot is the closest I could get in a VM, but on a real machine, I get an error
Error: Write Protected while scanning the \ directory on ElTorito
* Hit any key to continue *
Error: Write Protected while scanning the EFI directory on ElTorito
* Hit any key to continue *
Error: Write Protected while scanning the boot directory on ElTorito
(errors appear to start from ./refind/driver_support.c line 565)
Why would Refind be trying to write to anything on boot?
iodd presents as a USB CD/DVD drive and will be read only.
My request was to replace the rEFInd efi with one from RefindPlus in whatever setup you used with the rEFInd efi to see whether you get the same result.
Do you mean to say you since have found the issue you reported is actually because you tried to run without an ISO that that such an ISO is required or is it that the rEFInd setup is packaged in an ISO and you cannot change the efi without creating a new ISO?
Last edit: dakanji 2024-08-15
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Okay, I replaced the bootx64.efi file with your fork. The error still occurs. It would not be able to write a log to a filesystem as it's running from a read only filesystem.
Unfortunately this machine doesn't have working serial output and it doesn't look like Refind's logging is particularly flexible - although I could be wrong.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You could try setting the log_level config option in rEFInd to 0to disable logging.
However, it could be that in the backend and unseen by users, the logging is actually always started (some items need logging before the config file is read) and that such logging is subsequently discarded if the log_level is found to be 0 when the config file is processed.
If that is the case and the issue is related to logging, you might still get the issue.
You could try the REL version of RefindPlus as it does not create a log file at all.
Took a look at the code and logging in rEFInd only starts after the config file is read. So setting log_level to 0 should not trigger logging related issues
Last edit: dakanji 2024-08-15
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Why would Refind be trying to write to anything on boot?
It doesn't (apart from logging but this is not related to that).
I took a closer look at things and it looks more like there might be an issue with your setup.
rEFInd tries to open misc dirs with the DirIterOpen function while scanning for loaders.
This is done with the EFI_FILE_MODE_READ attribute but for some reason, this appears to be denied on your setup and an EFI_WRITE_PROTECTED error returned.
It's not like it is trying EFI_FILE_MODE_WRITE or EFI_FILE_MODE_CREATE.
You might want to look into your setup for why this is happening.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The attached (?) screenshot is the closest I could get in a VM, but on a real machine, I get an error
Error: Write Protected while scanning the \ directory on ElTorito
* Hit any key to continue *
Error: Write Protected while scanning the EFI directory on ElTorito
* Hit any key to continue *
Error: Write Protected while scanning the boot directory on ElTorito
(errors appear to start from ./refind/driver_support.c line 565)
Why would Refind be trying to write to anything on boot?
iodd presents as a USB CD/DVD drive and will be read only.
Thanks,
Adam
Can you temporarily try RefindPlus and let me know whether you get the same outcome?
See here for HowTo: https://sourceforge.net/p/refind/discussion/general/thread/4d2754f090/#5d5f
Thanks
@dakanji wrote:
The iodd requires an ISO file - I'll build one at some point if you haven't got a script or something for it.
--Adam
My request was to replace the rEFInd efi with one from RefindPlus in whatever setup you used with the rEFInd efi to see whether you get the same result.
Do you mean to say you since have found the issue you reported is actually because you tried to run without an ISO that that such an ISO is required or is it that the rEFInd setup is packaged in an ISO and you cannot change the efi without creating a new ISO?
Last edit: dakanji 2024-08-15
Okay, I replaced the bootx64.efi file with your fork. The error still occurs. It would not be able to write a log to a filesystem as it's running from a read only filesystem.
Unfortunately this machine doesn't have working serial output and it doesn't look like Refind's logging is particularly flexible - although I could be wrong.
You could try setting the
log_level
config option in rEFInd to0
to disable logging.However, it could be that in the backend and unseen by users, the logging is actually always started (some items need logging before the config file is read) and that such logging is subsequently discarded if the log_level is found to be 0 when the config file is processed.
If that is the case and the issue is related to logging, you might still get the issue.
You could try the
REL
version of RefindPlus as it does not create a log file at all.Took a look at the code and logging in rEFInd only starts after the config file is read. So setting log_level to
0
should not trigger logging related issuesLast edit: dakanji 2024-08-15
It doesn't (apart from logging but this is not related to that).
I took a closer look at things and it looks more like there might be an issue with your setup.
rEFInd tries to open misc dirs with the
DirIterOpen
function while scanning for loaders.This is done with the
EFI_FILE_MODE_READ
attribute but for some reason, this appears to be denied on your setup and anEFI_WRITE_PROTECTED
error returned.It's not like it is trying
EFI_FILE_MODE_WRITE
orEFI_FILE_MODE_CREATE
.You might want to look into your setup for why this is happening.