On Wednesday, July 6, 2016 at 8:25:16 PM UTC-4, Nick Owens wrote: > > hi gary, > > apologies for the late reply. > > On Thursday, June 30, 2016 at 10:48:42 AM UTC-7, Gary Grebus wrote: >> >> I've been exploring how to PXE boot CoreOS and run coreos_install, in >> order to do bare metal installs on an ARM server. A couple of issues I've >> encountered: >> >> 1. The 1081.1.0 build is missing gnupg which coreos_install uses. I was >> able to fix the problem that prevented gnupg from building on ARM, and >> built a workable image. >> > > it's great to hear you're experimenting with CoreOS on arm64! > > i'm curious what your resolution was to fix gnupg. the reason it's been > put in packages.provided is that for the current version, pth doesn't cross > compile, and for a newer version, libgpg-error doesn't cross-compile. if > you have a fix for this, your contribution would be welcome :-) >
The problem I saw was that the gnupg build couldn't find pth. pth and the other dependencies seemed to build ok. I was able to build gnupg-2.0.26 with a small change to one of the .m4 files and to the .ebuild file. I'm glad to share the patches, but I wasn't quite sure how to contribute them. Is there a "how to contribute" page somewhere? Also I think gnupg would be added to coreos-overlay? That's what I did, but not sure I did it correctly. > > >> >> 2. What is the expected mechanism for network booting the CoreOS image? >> (AFAIK pxelinux doesn't exist for ARM.) Grub is capable of doing this, >> although the coreos_production_pxe_grub.efi that gets built by >> image_to_vm.sh seems to be missing the "linux" module that would normally >> be needed. Is the grub.cfg that gets built into >> coreos_production_pxe_grub.efi expected to do a network boot when loaded >> via PXE? >> >> FWIW, I was able to run grub_mkimage and build a grub image that is able >> to boot CoreOS via tftp or http. From there I was able to successfully do >> a coreos_install to disk. >> > > we haven't really done a lot of work wrt pxe boot on arm64, but if you can > identify problems, you can file issues at > https://github.com/coreos/bugs/issues. > > i've looked at this briefly, and it seems there is indeed no linux module. > it worked on disk because the grub modules were available on disk for > loading, but not packed into the the grub efi binary. should be fixed in > the next alpha, as i've turned on linux and tftp modules for grub's efi > binary. > That was a big part of it. The other part is the grub.cfg file that gets built doesn't know how to find the coreos_production_pxe.vmlinuz and .cpio.gz files. You can execute commands manually at the grub> prompt to load them via TFTP or HTTP. I hacked grub_install.sh so that on ARM it adds a couple lines to grub.cfg, which, on a network boot do a grub "configfile" command to pull my custom config file (via tftp or http). That file points to the image I want to network boot. I'm glad to share what I did, but it's not a clean solution at this point. > > >> >> -- Gary >> >> >> >> >> >> >
