This worked:<br>
<br>
gPXE> dhcp net0<br>
gPXE> initrd <a href="http://ip-address/gpxe/initrd" target="_blank">http://ip-address/gpxe/initrd</a><br>

gPXE> kernel <a href="http://ip-address/gpxe/vmlinuz">http://ip-address/gpxe/vmlinuz</a> root=/dev/ram0 ramdisk_blocksize=4096 <br>

<div class="im"> ramdisk_size=144000000 <br>
</div>
gPXE> boot<br>
<br>
So gPXE doesn't like quotes.<br>
<br>
Thanks to Gene, Andrew, and Dmitri for all the hints!<br>
<br>Note: The http download of the 140 MB initrd was about ten times faster than tftp, confirming what H. Peter Anvin said in a similar thread.<br><br>Cheers!<br><br>
Ben Francis<br><br><div class="gmail_quote">On Fri, Aug 19, 2011 at 9:49 PM, Gene Cumm <span dir="ltr"><<a href="mailto:gene.cumm@gmail.com">gene.cumm@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On Fri, Aug 19, 2011 at 15:53, Andrew Bobulsky <<a href="mailto:rulerof@gmail.com">rulerof@gmail.com</a>> wrote:<br>
> Ben,<br>
><br>
> Not entirely sure what the problem is there.  In my experience, 150<br>
> megs or so should come down within 20 seconds on gigabit when using<br>
> the undionly.kpxe build.  The best suggestion that I have is to try<br>
> monitoring the download from the server end, if possible.  If your<br>
> webserver doesn't let you easily do that in real time, I can suggest<br>
> HFS.  It's a very small Windows app that makes a great HTTP File<br>
> Server in a pinch: <a href="http://www.rejetto.com/hfs/" target="_blank">http://www.rejetto.com/hfs/</a><br>
><br>
> Otherwise, perhaps someone else may have an idea :)<br>
><br>
> Cheers,<br>
> Andrew Bobulsky<br>
<br>
</div>1) What about Wireshark on the server?  This would be especially handy<br>
if something else by chance is interfering (although unlikely)<br>
<br>
2) Why not a middle of the road file (say 14 MiB but 10-20 would<br>
suffice nicely)?<br>
<br>
3) Is your initrd completely uncompressed?  If so, look into what<br>
decompression your kernel supports (recent kernels can even support XZ<br>
compressed initrds).<br>
<br>
4) Does it eventually load that initrd or does it eventually just<br>
fail?  What HTTP daemon?  Tried using your web browser to ensure you<br>
can appropriately download it (including a post-download check like<br>
sha1sum)?<br>
<br>
5) By "bigger blocksize", are you thinking the data size that each<br>
period character represents?  I know PXELINUX changed in the last year<br>
or so to a much larger block size per period character.<br>
<br>
--<br>
<font color="#888888">-Gene<br>
</font><div><div></div><div class="h5"><br>
> On Fri, Aug 19, 2011 at 3:19 PM, Ben Francis <<a href="mailto:wirelessben@gmail.com">wirelessben@gmail.com</a>> wrote:<br>
>> Dimitri,<br>
>><br>
>> The same initrd works when I boot over TFTP using pxelinux.0, but it doesn't<br>
>> work from the web directory, so I think the initrd is good. Thanks for<br>
>> archlinux link.<br>
>><br>
>> Andrew, I tried loading the initrd first before the kernel, i.e.<br>
>><br>
>> gPXE> dhcp net0<br>
>> DHCP (net0 mac-address).... ok<br>
>> gPXE> initrd <a href="http://ip-addres/gpxe/initrd" target="_blank">http://ip-addres/gpxe/initrd</a><br>
>> .............................................................................................................<br>
>> .....................................................................................................................................................<br>
>> .....................................................................................................................................................<br>
>> .......................(20 lines of this)<br>
>><br>
>> is the result for about ten minutes now. Same problem.<br>
>><br>
>> The initrd IS a huge file at 143MB, but my network downloads that size file<br>
>> over tftp in about a minute. gPXE was loading the 1.4 MB vmlinuz file in one<br>
>> second, so it seems gPXE knows how to download a file quickly.<br>
>><br>
>> Can the initrd command take parameters like a bigger blocksize, say 4096?<br>
>><br>
>> Ben<br>
>><br>
>> On Fri, Aug 19, 2011 at 6:08 PM, DiP <<a href="mailto:aspamkiller@yandex.ru">aspamkiller@yandex.ru</a>> wrote:<br>
>>><br>
>>> I think you have to check your initrd.<br>
>>> For me <a href="http://wiki.archlinux.org" target="_blank">wiki.archlinux.org</a> directions have been very usefull in that way.<br>
>>> Look at the "Network boot NFS root" article.<br>
>>> I hope my working configuration will be usefull for you:<br>
>>><br>
>>> dd if=/srv/mixer/boot/gpxe-1.0.1-gpxe.usb of=/dev/<flash_card><br>
>>><br>
>>> for booting client from that flashcard (I use it for clients that cannot<br>
>>> boot from network)<br>
>>><br>
>>> dhcpd.conf<br>
>>><br>
>>> allow booting;<br>
>>> allow bootp;<br>
>>> group{<br>
>>>        option domain-name "home";<br>
>>>        option domain-name-servers 192.168.0.254;<br>
>>>        server-name "server.home";<br>
>>>        next-server 192.168.0.254;<br>
>>>        if exists dhcp-parameter-request-list {<br>
>>>                option dhcp-parameter-request-list = concat(option<br>
>>>                dhcp-parameter-request-list,d0,d1,d2,d3); }<br>
>>>        host mixer {<br>
>>>                hardware ethernet 00:30:4f:12:d9:a6;<br>
>>>                fixed-address 192.168.0.51;<br>
>>>                option routers 192.168.0.254;<br>
>>>                site-option-space "pxelinux";<br>
>>>                option pxelinux.magic f1:00:74:7e;<br>
>>>                option pxelinux.configfile "pxelinux.cfg/default";<br>
>>>                option pxelinux.pathprefix "<a href="http://server.home/" target="_blank">http://server.home/</a>";<br>
>>>                filename "<a href="http://server.home/boot.txt" target="_blank">http://server.home/boot.txt</a>";<br>
>>>        }<br>
>>> }<br>
>>><br>
>>> /srv/mixer/boot/boot.txt<br>
>>><br>
>>> #!gpxe<br>
>>> echo Greetings!<br>
>>> kernel <a href="http://server.home/vmlinuz-linux" target="_blank">http://server.home/vmlinuz-linux</a>  rootfstype=nfs root=/dev/nfs<br>
>>> nfsroot=192.168.0.254:/srv/mixer,v3,rsize=16384,wsize=16384 ip=::::::dhcp<br>
>>> initrd <a href="http://server.home/initramfs-linux.img" target="_blank">http://server.home/initramfs-linux.img</a> boot<br>
>>><br>
>>> /etc/exports<br>
>>><br>
>>> /srv/mixer <a href="http://192.168.0.0/24%28rw,fsid=0,no_root_squash,no_subtree_check,async%29" target="_blank">192.168.0.0/24(rw,fsid=0,no_root_squash,no_subtree_check,async)</a><br>
>>><br>
>>> and I have working archlinux installation in /srv/mixer/<br>
>>><br>
>>> from nginx.conf<br>
>>><br>
>>>    server {<br>
>>>      listen 192.168.0.254;<br>
>>>      server_name server.home;<br>
>>>      charset utf-8;<br>
>>>      access_log logs/tftp.access.log;<br>
>>>      root /srv/mixer/boot;<br>
>>>      autoindex on;<br>
>>>    }<br>
>>><br>
>>><br>
>>> If you want to boot your client from the standard network card ROM you<br>
>>> have to change<br>
>>><br>
>>>        filename "<a href="http://server.home/boot.txt" target="_blank">http://server.home/boot.txt</a>";<br>
>>>        to<br>
>>>        filename "<a href="http://server.home/gpxelinux.0" target="_blank">http://server.home/gpxelinux.0</a>";<br>
>>> so the BIOS of the card will boot gpxelinux, who will get paramethers from<br>
>>> pxelinux.cfg/default where contents is:<br>
>>><br>
>>> default linux<br>
>>> label linux<br>
>>> kernel <a href="http://server.home/vmlinuz-linux" target="_blank">http://server.home/vmlinuz-linux</a><br>
>>> append initrd=<a href="http://server.home/initramfs-linux.img" target="_blank">http://server.home/initramfs-linux.img</a> rootfstype=nfs<br>
>>> root=/dev/nfs nfsroot=192.168.0.254:/srv/mixer,v3,rsize=16384,wsize=16384<br>
>>> ip=::::::dhcp<br>
>>><br>
>>> I placed all those files and dirs, eg pxelinux.cfg/ boot.txt gpxelinux.0<br>
>>> in the /srv/mixer/boot folder.<br>
>>><br>
>>> //Dimitri<br>
>>><br>
>>> On Fri, 19 Aug 2011 15:30:40 +0000<br>
>>> Ben Francis <<a href="mailto:wirelessben@gmail.com">wirelessben@gmail.com</a>> wrote:<br>
>>><br>
>>> > I have a netboot system that works over TFTP.  It consists of vmlinuz<br>
>>> > and<br>
>>> > initrd.<br>
>>> ><br>
>>> > I want to convert it to gPXE so it will boot across subnets.<br>
>>> ><br>
>>> > So I put the files on a web server and tried to test from the gPXE<br>
>>> > command<br>
>>> > line:<br>
>>> ><br>
>>> > *gPXE> kernel <a href="http://ip-address/gpxe/vmlinuz" target="_blank">http://ip-address/gpxe/vmlinuz</a><br>
>>> > *<br>
>>> > That command works. However,<br>
>>> ><br>
>>> > *gPXE> initrd <a href="http://ip-address/gpxe/initrd" target="_blank">http://ip-address/gpxe/initrd</a><br>
>>> > *<br>
>>> > just slowly fills up the screen with periods. I tried using the<br>
>>> > *append *command<br>
>>> > from the working pxelinux setup:<br>
>>> ><br>
>>> > *append ramdisk_blocksize=4096 initrd=/gpxe/initrd root=/dev/ram0<br>
>>> > ramdisk_size=144000000 console=ttyS3 splash=silent vga=791<br>
>>> > *<br>
>>> > but gpxe doesn't have append.<br>
>>> ><br>
>>> > The initrd is about 143MB.<br>
>>> ><br>
>>> > What to do?<br>
>>> ><br>
>>> > Ben<br>
</div></div></blockquote></div><br>