Custom Linux Board Won't Boot: My Bring-Up Process for Yocto and Buildroot BSPs

Nikhil Robinson · · 2 min read

The first boards are back from the factory and nothing prints on the console. How I bring custom Linux hardware to life step by step.

The problem clients bring: "Our first custom boards arrived. The evaluation kit worked, but our board shows nothing on the console and the hardware team says the design is fine." Every week of delay holds up the whole product.

What is really going wrong

  • Memory timing copied from the evaluation kit while the board uses different RAM or routing.
  • Bootloader and device tree still describe the evaluation kit, not the custom board.
  • Power sequencing or a strap pin differs from what the SoC expects.
  • Nobody can tell whether the fault is hardware or software.

How I solve it

  1. Check power rails, clocks and boot straps first, together with the hardware team.
  2. Get the bootloader to a console with memory calibrated for this exact board.
  3. Write a board device tree from the schematic and bring up peripherals one at a time.
  4. Create a clean Yocto layer or Buildroot configuration for the board.
  5. Report hardware faults with evidence, so the next board revision fixes them.

What the client gets

A booting board, a reproducible BSP their team can rebuild, and a clear list of anything the next hardware revision must change.