|
From: | Randy Goldenberg |
Subject: | Re: EFI PXE boot using grubx64.efi - Large images |
Date: | Fri, 29 Dec 2017 12:10:06 -0800 |
User-agent: | Mutt/1.5.24 (2015-08-30) |
I found a CentOS 7 LiveCD that appears to be the one you're trying to boot, on a CentOS mirror at centos/7.4.1708/isos/x86_64/CentOS-7-x86_64-LiveGNOME-1708.iso. This is the image used. For preparing your PXE booting setup, mount the ISO.
The initrd inside the ISO at isolinux/ does not support booting over the network. Various attempts to inject the needed drivers using dracut were unsuccessful. Instead of the kernel and initrd in the ISO, I used the kernel and initrd available on CentOS mirrors at centos/7.4.1708/os/x86_64/images/pxeboot. Put these files wherever you put stuff to be loaded by grub; probably your tftp directory (iPXE can access these using http, much faster).
The ISO contains a squashfs archive of the root file system used for live booting, in the "LiveOS" directory. Copy the LiveOS directory to your http server.
The ISO has a boot menu at isolinux/isolinux.cfg. This was the model for the iPXE boot entry below, tweaked a bit for loading the root file system over http. It has also been tweaked for EFI booting, by adding the name of the kernel and a definition of an initrd variable to the boot environment. For details on the boot options, consult the dracut manual. I would expect adjusting it to fit the conventions of grub PXE booting to be trivial:
kernel ${boot-url}CentOS-7-x86_64-LiveGNOME-1708/vmlinuz initrd ${boot-url}CentOS-7-x86_64-LiveGNOME-1708/initrd.imgimgargs vmlinuz initrd=initrd.img ip=dhcp root=live:${boot-url}CentOS-7-x86_64-LiveGNOME-1708/squashfs.img rootfstype=auto ro rd.live.image quiet rhgb rd.luks=0 rd.md=0 rd.dm=0
"${boot-url}" is defined elsewhere. Replace it with the URL for the files on your http or tftp server, as appropriate.
Please let me know if you have any questions. Thanks, RandyOn Thursday December 28, 2017, Locane wrote:
I know that the files exist and are accessible, since they are the same files that regular legacy PXE references. That root= parameter is in the legacy PXE menu entry too. Here's the legacy PXE menu entry that works if you're curious: LABEL LiveCD kernel /images/LiveCD/vmlinuz MENU LABEL ^LiveCD append initrd=/images/LiveCD/initrd.img ksdevice=bootif root=live:/ boot.iso kssendmac text ks=http://<SERVER IP>/cblr/svc/op/ks/profile/LiveCD ipappend 2 On Thu, Dec 28, 2017 at 12:12 PM, Locane <address@hidden> wrote: The grub entry looks like this currently: menuentry 'Do not use broken livecd' { linuxefi images/LiveCD/vmlinuz initrd=images/LiveCD/initrd.img ksdevice= bootif lang= root=live:/boot.iso kssendmac text ks=http://<SERVER IP>/ cblr/svc/op/ks/profile/LiveCD initrdefi images/LiveCD/initrd.img } On Thu, Dec 28, 2017 at 12:09 PM, Randy Goldenberg < address@hidden> wrote: On Wednesday December 27, 2017, Locane wrote: Hello all! I hope this is the appropriate list for Grub2 questions, if not please let me know. As a self-taught DevOps person, I'm missing some knowledge. At the moment, I'm trying to boot a 1.2 gigabyte CentOS 7.4 livecd from an EFI PXE menu using grubx64.efi, and I'm running in to the error "Cannot allocate initrd". How have you configured grub for booting the live CD? Thanks, Randy _______________________________________________ Help-grub mailing list address@hidden https://lists.gnu.org/mailman/listinfo/help-grub
[Prev in Thread] | Current Thread | [Next in Thread] |