First of all, I am aware of this question. The accepted answer here won't work in my case since it only has one partition (or so it seems).

There is a Linux distribution installed on a SD card, but I need to replace the kernel file by one I created myself. When I want to replace the existing kernel file by my custom one, there isn't one in the boot folder.

I have mounted the SD card on my Ubuntu OS, and I tried looking at other possible partitions but there aren't any. Checking GParted gives us this:

enter image description here

So for some reason there is some allocated space before and after it.

The strange thing is that when I try to boot from the SD card, it actually loads the kernel. So it must be present somewhere on the SD card. The question is: Where?

Note: I used a Virtual Machine to boot Ubuntu. The host machine is Windows 10. When I plug the SD card into my PC, it says that there is a problem with the SD card and it needs to be formatted (because it only sees the first unallocated memory space probably) I also tried with a dual boot I have somewhere, but GParted gave the same results.

1 Answer 1


The space before is negligible, the space after the partition is because a small partition was created/copied designed to fir on smaller devices.

Common locations for the kernel are / and/boot, but that is just convention. Find out which bootloader is used, the see where it looks for the files. You may be able to interrupt the boot process and get information from the boot menu, depending on the configuration of the boot loader.

It is also possible that the kernel is in the first ("unused") part at the start of the device, although such a setup in not common.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .