iPXE discussion forum
Display bug with console/PNG feature - Printable Version

+- iPXE discussion forum (https://forum.ipxe.org)
+-- Forum: iPXE user forums (/forumdisplay.php?fid=1)
+--- Forum: General (/forumdisplay.php?fid=2)
+--- Thread: Display bug with console/PNG feature (/showthread.php?tid=18285)



Display bug with console/PNG feature - misty - 2019-05-22 06:19

I'm using ipxe.efi compiled on Ubuntu (approximately one week ago).

When booting windows from an iscsi target (SANBOOT) the display is unreadable. I have traced the issue to the following command in my ipxe menu script -

console --picture ipxe.png

Commenting out this line removed the issue. Screenshots of the problem -

http://mistyprojects.co.uk/screenshots/2019.05.20_1.jpg

http://mistyprojects.co.uk/screenshots/2019.05.20_2.jpg

This bug/error was discovered when installing windows to an iscsi target by booting into WinPE (SANHOOK target and booting via wimboot) and running setup.exe. Stage 1 of setup (selecting the target disk and applying install.wim, etc) completed fine and the display was rendered properly. Following the reboot and starting stage 2 resulted in the display issue.

I lengthy thread I started on the reboot.pro forum documents my setup and this issue in much more detail -

http://reboot.pro/topic/22026-sanboot-windows-on-uefi-system

Misty

P.s. let me know if there is anything I can do to try and trace the issue, or if any more details are required.


RE: Display bug with console/PNG feature - NiKiZe - 2019-05-22 06:33

which arguments are you using to wimboot?

Have you tried removing the image / reseting console before starting wimboot?


RE: Display bug with console/PNG feature - misty - 2019-05-22 07:39

(2019-05-22 06:33)NiKiZe Wrote:  which arguments are you using to wimboot?

Have you tried removing the image / reseting console before starting wimboot?

Hi NiKiZe
wimboot works fine. The issue is encountered during the second stage of Windows setup (and also when booting an installed Windows) after issuing a SANBOOT command. wimboot is not used at all during this stage.

I am happy to try resetting the console - can you provide an example command for me to try when I get home.

Misty


RE: Display bug with console/PNG feature - NiKiZe - 2019-05-22 18:21

humor me, how are you booting wimboot, since you don't have issues there correct?


RE: Display bug with console/PNG feature - misty - 2019-05-22 19:35

(2019-05-22 18:21)NiKiZe Wrote:  humor me, how are you booting wimboot, since you don't have issues there correct?

Happy to humour you. No issues with wimboot. iPXE menu entry for stage 1 (used to run Windows setup.exe) -
Code:
set gateway 0.0.0.0
set initiator-iqn iqn.client
echo -n Enter IQN filename:
read IQN
set iscsi-target iscsi:${boot-ip}::::${IQN}
echo iscsi-target = ${iscsi-target}
prompt Press any key to continue...
sanhook ${iscsi-target}
kernel ${boot-url}/wimboot pause
iseq ${platform} efi && initrd -n bootx64.efi ${boot-url}/bootx64.efi bootx64.efi ||
iseq ${platform} pcbios && initrd -n bootmgr ${boot-url}/bootmgr bootmgr ||
initrd -n BCD         ${boot-url}/boot/BCD           BCD ||
initrd -n boot.sdi    ${boot-url}/boot/boot.sdi      boot.sdi ||
initrd -n boot.wim    ${boot-url}/boot/boot.wim      boot.wim ||
prompt press any key to continue...
boot

Thanks for the tip about clearing the console. Adding the following to my menu entry worked -
Code:
console

Full menu entry for stage 2 (SANBOOT) with console command now added to clear the console -
Code:
console
set gateway 0.0.0.0
set initiator-iqn iqn.client
echo -n Enter IQN filename:
read IQN
set iscsi-target iscsi:${boot-ip}::::${IQN}
echo iscsi-target = ${iscsi-target}
prompt Press any key to continue...
sanboot ${iscsi-target}
boot

Misty


RE: Display bug with console/PNG feature - NiKiZe - 2019-05-22 19:55

So no gui on the wimboot lne, could you try with gui on the wimboot line?
I would expect you to get the same result there as well - just looking for a reproducable test case.

Great hearing that console clears it, maybe this is something that should be handled by iPXE boot part, or wimboot


RE: Display bug with console/PNG feature - misty - 2019-05-25 08:00

(2019-05-22 19:55)NiKiZe Wrote:  So no gui on the wimboot lne, could you try with gui on the wimboot line?
I would expect you to get the same result there as well - just looking for a reproducable test case.

Great hearing that console clears it, maybe this is something that should be handled by iPXE boot part, or wimboot

@NiKiZe
My previous post only contained a part of my iPXE menu. The full menu that can hopefully be used to reproduce the display bug is contained below.

I should also mention for those that do not want to trawl through the lengthy thread on reboot.pro that this display bug was encountered with a Client system booting in UEFI mode with CSM disabled.

Stage 1 (menu item iscsia) booted fine and the display bug was not encountered. Stage 1 (SANHOOK the iSCSI Target and boot WinPE) was used to install Windows - using Windows setup.exe. After setup completed an automatic reboot occured.

The bug occurred when booting Stage 2 (menu item iscsib), executed after the Stage 1 reboot. Interestingly during one of my tests (after adding a displaybootmenu yes entry to the BCD store) a boot menu was correctly displayed followed by a Windows background image for a few seconds, then the console bug was encountered and I was not able to read the display.

Hope this makes sense.

Misty


Code:
#!ipxe
#SET BACKGROUND PICTURE AND PROCEED - IF ERROR, GOTO NEXT LINE
console --picture ipxe.png ||
iseq ${next-server} ${dhcp-server} && goto dhcp ||
set boot-url http://${next-server}
set boot-ip ${next-server}
goto main

:dhcp
set boot-url http://${dhcp-server}
set boot-ip ${dhcp-server}
goto main

#================ Main Menu =================
:main
menu iPXE boot menu
item --gap --           next-server - ${next-server}
item --gap --           dhcp-server - ${dhcp-server}
item --gap --           boot-url    - ${boot-url}
item --gap --           boot-ip     - ${boot-ip}
item --gap --         ----------------- Options --------------
item iscsia        iSCSI - Define IQN and SANHOOK (+wimboot)
item iscsib        iSCSI - Define IQN and SANBOOT
item winpe        WinPE (wimboot)
item --gap --         ------------------- Misc ---------------
item config        View configuration settings
item shell        Shell
item exit        Exit
choose target && goto ${target}

#============= END Main Menu ================

:iscsia
set gateway 0.0.0.0
set keep-san 1
set initiator-iqn iqn.client
echo -n Enter IQN filename:
read IQN
set iscsi-target iscsi:${boot-ip}::::${IQN}
echo iscsi-target = ${iscsi-target}
prompt Press any key to continue...
sanhook ${iscsi-target}
kernel ${boot-url}/wimboot pause
iseq ${platform} efi && initrd -n bootx64.efi ${boot-url}/bootx64.efi bootx64.efi ||
iseq ${platform} pcbios && initrd -n bootmgr ${boot-url}/bootmgr bootmgr ||
initrd -n BCD         ${boot-url}/boot/BCD           BCD ||
initrd -n boot.sdi    ${boot-url}/boot/boot.sdi      boot.sdi ||
initrd -n boot.wim    ${boot-url}/boot/boot.wim      boot.wim ||
prompt press any key to continue...
boot

:iscsib
set gateway 0.0.0.0
set keep-san 1
set initiator-iqn iqn.client
echo -n Enter IQN filename:
read IQN
set iscsi-target iscsi:${boot-ip}::::${IQN}
echo iscsi-target = ${iscsi-target}
prompt Press any key to continue...
sanboot ${iscsi-target}
boot

:winpe
kernel ${boot-url}/wimboot pause
iseq ${platform} efi && initrd -n bootx64.efi ${boot-url}/bootx64.efi bootx64.efi ||
iseq ${platform} pcbios && initrd -n bootmgr ${boot-url}/bootmgr bootmgr ||
initrd -n BCD         ${boot-url}/boot/BCD           BCD ||
initrd -n boot.sdi    ${boot-url}/boot/boot.sdi      boot.sdi ||
initrd -n boot.wim    ${boot-url}/boot/boot.wim      boot.wim ||
prompt press any key to continue...
boot

:config
config
goto main

:shell
shell
goto main

:exit
exit