rEFInd, boot problem with OS on SD-card

c-sharp

New Member
Joined
Dec 10, 2024
Messages
2
Reaction score
0
Credits
40
Hi, I need to add an option on rEFInd in order to boot on a SparkyLinux installed on a SD-card.
I've tried but there is a mistake which I cannot find.

What I did

I've search for the right partition, where refind.conf is located:
In terminal I wrote
Code:
sudo parted -l
And I found:
Model: ATA SAMSUNG SSD PM85 (scsi)
Disk /dev/sda: 256GB [...]
Number; 2, [...] Size: 105MB, File system fat32, Name: EFI system partition, Flags: boot, esp
Then:
Code:
sudo mkdir /mnt/efi
Code:
sudo mount /dev/sda2 /mnt/efi

and there I found the refind.conf

I looked for the SDA partition:
Code:
lsblk
and I found that the right partition is mmcblk0p1
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 238,5G 0 disk
├─sda1 8:1 0 300M 0 part
├─sda2 8:2 0 100M 0 part
├─sda3 8:3 0 128M 0 part
├─sda4 8:4 0 68,6G 0 part
├─sda5 8:5 0 1,9G 0 part [SWAP]
├─sda6 8:6 0 115,8G 0 part /
└─sda7 8:7 0 51,8G 0 part
mmcblk0 179:0 0 29,8G 0 disk
├─mmcblk0p1 179:1 0 28,9G 0 part
├─mmcblk0p2 179:2 0 1K 0 part
└─mmcblk0p5 179:5 0 975M 0 part

I've searched for .img and vmlinux in that partition:
Code:
sudo mount /dev/mmcblk0p1 /mnt
and there I found the /boot/initrd.img and the /boot/vmlinuz
and I typed on terminal
Code:
sudo blkid /dev/mmcblk0p1
and I found:
/dev/mmcblk0p1: UUID="4e0f44cd-99ff-4c8d-a12b-4c02f0a4ee44" TYPE="ext4" PARTUUID="579341c5-01"

I've tried to insert in the refind.conf

Code:
menuentry "Sparky GNU/Linux SD" {
    icon /EFI/refind/icons/os_linux.png
    volume "Sparky GNU/Linux SD"
    loader /boot/vmlinuz-6.1.0-25-amd64
    initrd /boot/initrd.img-6.1.0-25-amd64
    options "root=/dev/mmcblk0p1 ro"
}

or

Code:
menuentry "Sparky GNU/Linux" {
    icon /EFI/refind/icons/os_linux.png
    volume "Sparky GNU/Linux"
    loader /boot/vmlinuz-6.1.0-25-amd64
    initrd /boot/initrd.img-6.1.0-25-amd64
    options "root=UUID=4e0f44cd-99ff-4c8d-a12b-4c02f0a4ee44 ro"
}

but the result was always:
Code:
using load option... invalid loader. File not found while loading vmlinuz-6.1.0-25-amd64
 


I've experienced this exact issue recently.

To fix, I used another PC running Ubuntu (and in the disks app) selected the 1st partition of the SD card, and took a screenshot of the UUID and repeated the process for the 2nd partition on the SD card, then edited the refind.conf file and where you have volume "sparky..." I replaced with "volume {insert UUID of 1st partition on the SD card here}".

Then under options I set the "root=UUID={insert UUID of the 2nd partition here}", where ubuntu was actually installed and lives in my case.

That got me past the "File not found" issue and it actually attempts to boot Ubuntu. I'm having other firmware issues now where certain firmware (networking and bluetooth) modules aren't loading at bootup but at least I've progressed to the next layer down in the onion that has been this install haha. Hopefully these steps will help you also.
 



Latest posts

Top