I’m not sure what I’ve done differently, but I tried again today and see that both DHCP and TFTP tasks are now completing. PXE reboot of my ARM system still not happening though. When I manually force my system to PXE boot, it complained about bootloader and what I found in smart-proxy logs is this:
D, [2018-11-29T12:00:23.253263 ] DEBUG – : Starting task: /usr/bin/wget --timeout=10 --tries=3 --no-check-certificate -nv -c “http://installsvc.domain.com/images/centos/7/images/pxeboot/vmlinuz” -O “/tftpboot/boot/CentOS-7-aarch64-vmlinuz”
I, [2018-11-29T12:00:23.263640 ] INFO – : 10.20.109.31 - - [29/Nov/2018:12:00:23 -0700] “POST /tftp/fetch_boot_file HTTP/1.1” 20
0 - 0.0168
D, [2018-11-29T12:00:23.292633 ] DEBUG – : Starting task: /usr/bin/wget --timeout=10 --tries=3 --no-check-certificate -nv -c “http://installsvc.domain.com/images/centos/7/images/pxeboot/initrd.img” -O “/tftpboot/boot/CentOS-7-aarch64-initrd.img”
I, [2018-11-29T12:00:23.293160 ] INFO – : 10.20.109.32 - - [29/Nov/2018:12:00:23 -0700] “POST /tftp/fetch_boot_file HTTP/1.1” 200 - 0.0064
The problem here is that the source files are for x86_64, not aarch64, so I’m wondering how Foreman is even supposed to figure out different boot files for different architectures?
For example, CentOS7 media by default is defined as http://mirror.centos.org/centos/$version/os/$arch, but that would only work for x86 as other architectures are under a different path - http://mirror.centos.org/altarch/7/os/
So, if I understand things correctly, I need to jam all archs in my local HTTP service (installsvc in my earlier examples) under the same dir tree to make things work properly. Please correct me here if needed.
To keep going, I’ve just copied proper aarch74 boot files to my boot dir for now.