Hi,<div><br></div><div>I think that everything is clear. What actually you want to know?</div><div><br></div><div>DHCP >>> undionly >>> DHCP file (boot.php) (load menu.c32 directly)</div><div>Im not using pxelinux at all.</div>

<div><br></div><div>Regards,</div><div>Slawek</div><div><br><div class="gmail_quote">W dniu 19 listopada 2011 01:41 użytkownik Chee-Yang Chau <span dir="ltr"><<a href="mailto:cychau@gmail.com">cychau@gmail.com</a>></span> napisał:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">I have tried both syslinux 4.04 and 4.10's menu.c32, and it doesn't<br>
work.   However Syslinux 3.86 works.  How is your configuration?<br>
<br>
2011/11/19 Slawomir Latkowski <<a href="mailto:slawomir.latkowski@gmail.com">slawomir.latkowski@gmail.com</a>>:<br>
<div class="HOEnZb"><div class="h5">> Hi,<br>
> The way i use it is the latest syslinux 4.04 menu.c32 and use menu.c32<br>
> directly as follows boot.php:<br>
><br>
> <?php<br>
><br>
> header ( "Content-type: text/plain" );<br>
><br>
> $uri=$_SERVER["REQUEST_URI"];<br>
> $dir=substr ( $uri, 0, strrpos ($uri, "/") + 1);<br>
><br>
> echo "#!gpxe\n";<br>
> echo "imgfree\n";<br>
> echo "login\n";<br>
> echo "chain ".<br>
>      "https://\${username:uristring}:\${password:uristring}@".<br>
>      $_SERVER["HTTP_HOST"].$dir.<br>
>      "menu.c32 menu.php\n";<br>
> ?><br>
><br>
> menu.php needs small correction:<br>
><br>
>   <?php<br>
><br>
>   header ( "Content-type: text/plain" );<br>
><br>
>   $username = $_SERVER["PHP_AUTH_USER"];<br>
>   $password = $_SERVER["PHP_AUTH_PW"];<br>
><br>
>   $index = 0;<br>
><br>
>   function title ( $title ) {<br>
>     global $username;<br>
>     echo "menu title ".$title;<br>
>     echo ( $username ? " for ".$username : "" )."\n";<br>
>   }<br>
><br>
>   function label ( $label ) {<br>
>     global $index;<br>
>     $index++;<br>
>     echo "label item".$index."\n";<br>
>     echo "  menu label ";<br>
>     echo "^".( ( $index < 10 ) ? $index :<br>
>                sprintf ( "%c", $index + ord ( 'A' ) - 10 ) )." ";<br>
>     echo $label."\n";<br>
>   }<br>
><br>
>   function sanboot ( $label, $root_path ) {<br>
>     label ( $label );<br>
>     echo "  kernel cmd.c32\n";<br>
>     echo "  append sanboot ".$root_path."\n";<br>
>     echo "\n";<br>
>   }<br>
><br>
>   function uriboot ( $label, $uri, $args ) {<br>
>     label ( $label );<br>
>     echo "  kernel ".$uri."\n";<br>
>     if ( $args )<br>
>         echo "  append ".$args."\n";<br>
>   }<br>
><br>
>   function retry () {<br>
>     echo "label failed\n";<br>
>     echo "  menu label Authentication Failed\n";<br>
>     echo "  menu disable\n";<br>
>     uriboot ( "Try again", "boot.php", "" );<br>
>   }<br>
><br>
>   function authenticated () {<br>
>     global $username;<br>
>     global $password;<br>
><br>
>     switch ( "$username:$password" ) {<br>
>     case "mcb30:password":<br>
>     case "guest:guest":<br>
>       return 1;<br>
>     default:<br>
>       return 0;<br>
>     }<br>
>   }<br>
><br>
>   ?><br>
><br>
>   menu background atlantis.png<br>
>   prompt 0<br>
>   timeout 100<br>
>   allowoptions 0<br>
>   menu timeoutrow 29<br>
>   menu vshift 2<br>
>   menu rows 8<br>
>   menu color title  1;36;44   #ff8bc2ff #00000000 std<br>
>   menu color unsel  37;44     #ff1069c5 #00000000 std<br>
>   menu color sel    7;37;40   #ff000000 #ffff7518 all<br>
>   menu color hotkey 1;37;44   #ffffffff #00000000 std<br>
>   menu color hotsel 1;7;37;40 #ff000431 #ffff7518 all<br>
><br>
>   <?php // <<<<<<<<<<<<<<<<<<<<<<< THIS PART IS MISSING<br>
><br>
>   title ( "Secure Network Boot" );<br>
><br>
>   if ( ! authenticated() ) {<br>
>     retry();<br>
>   } else {<br>
><br>
>     if ( $username == "mcb30" ) {<br>
><br>
>       sanboot ( "MS-DOS 6.22",<br>
>                 "iscsi:chipmunk.tuntap::::iqn.2007-07.chipmunk:msdos622" );<br>
><br>
>       sanboot ( "Windows 2k3",<br>
>                 "iscsi:chipmunk.tuntap::::iqn.2007-07.chipmunk:win2k3" );<br>
><br>
>     }<br>
><br>
>     uriboot ( "Linux rescue shell",<br>
>               "<a href="http://chipmunk.tuntap/images/uniboot/uniboot.php" target="_blank">http://chipmunk.tuntap/images/uniboot/uniboot.php</a>", "" );<br>
>   }<br>
><br>
>   ?><br>
><br>
> It works with me<br>
> Hope it helps.<br>
> Regards<br>
> Slawek<br>
> W dniu 18 listopada 2011 17:08 użytkownik Sven Dreyer <<a href="mailto:sven@dreyer-net.de">sven@dreyer-net.de</a>><br>
> napisał:<br>
>><br>
>> Am 18.11.2011 16:20, schrieb Chee-Yang Chau:<br>
>>><br>
>>> Due to the lack of support of menu in iPXE, I force to use chain to<br>
>>> PXELinux's menu.<br>
>><br>
>> I'm also using a menu and doing it in a (as I think) simpler fashion:<br>
>><br>
>> BIOS > NIC's PXE ROM > DHCP and TFTP > ipxe.kpxe > script (see below) ><br>
>> menu.c32 > menu.cfg<br>
>><br>
>> The script goes like this:<br>
>> <SNIP><br>
>> #!ipxe<br>
>> chain <a href="http://my-server/menu/menu.c32" target="_blank">http://my-server/menu/menu.c32</a> <a href="http://my-server/menu.cfg" target="_blank">http://my-server/menu.cfg</a><br>
>> </SNIP><br>
>><br>
>> menu.c32 is from syslinux 3.86, later versions use a different module<br>
>> format.<br>
>> menu.cfg contains the menu's configuration<br>
>><br>
>> Hope this helps,<br>
>> Sven<br>
>> _______________________________________________<br>
>> ipxe-devel mailing list<br>
>> <a href="mailto:ipxe-devel@lists.ipxe.org">ipxe-devel@lists.ipxe.org</a><br>
>> <a href="https://lists.ipxe.org/mailman/listinfo/ipxe-devel" target="_blank">https://lists.ipxe.org/mailman/listinfo/ipxe-devel</a><br>
><br>
><br>
<br>
<br>
<br>
</div></div><div class="HOEnZb"><div class="h5">--<br>
Best regards,<br>
Chau Chee Yang<br>
</div></div></blockquote></div><br></div>