Preface - very new to kali/computer systems/networking and this is a hobby I am just getting into.
Currently running Kali 2024.4 and have run multiple updates, upgrades, and reboots in the 24 hours I have owned the pi.
Successful image and boot from micro SD. Used ‘dd’ to copy image from SD to the NVMe drive. I am able to see both the ‘mmcblk0’ (SD card) and the nvme0 (NVMe SSD) when using ‘lsblk’.
I have looked across the internet and many resources speak to changing the boot order and how that can be done through the “GRUB” configuration in /etc/default/grub but this does not exist for me. Instead I have /etc/default/grub.d/kali-themes.cfg that shows the following:
Try to force a 16x9 mode first, then 16x10, then default
if ! echo “$GRUB_CMDLINE_LINUX_DEFAULT” | grep -q splash; then
GRUB_CMDLINE_LINUX_DEFAULT=“$GRUB_CMDLINE_LINUX_DEFAULT splash”
fi
What is the error:
I want to change the boot sequence to start from the NVMe SSD and not the micro SD but I am not finding any solutions as I am still a learning doctor.
I have tried shutting down the pi after copying the image over, removing the SD, and restarting it hoping the computer gods would sprinkle some magic dust to make that work but it got hung up on boot process and accepted not input so I did a hard shut down. Reinserted the SD and booted back up just fine no issues.
I’m not sure the best way to make this happen on a Raspberry pi 5 running Kali Linux because everything I have seen is different for me.
What size NVME are you using? I’ve spent better part of the week trying to get latest Kali on a Pi 5 (16gb) and a 2TB nvme with a Geekworm hat. Raspian OS works fine…I can’t seem to clone Kali on with any type of success. One time it works, next time the nvme shows as 0 bytes in lsblk. Reboot from SD, it’s back. No more hair to pull out…
Still hoping to find a solution…working with Grok we massaged kernel and tweaked everything we could think of. I’m coming back from a minimal knowledge of linux years ago. Using the raspbian load seems to work okay, including booting. With Kali, boot from nvme was unreliable. Even setting the nvme up as only a storage area and booting from SD was problematic. One time it would work, then not and isblk would report 1.8T one time, the next would be 0B on the nvme. A warm reboot would bring back the 1.8T. Considering skipping the nvme and plugging in an external ssd. but trying to avoid it. Open to suggestions.
needs to be set for UEFI boot only not CSM legacy, which means the disk needs to be set to GPT type partitioning scheme. (Dont have an SD card installed when you want to install kali, else this is where it will write your bootloader too)
On this GPT type disk, you need an EFI partition, typically around 512 MB in size (can be larger, but not really needed unless you want lots of kernels etc), this is formatted FAT32 and needs the ESP and Boot flags set on this partition - this is where you would install grub too.
On some problematic systems I have installed refind here instead of grub, it will find and boot any OS you may be using, Windows, Mac, Linux etc (refind could also boot from an sd card if you need it there)
next partition is your OS space, EXT4 is a good option for this so the installer can see it.
How do I set a Raspberry Pi to UEFI boot only? If I press the space bar while booting, it allows me to choose SD, network, NVME, USB…NVME is the only one having issues and it was mirrored off the SD…Raspbian works fine that way, Kali not so much.
Good guide here for setting boot parameters to look for the NVMe drive first in boot order (about half way down the page);
The only other thing would be to not use a mirrored image from the SD to the NVMe drive, but to actually boot from the live Kali USB and install Kali directly to the NVMe drive itself. (dont have an SD card installed at all during this process)
I found Kali and a 2TB nvme don’t work. It ends up with screenfulls of directory block errors. Using a 1TB nvme works fine. A 2TB works with native raspberry os but no go with Kali