Dimitri,<br><br>The same initrd works when I boot over TFTP using pxelinux.0, but it doesn't work from the web directory, so I think the initrd is good. Thanks for 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">http://ip-addres/gpxe/initrd</a> .............................................................................................................<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 over tftp in about a minute. gPXE was loading the 1.4 MB vmlinuz file in one 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><div class="gmail_quote">On Fri, Aug 19, 2011 at 6:08 PM, DiP <span dir="ltr"><<a href="mailto:aspamkiller@yandex.ru">aspamkiller@yandex.ru</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">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 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 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 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 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 root=/dev/nfs nfsroot=192.168.0.254:/srv/mixer,v3,rsize=16384,wsize=16384 ip=::::::dhcp<br>
<br>
I placed all those files and dirs, eg pxelinux.cfg/ boot.txt gpxelinux.0 in the /srv/mixer/boot folder.<br>
<br>
//Dimitri<br>
<div><div></div><div class="h5"><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 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 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>_______________________________________________<br>
gPXE mailing list<br>
<a href="mailto:gPXE@etherboot.org">gPXE@etherboot.org</a><br>
<a href="http://etherboot.org/mailman/listinfo/gpxe" target="_blank">http://etherboot.org/mailman/listinfo/gpxe</a><br>
</blockquote></div><br>