[Arm-dev] Stateless CentOS on ARM question

Seth Meyer

smeyer at umich.edu
Tue Jun 4 18:16:39 UTC 2019


Hello,

A colleague and I are trying to get an ARM server to boot stateless (i.e.
diskless).  Has anyone had any success with this?  Our primary source of
inspiration is the documentation for the Pegasus cluster:

http://web.mst.edu/~vojtat/pegasus/administration.htm

Basically, the idea is to have the kernel load a custom initramfs that
decompresses a file system image onto a tmpfs at boot time (along with some
other setup), then execute a `switch_root` to said tmpfs.

We have succeeded in getting an x86_64 machine to boot (mostly) diskless,
using the disk only for the boot process by creating a GRUB entry.
However, when we try this with my ARM (ThunderX) server, the kernel panics
during the boot process because it cannot find init.  We have also tried
passing `init=/init` as a kernel parameter with no luck.   The error
message is

Kernel panic - not syncing: No working init found. Try passing init= option
to kernel. See Linux Documentation/init.txt for guidance.

We looked at the referenced documentation and it's not a ton of help for my
specific case.  The initramfs environment is based on Busybox, which we
compiled on a ThunderX machine (the same one we are trying to boot from, in
fact).

We have considered compiling my own kernel with the initramfs built in, but
we are trying to avoid doing that.  Further, we have tried with the 3.10
and 4.4 kernels on x86, and with 4.5 and 4.14 kernels on aarch64.

Does anyone have any guidance?  Also, please let us know if you need more
information.

Best regards,

Marc Patton and Seth Meyer
ARC-TS - https://arc-ts.umich.edu/
University of Michigan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.centos.org/pipermail/arm-dev/attachments/20190604/b9f053ad/attachment.html>


More information about the Arm-dev mailing list