I'm currently in the process of finding out if a Raspberry Pi is suitable for an embedded project. I have read a lot of the questions and answers on this site regarding boot sequence of the device, and learned that start.elf or start_cd.elf is responsible for loading the Linux kernel and kernel parameters.

What I need for my project, is start.elf or start_cd.elf to load a minimal bootloader that is capable of checking if a special file exists on the SD card, and writing a file to the SD card, in the same location as the other boot files.

If the special file exists kernel02 with kernel parameters should be booted, else kernel01 with kernel parameters should be booted. There is no need for output of any kind or USB support ect. the bootloader should be as simple as possible. The purpose of this is to allow the Raspberry Pi to recover from a failed system upgrade.

Do anyone know of a minimal bootloader for the Raspberry Pi I can modify to suit my needs?

1 Answer 1


Please have a look at my project the Nard SDK


which is quite robust against failed system upgrades. It is designed specifically for embedded projects and has precautionary measures to minimize failures in the event of power cut in the middle of system upgrades.

  • 1
    you should clearly say in your answers you are involved in this software
    – lenik
    Jun 30, 2014 at 23:14
  • @lenik, you are right! I have added it now. Jul 1, 2014 at 13:32
  • This looks really cool. I don't suppose you can run Omxplayer? I definitely needed GPU acceleration for media playback but Raspbian's giving me some headaches Jul 1, 2014 at 15:43
  • I'd love to include Omxplayer, but it has lots of dependencies which is a bad fit in embedded systems. I'm thinking of adding something of my own for media playback instead. Something slim and more suitable for e.g digital signage. It depends on what people wants the most though, there is a large TODO... :) Jul 2, 2014 at 10:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.