I've forked this on GitHub (I couldn't make the fork on SourceForge - it still says "cloning") and written a couple really simple fixes that resolve two issues I had.
The first commit resolves an issue I had with rEFInd on Manjaro. Consider this scenario: Two initramfs files for a single kernel, both with the same version string, one of them just ends with -fallback.img. Up until now rEFInd would only look for the file with the longest version match, but these two files have identical version match, so rEFInd would choose randomly, sometimes picking the fallback version as default, which is incorrect. Whenever rEFInd cannot decide like that, I made it choose the file with the shortest name. It's perfectly logical. In such scenario, the fallback version is never chosen, while at the same time current rEFInd's behavior is unmodified.
The second commit resolves an issue I talked about in this discussion thread. It adds the ability to use a variable in the refind_linux.conf file. I think this idea is quite revolutionary because I can now do this:
"Boot with standard options" "rw root=/dev/nvme0n1p6 quiet initrd=\boot\intel-ucode.img initrd=%s.img"
"Boot fallback initramfs" "rw root=/dev/nvme0n1p6 initrd=\boot\intel-ucode.img initrd=%s-fallback.img"
Notice the %s at the end of each line. It gets replaced with the current selected autodetected initramfs file (without the .img extension, to allow appending strings such as -fallback). If the %s variable is not used at all, the behavior is identical to what it used to be before my commits.
I hope you decide to review my modifications and merge them upstream.
Last edit: Jan Neumann 2018-06-15
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've forked this on GitHub (I couldn't make the fork on SourceForge - it still says "cloning") and written a couple really simple fixes that resolve two issues I had.
See my two commits:
https://github.com/kogli/refind-patched
The first commit resolves an issue I had with rEFInd on Manjaro. Consider this scenario: Two initramfs files for a single kernel, both with the same version string, one of them just ends with
-fallback.img
. Up until now rEFInd would only look for the file with the longest version match, but these two files have identical version match, so rEFInd would choose randomly, sometimes picking the fallback version as default, which is incorrect. Whenever rEFInd cannot decide like that, I made it choose the file with the shortest name. It's perfectly logical. In such scenario, the fallback version is never chosen, while at the same time current rEFInd's behavior is unmodified.The second commit resolves an issue I talked about in this discussion thread. It adds the ability to use a variable in the
refind_linux.conf
file. I think this idea is quite revolutionary because I can now do this:Notice the
%s
at the end of each line. It gets replaced with the current selected autodetected initramfs file (without the.img
extension, to allow appending strings such as-fallback
). If the%s
variable is not used at all, the behavior is identical to what it used to be before my commits.I hope you decide to review my modifications and merge them upstream.
Last edit: Jan Neumann 2018-06-15
I've finally submitted a proper merge request.
Please see my comments in the merge request:
https://sourceforge.net/p/refind/code/merge-requests/14/