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