Can not boot RHEL 7.3 by using iPXE
|
2016-12-01, 03:59
Post: #1
|
|||
|
|||
Can not boot RHEL 7.3 by using iPXE
Hi,
I am trying to boot RHEL 7.3 by using iPXE (0c8d16 and fd95c). The hardware is HP ProLiant DL360 Gen9. However, Linux kernel does not start up after downloading initrd and vmlinuz. It looks like downloading initrd and vmlinuz was completed. - Screenshot: https://www.dropbox.com/s/73edzv79jhul5o...enshot.png - dhcpd.conf: https://www.dropbox.com/s/yhpfvlotq06g5d3/dhcpd.conf - boot.ipxe: https://www.dropbox.com/s/of0e31md6zhbubx/boot.ipxe I can boot vmlinuz of RHEL 7.1 with initrd of RHEL 7.3. Therefore, I think the cause of this is vmlinuz of RHEL 7.3. Can anyone boot RHEL/CentOS 7.3 by using iPXE? Sorry for my poor English... |
|||
2016-12-01, 23:21
Post: #2
|
|||
|
|||
RE: Can not boot RHEL 7.3 by using iPXE
there is no official ipxe git version of 0c8d16 Where does your ipxe come from? is it based on the latest git master?
HP is somewhat problematic, and so is several RHEL and CentOS releases But if I understood you correctly you have tried other EFI boots on the same hardware that works? Have you tried the problematic version in a VM with EFI boot? Use GitHub Discussions VRAM bin |
|||
2016-12-07, 08:16
Post: #3
|
|||
|
|||
RE: Can not boot RHEL 7.3 by using iPXE
I used PXELINUX following the RHEL official manual (Sec 21.1.2).
And deploying RHEL 7.3 was succeeded. https://access.redhat.com/documentation/...setup.html So, I think latest iPXE has compatibility issues on RHEL 7.3. |
|||
2016-12-07, 08:47
Post: #4
|
|||
|
|||
RE: Can not boot RHEL 7.3 by using iPXE
Your screenshot shows a efi boot, did you use efi version of pxelinux? (just trying to clear up which mode is used where)
You can always use ipxe for legacy bios boot which I'm sure will work. It is known that some HP machines have troubles with ipxe.efi make sure firmware is update on the machine. Also there is known problems with older versions of RH in efi mode, due to them using old versions of the kernel. Use GitHub Discussions VRAM bin |
|||
2016-12-14, 09:06
(This post was last modified: 2016-12-14 09:07 by sspans.)
Post: #5
|
|||
|
|||
RE: Can not boot RHEL 7.3 by using iPXE
I have the same issue with iPXE, UEFI, CentOS 7.3 and HP G9 hardware.
We have a working configuration for CentOS 7.2 with the 32mb.bin hacks to deal with the older kernel: Code: :centos-7-uefi However this config doesn't seem to work for the 7.3 installer. I'm planning to evaluate some alternative solutions next week. (using an elrepo kernel, bootstrapping via grub + memdisk, etc). |
|||
2016-12-14, 19:28
Post: #6
|
|||
|
|||
RE: Can not boot RHEL 7.3 by using iPXE
(2016-12-14 09:06)sspans Wrote: I have the same issue with iPXE, UEFI, CentOS 7.3 and HP G9 hardware. If it hangs during kernel boot it should have been resolved a week or two ago in git master, if it still does not it would help if the exact ipxe git version was posted, as well as error description. (2016-12-14 09:06)sspans Wrote: However this config doesn't seem to work for the 7.3 installer.Could you describe more what you mean by "doesn't seem to work" ? does it hang, if so what do you see on screen, if not i guess you get some kind of error message? (2016-12-14 09:06)sspans Wrote: I'm planning to evaluate some alternative solutions next week.memdisk does not work in efi mode. Use GitHub Discussions VRAM bin |
|||
2016-12-16, 02:34
Post: #7
|
|||
|
|||
RE: Can not boot RHEL 7.3 by using iPXE
Hello,
I can confirm the same behavior also on non-HP UEFI hardware (Quanta / QCT). We chainload iPXE from the stock PXE firmware then call something very similar to what sspans posted. All we can see is that the initrd / vmlinuz image loads as usual, but then we only get a blinking cursor in top left of the screen (freeze). Eventually the server reboot by itself. git log show that I compiled and executed: Code: commit 26050fd4c87c50503d5bd573b2ec91703676e211 I believe this is master / latest. The exact same setup with the CentOS 7.2 vmlinuz works perfectly. Also booting a grub2 core.efi network image directly (not using iPXE) to load the same vmlinuz / initrd works (but of course, that's like going back 10 yrs in term of automation capabilities ) Thanks for you help. Math. |
|||
2016-12-19, 09:56
Post: #8
|
|||
|
|||
RE: Can not boot RHEL 7.3 by using iPXE
(2016-12-14 19:28)NiKiZe Wrote:(2016-12-14 09:06)sspans Wrote: I have the same issue with iPXE, UEFI, CentOS 7.3 and HP G9 hardware. I will give master a shot and report back, however I expect results similar to mathp. (2016-12-14 19:28)NiKiZe Wrote:(2016-12-14 09:06)sspans Wrote: However this config doesn't seem to work for the 7.3 installer.Could you describe more what you mean by "doesn't seem to work" ? does it hang, if so what do you see on screen, if not i guess you get some kind of error message? Black screen followed by an eventual reboot (2016-12-14 19:28)NiKiZe Wrote:(2016-12-14 09:06)sspans Wrote: I'm planning to evaluate some alternative solutions next week.memdisk does not work in efi mode. I was referring to the grub memdisk feature - which allows creation of a single grub image with kernel/initrd embedded. |
|||
2016-12-19, 15:18
Post: #9
|
|||
|
|||
RE: Can not boot RHEL 7.3 by using iPXE
I've just verified that master / 26050fd4c87c50503d5bd573b2ec91703676e211 shows the same results, RHEL 7.2 kernels work (with 32mb.bin) and 7.3 kernels fail (black screen + reboot)
|
|||
2016-12-20, 07:12
Post: #10
|
|||
|
|||
RE: Can not boot RHEL 7.3 by using iPXE
I found a way using the CentOS 7.3 kernel to make this work, but it's largely inspired by allenb CentOS 7 post : http://forum.ipxe.org/showthread.php?tid...0#pid12480
Instead of using the ELRepo Kernel, I just went with the currently updated 7.3 kernel version: Code: mkdir POC && cd $_ This gave me the following starting structure: Code: /home/mathp/POC/ The following steps match the ones described by "allenb", but with a few differences in the compression used and the depmod command. I also needed to load extra modules, but that is probably just a dependency of my kickstart pre-scripts (I create a ram drive to save some settings to be used between the pre and post script). Code: cd kernel/ I then use the resulting vmlinuz / initrd in the very straight forward iPXE fashion: Code: set my-initrd initrd.img-3.10.0-514.2.2.el7.x86_64 Output: Code: http://[removed]/ai/boot-images/centos/7.3.1611/initrd.img-3.10.0-514.2.2.el7.x86_64... ok The only thing that I found in the kernel RPM change log between the "stock" centos 7.3 kernel and this published updated version that I think might be applicable is: Quote:* Fri Nov 04 2016 Frantisek Hrbata <fhrbata@hrbata.com> [3.10.0-514.2.1.el7] I'm not certain where to look to find any information on that patch... Anyway, this is by far not an ideal solution, more like an ugly patch to the problem, but at least it works, and using centos / RHEL provided kernel. I'm quite certain this is not an iPXE problem but really a problem with the stock pxelinux/vmlinuz kernel in the installation media / repo. Hope this helps. Math. |
|||
2016-12-20, 14:48
Post: #11
|
|||
|
|||
RE: Can not boot RHEL 7.3 by using iPXE
I've decided to stick to the grub-wrapper solution for now.
Script + grub.cfg below: Code: #!/bin/bash -ex grub.cfg: Code: net_bootp efinet0 |
|||
2016-12-21, 01:14
(This post was last modified: 2016-12-21 01:29 by mathp.)
Post: #12
|
|||
|
|||
RE: Can not boot RHEL 7.3 by using iPXE
For people finding this post because they have issues installing RHEL 7.3 / CentOS 7.3 on UEFI hardware using iPXE...
There is a bug in the "stock" kernel that came out with 7.3 and the installer pxelinux/vmlinuz image is not working. The updated kernel, i.e. kernel-3.10.0-514.2.2.el7.x86_64.rpm fixes this issue. Hopefully, this will save someone from wasting time like I did. If someone has a "simpler" alternative to the solution I posted earlier in this thread, or if the nice people supporting CentOS decide that it would make more sense to update the installer vmlinuz / initrd and squashfs, I think that the iPXE community would thank you!!! http://rhn.redhat.com/errata/RHBA-2016-2862.html Code: * After migration to Red Hat Enterprise Linux 7.3, the Unified Extensible |
|||
2016-12-21, 03:50
(This post was last modified: 2016-12-21 04:22 by mathp.)
Post: #13
|
|||
|
|||
RE: Can not boot RHEL 7.3 by using iPXE
If the hackish solution I posted earlier is for you, and like me, you don't like "force loading" some kernel modules because the ones in the squashfs.img images are an older version, you can completely skip creating and populating the "etc/modules-load.d" directory by also updating the modules inside the squashfs.img images:
"Unsquash" the image: Code: yum install squashfs-tools Mount the live O/S filesystem contained within the squashfs image: Code: cd ~mathp/POC Replace the kernel modules and unmount the live O/S filesystem: Code: rm -rf LiveOS-tmp/usr/lib/modules/3.10.0-514.el7.x86_64/ Re-create the squashfs image: Code: cd squashfs-tmp/ A this point, you need to copy the new squashfs image to a directory accessible by your iPXE client. The simplest form is to create a LiveOS directory and put the new squashfs.img file into it, then reference the parent directory in your iPXE config / kernel parameters (via inst.stage2=). For example, with the files accessible in the following structure: Code: http://install-services/boot-images/centos/7.3.1611/ you can use something like: Code: set my-initrd initrd.img-3.10.0-514.2.2.el7.x86_64 where ${params} is set to all your other installation parameters (inst.ks, console, inst.text BOOTIF=, etc.) Have fun ;-) |
|||
2017-01-19, 22:15
Post: #14
|
|||
|
|||
RE: Can not boot RHEL 7.3 by using iPXE
(2016-12-20 14:48)sspans Wrote: I've decided to stick to the grub-wrapper solution for now. How did you get 'net_bootp efinet0' to work? Mine keeps saying 'error: couldn't autoconfigure efinet0' I get the same response with just the command 'net_bootp'. |
|||
2017-06-01, 12:19
Post: #15
|
|||
|
|||
RE: Can not boot RHEL 7.3 by using iPXE
Thank you very much for posting this info.
I was very relieved to get anaconda running to completion, however on reboot my machine just dropped me into a grub shell and I can't determine if my kickstart file is bad or somehow I've made a mistake repeating the process above. As a few months have passed I have used kernel 3.10.0-514.21.1.el7.x86_64 My kickstart options are to use autopart with lvm and my bootloader option is a very simple bootloader --location=mbr (2016-12-20 07:12)mathp Wrote: I found a way using the CentOS 7.3 kernel to make this work, but it's largely inspired by allenb CentOS 7 post : http://forum.ipxe.org/showthread.php?tid...0#pid12480 |
|||
2017-06-07, 23:18
Post: #16
|
|||
|
|||
RE: Can not boot RHEL 7.3 by using iPXE
Hi jjmakin,
My understanding is that you iPXE booted successfully and that the installation ran normally. Then on first reboot you got stuck at the grub prompt? That sounds like the system is unable to find the proper boot "info". If you ended up in this thread, I assume you're booting UEFI native mode. Did "autopart" create the "EFI" partition properly? If so, I suggest you try adding "--boot-drive=<boot device name>" to the "bootloader" kickstart line (that works for me using GPT formatted disk), ex.: Code: bootloader --location=mbr --boot-drive=sda From the grub menu, you can also test this without re-installing by manually specifying the boot device... Sounds like your 95% there: if you had made a mistake in the long process I posted, I doubt the server would have PXE booted and installed without reporting an issue. Best, Math. (2017-06-01 12:19)jjmakin Wrote: Thank you very much for posting this info. |
|||
2017-06-08, 11:39
Post: #17
|
|||
|
|||
RE: Can not boot RHEL 7.3 by using iPXE
Hi Math,
Thank you for replying. I tried the same setup on different hardware and it worked fine, so thank you for the initial solution, which has worked wonders for me. (2017-06-07 23:18)mathp Wrote: Hi jjmakin, |
|||
2017-10-30, 21:36
Post: #18
|
|||
|
|||
RE: Can not boot RHEL 7.3 by using iPXE
Quick Update, I had great success with iPXE and "stock" CentOS 7.4.1708 installer kernel - no modification needed during my tests.
-mathp. |
|||
2017-11-21, 16:22
Post: #19
|
|||
|
|||
RE: Can not boot RHEL 7.3 by using iPXE
I am new to this forum and iPXE. I have been struggling to get my CentOS 7.4 1708 to PXEboot successfully ultimately to proceed to KickStart - using a VMware ESXi VM (BIOS and not EFI). Like this thread, both the CentOS's pxeboot initrd and vmlinuz files are being loaded via HTTP but vmlinuz fails to complete its boot due to not being able to mount the root filesystem.
I note that "mathp" says he/she had success with iPXE and "stock" Centos 7.4.1708 installer kernel. I would appreciate a snippet of the iPXE script that did this so that I can confirm my environment. Thanks WmYVR |
|||
2019-08-14, 18:34
(This post was last modified: 2020-06-16 09:16 by d4rk3.)
Post: #20
|
|||
|
|||
RE: Can not boot RHEL 7.3 by using iPXE
(2017-11-21 16:22)WmYVR Wrote: I am new to this forum and iPXE. I have been struggling to get my CentOS 7.4 1708 to PXEboot successfully ultimately to proceed to KickStart - using a VMware ESXi VM (BIOS and not EFI). Like this thread, both the CentOS's pxeboot initrd and vmlinuz files are being loaded via HTTP but vmlinuz fails to complete its boot due to not being able to mount the root filesystem. This is the only way I can get a VM with UEFI to boot CentOS 7-x86_64-1810. Hope this helps. Also, it will look like it's stuck, give it time. Probably a good 10 minutes or so. Eventually it will load the installation menu. Code: set repo http://mirror.centos.org/centos-7/7/os/x86_64 |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 2 Guest(s)