[Arm-dev] Stateless CentOS on ARM question

Lomovtsev, Vadim vadim.lomovtsev at auriga.com
Fri Jun 21 16:01:29 UTC 2019


Hi Seth, Marc,

So you issues is to provide proper initramfs to kernel (and kernel I guess) to be booted on CN88XX by some variant of net-boot, correct ?

For the ThunderX you may use two options using Boot Manager menu configure boot-entry as one of following options:
1. Add new entry for you NIC (check it by it's MAC) and use PXE-boot, with configuring tftp-contents with grub, kernel and your initramfs which will then do what you need;
2. Add new entry for you NIC (check it by it's MAC) and use tftp-boot (some version of ThunderX FW had that option); in this case you'll need to manually configure IP address of tftpserver and, if I’m not mistaken, proper path to grubaa64.efi image (which should be like <tftp-root>/efi/grubaa64.efi) to let it boot your kernel and initramfs images;

Also while configuring grub at tftp server side for both cases, keep in mind that grub has prebuild ‘prefix’ parameter which could be critical for grub in order to find grub.cfg file and so on. 

WBR,
Vadim

> From: Arm-dev [mailto:arm-dev-bounces at centos.org] On Behalf Of Seth Meyer
> Sent: Tuesday, June 4, 2019 9:17 PM
> To: arm-dev at centos.org; Marc Patton <pattonmj at umich.edu>
> Subject: [Arm-dev] Stateless CentOS on ARM question
>
> 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







More information about the Arm-dev mailing list