Discussion:
Unable to UEFI boot 11.2 via pxeboot
Timo Völker
2018-07-31 12:16:24 UTC
Permalink
Hi,

I'm unable to boot up the amd64 11.2 via pxeboot using UEFI on a Dell PowerEdge R430. I get this output

https://ibb.co/h5ntuT

If I press a key to interrupt reboot, I get to the OK prompt. If I enter lsdev -v, it prints nothing more than "net devices:". The variable currdev is not set (show currdev prints variable 'currdev' not found). I configured pxeboot to be the one and only boot medium in BIOS setup.

However, I found a workaround that works for me. If I put an (empty) USB stick in a USB port of the PowerEdge, it successfully boots via pxeboot (which is still the one and only configured boot medium). I then get this output

https://ibb.co/mU8SM8

With FreeBSD 11.1 pxeboot worked on the Dell PowerEdge R430, even without a USB stick plugged in. I couldn't test this with FreeBSD 12-current. Hope this helps anyway to find an open issue.

I found this thread which seems to be related.

https://lists.freebsd.org/pipermail/freebsd-current/2018-July/070082.html

Thanks,

Timo
Timo Völker
2018-08-02 12:08:56 UTC
Permalink
It seems this issue is related to current as well. I did a quick test and got this output, while I tried to (pxe)boot FreeBSD current (without a USB stick plugged in)

https://ibb.co/no8Fve

Best regards

Timo
Post by Timo Völker
Hi,
I'm unable to boot up the amd64 11.2 via pxeboot using UEFI on a Dell PowerEdge R430. I get this output
https://ibb.co/h5ntuT
If I press a key to interrupt reboot, I get to the OK prompt. If I enter lsdev -v, it prints nothing more than "net devices:". The variable currdev is not set (show currdev prints variable 'currdev' not found). I configured pxeboot to be the one and only boot medium in BIOS setup.
However, I found a workaround that works for me. If I put an (empty) USB stick in a USB port of the PowerEdge, it successfully boots via pxeboot (which is still the one and only configured boot medium). I then get this output
https://ibb.co/mU8SM8
With FreeBSD 11.1 pxeboot worked on the Dell PowerEdge R430, even without a USB stick plugged in. I couldn't test this with FreeBSD 12-current. Hope this helps anyway to find an open issue.
I found this thread which seems to be related.
https://lists.freebsd.org/pipermail/freebsd-current/2018-July/070082.html
Thanks,
Timo
Kyle Evans
2018-08-02 13:42:38 UTC
Permalink
Post by Timo Völker
It seems this issue is related to current as well. I did a quick test and got this output, while I tried to (pxe)boot FreeBSD current (without a USB stick plugged in)
https://ibb.co/no8Fve <https://ibb.co/no8Fve>
Best regards
Timo
the hint is about efipart_inithandles() returning 2, thats errno code for ENOENT. congratz, you have hit the corner case:D
Since efinet_dev is part of devsw, we can not skip the devswitch init with such error, we still need to walk the list. Let me see if I can provide quick fix.
rgds,
toomas
Could you check the current with https://svnweb.freebsd.org/changeset/base/337131 <https://svnweb.freebsd.org/changeset/base/337131>
thanks,
toomas
Hmm... that's less than great. Is this worth an MFC + 11.2 EN? I'd
suspect it's not an entirely common case at all, but loader.efi is
highly visible and actually updated in stable/11 (vs. soon-to-be
thrown on ESP in head.

Thanks,

Kyle Evans
Toomas Soome via freebsd-hackers
2018-08-02 13:47:14 UTC
Permalink
Post by Kyle Evans
Post by Timo Völker
It seems this issue is related to current as well. I did a quick test and got this output, while I tried to (pxe)boot FreeBSD current (without a USB stick plugged in)
https://ibb.co/no8Fve <https://ibb.co/no8Fve>
Best regards
Timo
the hint is about efipart_inithandles() returning 2, thats errno code for ENOENT. congratz, you have hit the corner case:D
Since efinet_dev is part of devsw, we can not skip the devswitch init with such error, we still need to walk the list. Let me see if I can provide quick fix.
rgds,
toomas
Could you check the current with https://svnweb.freebsd.org/changeset/base/337131 <https://svnweb.freebsd.org/changeset/base/337131>
thanks,
toomas
Hmm... that's less than great. Is this worth an MFC + 11.2 EN? I'd
suspect it's not an entirely common case at all, but loader.efi is
highly visible and actually updated in stable/11 (vs. soon-to-be
thrown on ESP in head.
Once the fix is confirmed, I think it is worth MFC (I haven't checked 11 source, however). I just want to be sure the provided patch will provide complete fix.

rgds,
toomas
Timo Völker
2018-08-03 07:28:47 UTC
Permalink
Hi Toomas,

it seems your fix works here. Some of the error messages remain, but I was able to (pxe)boot without a USB stick plugged in.

https://ibb.co/g8Bkfe

Right after the moment from the screenshot, the FreeBSD boot manager showed up.

Thanks,

Timo
Could you check the current with https://svnweb.freebsd.org/changeset/base/337131
thanks,
toomas
Post by Timo Völker
It seems this issue is related to current as well. I did a quick test and got this output, while I tried to (pxe)boot FreeBSD current (without a USB stick plugged in)
https://ibb.co/no8Fve
Best regards
Timo
the hint is about efipart_inithandles() returning 2, thats errno code for ENOENT. congratz, you have hit the corner case:D
Since efinet_dev is part of devsw, we can not skip the devswitch init with such error, we still need to walk the list. Let me see if I can provide quick fix.
rgds,
toomas
Post by Timo Völker
Post by Timo Völker
Hi,
I'm unable to boot up the amd64 11.2 via pxeboot using UEFI on a Dell PowerEdge R430. I get this output
https://ibb.co/h5ntuT
If I press a key to interrupt reboot, I get to the OK prompt. If I enter lsdev -v, it prints nothing more than "net devices:". The variable currdev is not set (show currdev prints variable 'currdev' not found). I configured pxeboot to be the one and only boot medium in BIOS setup.
However, I found a workaround that works for me. If I put an (empty) USB stick in a USB port of the PowerEdge, it successfully boots via pxeboot (which is still the one and only configured boot medium). I then get this output
https://ibb.co/mU8SM8
With FreeBSD 11.1 pxeboot worked on the Dell PowerEdge R430, even without a USB stick plugged in. I couldn't test this with FreeBSD 12-current. Hope this helps anyway to find an open issue.
I found this thread which seems to be related.
https://lists.freebsd.org/pipermail/freebsd-current/2018-July/070082.html
Thanks,
Timo
Toomas Soome via freebsd-hackers
2018-08-03 08:17:04 UTC
Permalink
Post by Timo Völker
Hi Toomas,
it seems your fix works here. Some of the error messages remain, but I was able to (pxe)boot without a USB stick plugged in.
https://ibb.co/g8Bkfe
Right after the moment from the screenshot, the FreeBSD boot manager showed up.
Thanks,
Timo
Ok, so far so good. As seen from the screen dump, some cleanup is required, I do not think we should print about efipart_inithandles() in case of errno 2 - thats perfectly normal case if there are no block devices. Update commited:)

rgds,
toomas
Post by Timo Völker
Could you check the current with https://svnweb.freebsd.org/changeset/base/337131
thanks,
toomas
Post by Timo Völker
It seems this issue is related to current as well. I did a quick test and got this output, while I tried to (pxe)boot FreeBSD current (without a USB stick plugged in)
https://ibb.co/no8Fve
Best regards
Timo
the hint is about efipart_inithandles() returning 2, thats errno code for ENOENT. congratz, you have hit the corner case:D
Since efinet_dev is part of devsw, we can not skip the devswitch init with such error, we still need to walk the list. Let me see if I can provide quick fix.
rgds,
toomas
Post by Timo Völker
Post by Timo Völker
Hi,
I'm unable to boot up the amd64 11.2 via pxeboot using UEFI on a Dell PowerEdge R430. I get this output
https://ibb.co/h5ntuT
If I press a key to interrupt reboot, I get to the OK prompt. If I enter lsdev -v, it prints nothing more than "net devices:". The variable currdev is not set (show currdev prints variable 'currdev' not found). I configured pxeboot to be the one and only boot medium in BIOS setup.
However, I found a workaround that works for me. If I put an (empty) USB stick in a USB port of the PowerEdge, it successfully boots via pxeboot (which is still the one and only configured boot medium). I then get this output
https://ibb.co/mU8SM8
With FreeBSD 11.1 pxeboot worked on the Dell PowerEdge R430, even without a USB stick plugged in. I couldn't test this with FreeBSD 12-current. Hope this helps anyway to find an open issue.
I found this thread which seems to be related.
https://lists.freebsd.org/pipermail/freebsd-current/2018-July/070082.html
Thanks,
Timo
Timo Völker
2018-08-03 11:50:14 UTC
Permalink
Post by Toomas Soome via freebsd-hackers
Post by Timo Völker
Hi Toomas,
it seems your fix works here. Some of the error messages remain, but I was able to (pxe)boot without a USB stick plugged in.
https://ibb.co/g8Bkfe
Right after the moment from the screenshot, the FreeBSD boot manager showed up.
Thanks,
Timo
Ok, so far so good. As seen from the screen dump, some cleanup is required, I do not think we should print about efipart_inithandles() in case of errno 2 - thats perfectly normal case if there are no block devices. Update commited:)
rgds,
toomas
It still works and it looks better with less error messages :-)

