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-wi...efi-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.
which arguments are you using to wimboot?
Have you tried removing the image / reseting console before starting wimboot?
(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
humor me, how are you booting wimboot, since you don't have issues there correct?
(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 -
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
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
(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