Booting with custom compiled kernel


I just got the board (le potato) a couple days ago. I flashed ubuntu to the SD card and that can boot no problem.

My eventual goal is to run Gentoo on this thing, so I set about trying to get a custom kernel running. Unfortunately, I haven’t had any success with this. I’ve worked backwards to the point where I’m just compiling with default parameters and I’m still not able to boot successfully.

What I’ve done:

  1. Flashed bootloader using the lft, no problems there, it works fine.
  2. Compiled kernel (libre-computer-project/libretech-linux branch v6.0/libretech-master) using the default parameters (make defconfig) and moved the compiled kernel to the EFI partition
  3. Booted using bootefi

The kernel does boot, but I don’t get any output beyond the EFI stub. Recompiling with no DRM gets me console output, and it shows that the root filesystem is mounted successfully. I currently have init=/bin/sh for debugging, and while I get the message that it is calling /bin/sh as init, nothing happens after that. The system just hangs.

There are no errors or kernel panic or anything. Using sysrq keys still generates console output, as does removing / inserting USB devices.

Am I missing something in the boot sequence? My best guess is I’m missing something to do with hardware initialization. Help would be greatly appreciated!

  1. You need to feed $fdtcontroladdr to bootefi.
  2. You can turn on debug and set the console via console= parameter with the board’s UART or tty.
  3. If init=/bin/sh shows nothing on console, it simply means that executable did not start properly.