vmware / photon

Minimal Linux container host
https://vmware.github.io/photon
Other
3.04k stars 698 forks source link

UEFI PXE boot issue on ARM64 #1062

Open max023 opened 3 years ago

max023 commented 3 years ago

Hello all,

I'm trying to PXE boot the photon os 3 installer in a vsphere VM running on rpi 4 but the boot fails in the initrd image. I CAN install it on the same HW platform by adding a cdrom to the vm and mounting the datastore iso file. So the HW configuration is capable of running photon but NOT PXE boot the installer.

I'm using the base files in photon-3.0-26156e2d-aarch64.iso which were uploaded to a generic Nexus 3 http server.

I can successfully install Photon OS by PXE booting on an X86 vsphere VM using the same infrastructure, i'm using the photon-3.0-a383732.iso base files in the same Nexus 3 server. Obviously the RPM repo files have been copied to two different locations on Nexus based on their HW platform.

E.G.:

x86 is in /x86/iso/photon3
aarch64 is in /aa64/iso/photon3

The PXE boot server is using grub2 to load the kernel and initrd image with the following entry:

menuentry 'Install Photon OS 3' {
                  linux /kernels/arm/photon3/vmlinuz root=/dev/ram0 loglevel=3 repo=http://192.168.0.98:10081/repository/homelab/aa64/iso/photon3/RPMS
                  initrd /kernels/arm/photon3/initrd.img
}

The problem seems to be that the installer fails to configure ip. Everything is DHCP based, like I've said, the x86 boot works ok.

The aarch64 VM fails to start the systemd-networkd service with error

Failed to connect stdout to the journal socket, ignoring: Permission denied
systemd-networkd.service: Main process exited, code=exited, status=203/EXEC

Any help is greatly appreciated!

ssahani commented 3 years ago

It seems the permission of root partition is not right. Does chmod 755 / helps ? Also please attach the journal logs from the boot. journalctl -b --no-pager

max023 commented 3 years ago

Sorry for the late reply.

I cannot provide anything since i cannot get it out of the installer.

The boot process is complaining about systemd failing to start systemd-networkd and all the other services dependent on it.

The installer starts with the accept license prompt. Regardless if I choose minimal or developer the outcome is the same, the installer oopses and I get dropped to a very limited shell.

chmod 755 / helps after i'm being dropped in the bash shell. After the command i'm able to get systemd-networkd and systemd-resolved up and running and it gets an ip from dhcp.

I tried restarting the installer by logging out from the shell, at the disk partitioning step it fails now although no partitions show up even when i select custom. So retrying the installer after i fix networking seems to not be possible.

Adding more context...

HW is raspberry pi 4B 8Gb running esxi in which i've created the VM.

Tried booting the iso mounted in a virtual dvd and it works, installation completes but the systemd failures at boot time occur when booting off the dvd as well. Just that the installer works normally and I was able to complete installation.

When I PXE boot the installer never completes, at the step where packages should start installing the installer issues an Oops, Installer got interrupted Press any key to get to the bash error message then drops into bash.

After being dropped in the bash prompt, in /var/log/installer, i can see a curl error #7 couldn't connect to server while trying to reach the nexus server, most probably because systemd was unable to bring up networking. I take it the DVD install has everything in the iso and it's able to finish the installation.

Many thanks for any ideas/pointers on how can i configure the network before the installer takes over

YustasSwamp commented 3 years ago

Thanks for reporting. We do not test Photon on ESXi on RPi4. But we will try to reproduce to fix it.

max023 commented 3 years ago

@ssahani I have managed to take the log file out of the install. Had to add a second hdd that i moved to a centos vm so i can copy them. Attached is the journalctl -b --no-pager output and the full photon-chroot dir

I'm open to any tests you want me to perform. @YustasSwamp I realise not much testing is done. By the looks of several things being different/broken from the x86 installer.

Many thanks for your replies and help. installer-root.tar.gz journalctl_b.log

ssahani commented 3 years ago

Jun 22 11:11:53 localhost systemd[265]: systemd-resolved.service: Failed to connect stdout to the journal socket, ignoring: Permission denied

The permission is not right for the journal socket