Why does "UEFI Interactive Shell" pop up when I try to boot Linux?

Hello!

I followed Chromebook to Ultrabook’s guide this morning on how to get a Chromebook ready for Linux. I enabled developer mode and installed the RW_LEGACY firmware using MrChromeBox’s Firmware Utility, and everything went smoothly.

After finishing the procedure, I decided to give MX Linux a go! It installed and ran with no problems, but then I wanted to try Linux Mint LMDE. After installing it, rebooting the laptop, pressing Control+L to get to the white Alternative Firmware munu, and then pressing “0” on my keyboard, the CoreBoot logo displayed for a few moments and then the screen went blank and I got the following message:

“Press ESC in 5 seconds to skip startup.nsh or any other key to continue.”

Regardless of which key I pressed, it always just displayed a “Shell>” prompt.
Does anyone know how I can get Linux Mint LMDE to boot? I also just installed Debian 12.5.0 on this laptop and the exact same thing happened. Any help would be greatly appreciated!

Here are my specs:

Laptop Model: HP 14-db004wm
Board Name: CAREENA
Architecture: x86-64
CPU: AMD A4-9120C RADEON R4
CPU Gen: Stoneyridge

The RW_LEGACY UEFI doesn’t support creating nvram boot entries and just uses the default boot path \EFI\BOOT\BOOTX64.EFI.

To fix it you need to copy grubx64.efi to this path.

Tip: you can make grub automatically do this by rebooting into the installer and mounting the boot partition:

# mount /dev/mmcblk0p1 /mnt #emmc
# mount /dev/nvm0n1p1 /mnt #ssd
# mount /dev/sda1 /mnt #sata ssd

and then run:

# grub-install --target=x86_64-efi --efi-directory=/mnt --removable

Another option if you can’t get that to work is imaging the refind live cd to a flash drive, booting it, and installing refind to disk.

You could also just flash the full rom firmware and then it would just work

Thank you for the quick response!

Please give me a few moments to try what you said. I’ll try to get back to you either tonight or tommorow!

Thank you for the suggestion, but I didn’t want to do that because it would require taking the whole computer apart, removing the battery, putting it back together, installing the firmware, and then doing it all over again to plug the battery back in.

After all, I’m not trying to run Windows, so doing all that work only to not have to run a few simple commands just seems a bit much.

Still though, thank you for reminding me of that method. I might do it on older Chromebooks that are easier to open up!

I just inserted my Linux Mint installer USB drive and tried to mount the EFI partition using your first command (because my Chromebook has eMMC storage), but received the following error:

Try to Mount EFI Partition

Googling it told me that this error could just mean the partition was already mounted, but I checked my /mnt folder and it wasn’t there. :worried: I inserted one of my 32GB flash drives into the laptop and, when clicking on it, it said “Unable to mount location - Can’t mount file”.

I even tried to do it from GParted, but the “Mount” option on the EFI partition was simply grayed out. GParted also didn’t pick up the flash drive I inserted, even after refreshing it.

Try sudo mount /dev/nvme0n1p1 /mnt

A lot of emmc chromebooks have switched to using pcie emmc modules (similar to the 64gb steamdeck) and those show up as nvme even though the chip itself is emmc.

If that doesn’t work post the output of lsblk.

You could also consider installing refind (The rEFInd Boot Manager: Getting rEFInd) to a flash drive and then installing to disk.

Running the command gave me the exact same error as before.

Here is the output of lsblk:

NAME      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
loop0       7:0    0  2.1G  1 loop /usr/lib/live/mount/rootfs/filesystem.squashfs
                                   /run/live/rootfs/filesystem.squashfs
sda         8:0    1 28.7G  0 disk 
├─sda1      8:1    1  2.5G  0 part /usr/lib/live/mount/medium
│                                  /run/live/medium
└─sda2      8:2    1  6.4M  0 part 
sdb         8:16   1 28.7G  0 disk 
└─sdb1      8:17   1 28.7G  0 part 
mmcblk1   179:0    0 29.1G  0 disk 
├─mmcblk1p1
│         179:1    0  286M  0 part 
├─mmcblk1p2
│         179:2    0  3.9G  0 part 
└─mmcblk1p3
          179:3    0 24.9G  0 part /media/mint/ca492823-d4e9-4427-ae35-8e9a9dae98ae
mmcblk1boot0
          179:256  0    4M  1 disk 
mmcblk1boot1
          179:512  0    4M  1 disk 

Oh because your emmc is mmcblk1.

Do mount /dev/mmcblk1p1 /mnt
And then post output of ls /mnt/EFI

1 Like

Finally, I was able to mount my EFI partition by using a 1 instead of a 0! Good job noticing that detail!

After cd …ing (I guess it can be a verb!) into my root directory, here is the output of listing folders with ls:

debian

Should GRUB be there too?

After mounting my EFI partition (last post), I ran grub-install using the parameters you gave me, but got this error:

grub-install: error: failed to get canonical path of `overlay'.

What does this mean and how can I fix it?

Idk, it might be fine. If not just mount the efi partition again and do
sudo mkdir -p /mnt/EFI/BOOT
sudo cp /mnt/EFI/debian/grubx64.efi /mnt/EFI/BOOT/BOOTX64.EFI

and then reboot

1 Like

Unfortunately, even after running these commands and rebooting, it still took me to the UEFI Interactive Shell.

Do you have any more suggestions? If not, no worries, as I can install the rEFInd bootloader.

It’s working! I can now boot Debian and Linux Mint LMDE.

Thank you for taking your time to help me de-Google my first Chromebook.
Have a great day!