Kategorien
Computer / Informatik

Openembedded (OE) – Image hangs on INIT

Hi everybody,

on my current work with openembedded i found a problem with the resulting image.

I built a console-image for a „qemuarm“ machine to test it in qemu. The image itself built just fine. Starting the resulting kernel and image in qemu was fine too. But the boot process hangs after INIT is called. It just hangs, no login-shell, no error message, nothing…

A little conversation with a guy from a mailing list i found via google showed that it was an issue with the starting order of the init scripts.

The solution is that udev has to be started after checkroot. Currently the files are /etc/rcS.d/S03udev and /etc/rcS.d/S03checkroot.

My current fix is to do:

sudo mount -o loop <yourimage> <yourmountpoint>
sudo mv <yourmountpoint>/etc/rcS.d/S03udev <yourmountpoint>/etc/rcS.d/S15udev
sudo umount <yourmountpoint>

This way, udev is started after checkroot and everything run’s just fine up to the login prompt 🙂

Another way is to change the corresponding bb file. Here you have two options:

  1. Change the bb file directly
  2. Use your local overlay

The file we’re talking about is „recipes/udev/udev_<version>.bb“. For me it’s udev_141.bb.

You need to change INITSCRIPT_PARAMS from „start 03 S .“ to „start 15 S .“.

Now recompile, that should do the trick 🙂

Hopefully i could help… 🙂

Gr33tz Goddchen