https://ibb.co/bVv9Oz

Thanks,

Timo
Post by Toomas Soome via freebsd-hackers
Post by Timo Völker
Could you check the current with https://svnweb.freebsd.org/changeset/base/337131
thanks,
toomas
Post by Timo Völker
It seems this issue is related to current as well. I did a quick test and got this output, while I tried to (pxe)boot FreeBSD current (without a USB stick plugged in)
https://ibb.co/no8Fve
Best regards
Timo
the hint is about efipart_inithandles() returning 2, thats errno code for ENOENT. congratz, you have hit the corner case:D
Since efinet_dev is part of devsw, we can not skip the devswitch init with such error, we still need to walk the list. Let me see if I can provide quick fix.
rgds,
toomas
Post by Timo Völker
Post by Timo Völker
Hi,
I'm unable to boot up the amd64 11.2 via pxeboot using UEFI on a Dell PowerEdge R430. I get this output
https://ibb.co/h5ntuT
If I press a key to interrupt reboot, I get to the OK prompt. If I enter lsdev -v, it prints nothing more than "net devices:". The variable currdev is not set (show currdev prints variable 'currdev' not found). I configured pxeboot to be the one and only boot medium in BIOS setup.
However, I found a workaround that works for me. If I put an (empty) USB stick in a USB port of the PowerEdge, it successfully boots via pxeboot (which is still the one and only configured boot medium). I then get this output
https://ibb.co/mU8SM8
With FreeBSD 11.1 pxeboot worked on the Dell PowerEdge R430, even without a USB stick plugged in. I couldn't test this with FreeBSD 12-current. Hope this helps anyway to find an open issue.
I found this thread which seems to be related.
https://lists.freebsd.org/pipermail/freebsd-current/2018-July/070082.html
Thanks,
Timo
Loading...