[ipxe-devel] iPXE server

shouldbe q931 shouldbeq931 at gmail.com
Wed May 22 18:45:29 UTC 2013


On Wed, May 22, 2013 at 6:35 PM, Andrew Bobulsky <rulerof at gmail.com> wrote:
> Adding the list back in to my reply.  Generally on mailing lists like this
> one, Reply All is a good practice ;)
>
> Hello Marcel,
>
> The error you're getting is coming from the first line in your script:
>
>>
>> cpuid --ext 29 && set arch x86
>
>
> Your script as written doesn't actually make use of the ${arch} variable, so
> you could delete the line, comment it out, or add two pipe characters to the
> end of the line to tell iPXE to ignore the error and continue executing the
> script.
>
> Commented, it would look like this:
>
>>
>> #cpuid --ext 29 && set arch x86
>
>
>
> With the pipe operators (to ignore the error), it would look like this:
>
>>
>> cpuid --ext 29 && set arch x86 ||
>
>
>
> And finally, with the line deleted, your entire script should look like:
>
>>
>> #!ipxe
>> kernel http://192.168.1.254/win7DVD/wimboot
>> initrd http://192.168.1.254/win7DVD/bootmgr             bootmgr
>> initrd http://192.168.1.254/win7DVD/boot/bcd            BCD
>> initrd http://192.168.1.254/win7DVD/boot/boot.sdi       boot.sdi
>> initrd http://192.168.1.254/win7DVD/sources/boot.wim    boot.wim
>> imgstat
>> boot
>
>
> For more general info on how iPXE scripting works, take a look at the online
> documentation here: http://ipxe.org/scripting
> Good luck, and best regards,
> Andrew
>
>
> On Wed, May 22, 2013 at 8:34 AM, <m.m_de_vries at online.nl> wrote:
>>
>> And now with attachment.
>>
>> Hello Andrew,
>>
>> Thank you for your extensive answer!
>>
>> I have copied ipxe.usb to an usb stick. What happened you can see in the
>> attached file.
>> So after it found theboot.ipxe file it looks on http://ipxe.org/2d80e03b
>> My boot.ipxe file is:
>>
>> #!ipxe
>>
>> cpuid --ext 29 && set arch x86
>> kernel http://192.168.1.254/win7DVD/wimboot
>> initrd http://192.168.1.254/win7DVD/bootmgr             bootmgr
>> initrd http://192.168.1.254/win7DVD/boot/bcd            BCD
>> initrd http://192.168.1.254/win7DVD/boot/boot.sdi       boot.sdi
>> initrd http://192.168.1.254/win7DVD/sources/boot.wim    boot.wim
>> imgstat
>> boot
>>
>> So where is written that ipxe has to go to http://ipxe.org/2d80e03b?
>>
>> Kind regards,
>> Marcel
>>
>> ----- Oorspronkelijk bericht -----
>> Van: "Andrew Bobulsky" <rulerof at gmail.com>
>> Aan: "m m de vries" <m.m_de_vries at online.nl>
>> Cc: ipxe-devel at lists.ipxe.org
>> Verzonden: Dinsdag 21 mei 2013 03:30:36
>> Onderwerp: Re: [ipxe-devel] iPXE server
>>
>>
>>
>> bHello Marcel,
>>
>> You've asked a lot of questions here, so I'll do my best to answer them
>> inline with your original message.
>>
>> On Mon, May 20, 2013 at 7:30 AM, < m.m_de_vries at online.nl > wrote:
>>
>>
>> Hello,
>>
>> I have set up a pxe-server from which I can install Ubuntu and Windows7.
>> But when I boot PE-environment for installing WIndows it stops with a dis
>> shell. Then I have to make e new script to start the actual installation.
>> That's not what I want. The solution is simple, make a startup script in the
>> boot.wim file and it will start. OK that works. But now comes a problem,
>> whenI want to seperate a Windows 7 home installation from a Windows 7 Pro
>> installation. The problem is that I can only point to the .wim file and than
>> the BCD file wil be loaded. But there is no way to load another BCD file or
>> .wim file.
>>
>>
>> The BCD and WIM files that you provide to Wimboot can be modified, as it
>> looks like you have done, to start an automatic installation. The important
>> thing to realize here, though, is that wimboot isn't really a utility for
>> installing Windows, it's just designed to help you PXE boot Windows PE in a
>> modular fashion. The contents of the BCD don't have any influence on Windows
>> Setup, so the easiest method for you to create two different Windows PE boot
>> directories, identical in every way except for the boot.wim file. In one
>> boot.wim, pack in your automatic Windows 7 Home setup script. Put them in
>> side-by-side directories such that you can create two iPXE scripts, name the
>> first directory win7home and the second win7pro. Using the example from the
>> wimboot web page, script 1 could be named win7home.ipxe, and script 2 named
>> win7pro.ipxe, that look like this:
>>
>>
>>
>>
>> win7home.ipxe
>>
>>
>> #!ipxe
>> kernel wimboot
>> initrd win7home/bootmgr bootmgr
>> initrd win7home/boot/bcd BCD
>> initrd win7home/boot/boot.sdi boot.sdi
>> initrd win7home/sources/boot.wim boot.wim
>> imgstat
>> boot
>>
>>
>> win7pro.ipxe
>>
>>
>>
>> #!ipxe
>> kernel wimboot
>> initrd win7pro/bootmgr bootmgr
>> initrd win7pro/boot/bcd BCD
>> initrd win7pro/boot/boot.sdi boot.sdi
>> initrd win7pro/sources/boot.wim boot.wim
>> imgstat
>> boot
>> As the scripts imply, instead of having wimboot in the same folder as
>> bootmgr and the /boot/ folder, you'll have wimboot sitting in a folder with
>> two subfolders, one named win7home, and the other named win7pro, along with
>> the win7home.ipxe and win7pro.ipxe script files.
>>
>>
>> I tried iPXE but now I have the problem that the client doesn't load
>> boot.ipxe with the http protocol. It persist with the tftp protocol and
>> keeps telling me that it could not find the file. How can I force the client
>> to load the boot.ipxe file with http or load it with tftp. I followed the
>> instructions on http://ipxe.org/wimboot .
>>
>> When you're at the iPXE command line, in order to keep things as close to
>> the PXE spec as possible, if a protocol isn't specified in your URL, iPXE
>> will use TFTP by default.
>>
>> I'm not completely certain on this, but usually a command like
>>
>>
>>
>> chain http://webserver/script.ipxe
>>
>> will result in any further downloads done by iPXE to use the same protocol
>> that the script itself was downloaded with. However, if you find yourself
>> needing to force iPXE to use a particular protocol, just fill out the full
>> paths in the script itself. Using the win7pro.ipxe script I wrote above, try
>> this instead:
>>
>>
>>
>> win7pro.ipxe
>>
>>
>>
>> #!ipxe
>> kernel http://webserver/wimboot
>> initrd http://webserver/win7pro/bootmgr bootmgr
>> initrd http://webserver/win7pro/boot/bcd BCD
>> initrd http://webserver/win7pro/boot/boot.sdi boot.sdi
>> initrd http://webserver/win7pro/sources/boot.wim boot.wim
>> imgstat
>> boot
>> That should get the behavior you desire.
>>
>>
>> Is it possible to start an installation of Windows7 Home and Windows7 Pro
>> from the same pxeserver.
>> Thank you in advance.
>>
>> Kind Regards,
>> Marcel de Vries
>>
>> We do it all the time ;)
>>
>> Don't hesitate to mail back if you're at all confused, network booting can
>> be a little tricky when you first get into it! Good luck to you!
>>
>> Best Regards,
>> Andrew Bobulsky
>
>
>
> _______________________________________________



I use cpuid in the following method

:wimboot8winpe-iscsi-iscsi
echo Booting Windows8 PE for ${initiator-iqn}
set root-path ${base-iscsi}:${sbase-iqn}:${mac}.boot.win7
sanhook ${root-path} || goto failed
set base-url ${boot-url}/wimboot
cpuid --ext 29 && set arch amd64 || set arch x86
kernel ${base-url}/wimboot8winpe
initrd ${base-url}/${arch}/media/bootmgr                     bootmgr
initrd ${base-url}/${arch}/media/Boot/BCD                    BCD
initrd ${base-url}/${arch}/media/Boot/Fonts/segmono_boot.ttf segmono_boot.ttf
initrd ${base-url}/${arch}/media/Boot/Fonts/segoe_slboot.ttf segoe_slboot.ttf
initrd ${base-url}/${arch}/media/Boot/Fonts/wgl4_boot.ttf    wgl4_boot.ttf
initrd ${base-url}/${arch}/media/Boot/boot.sdi               boot.sdi
initrd ${base-url}/${arch}/media/sources/boot.wim            boot.wim
boot || goto failed
goto start



More information about the ipxe-devel mailing list