SOLVED Cannot get linux to complete the pxe boot

  • Hi all I am pretty new to fog but have managed to do some pretty cool stuff with this amazing software. I am currently using version 1.2.0 and I am having one heck of a time getting unbuntu 15.10 to boot the live cd though I know it can bee done. I get this error and I just don’t know what I’m doing wrong (see screen shot)ubuntu pxe error.png Oh and here is my config setup from the advanced menu.

    item --gap – ---------------- iPXE boot menu ----------------
    item mint 17 Mint 17.2 mint x64
    item mac mac reflect
    item clone Clonezilla 2015
    item ubuntu Ubuntu 15:10
    item shell ipxe shell
    item return return to previous menu
    choose --default return --timeout 5000 target && goto ${target}

    kernel http://${fog-ip}/fog/service/ipxe/mint/casper/vmlinuz
    initrd http://${fog-ip}/fog/service/ipxe/mint/casper/initrd.lz
    imgargs vmlinuz root=/dev/nfs boot=casper netboot=nfs nfsroot=${fog-ip}:/var/www/fog/service/ipxe/mint/ locale=en_US.UTF-8 keyboard-configuration/layoutcode=us mirror/country=US
    boot || goto failed
    goto start

    initrd http://${fog-ip}/fog/service/ipxe/mac/mac.iso
    chain memdisk iso raw ||
    goto MENU

    initrd http://${fog-ip}/fog/service/ipxe/clone/clone.iso
    chain memdisk iso raw ||
    goto MENU

    kernel http://${fog-ip}/fog/service/ipxe/ubuntu/casper/vmlinuz.efi
    initrd http://${fog-ip}/fog/service/ipxe/ubuntu/casper/initrd.lz
    imgargs vmlinuz.efi root=/dev/nfs boot=casper netboot=nfs nfsroot=${fog-ip}:/var/www/fog/service/ipxe/ubuntu/casper/ locale=en_US.UTF-8 keyboard-configuration/layoutcode=us mirror/country=US
    boot || goto failed
    goto start

    shell ||
    goto MENU

    chain http://${fog-ip}/${fog-webroot}/service/ipxe/boot.php?mac=${net0/mac} ||
    goto MENU


    of course neither Linux distros work mint wont even try to boot ppast 1 second and Ubuntu starts but fails with the error I posted. in the screenshot. I don’t really know what I’m doing wrong but if someone could help me I would be ever grateful thanks in advance !!!

  • Ok so here is the result, I got it working thanks to a person on this forum named aaoyagi.

    When I followed his instructions my Linux distros booted without fail via my fog server over the network!!!

    In case anybody wants the steps:

    First in your /etc/exports add this line:
    /var/www/fog/iso/15.04_64 *(ro,sync,no_wdelay,insecure_locks,no_root_squash,insecure)

    Then restart your nfs server. If you’re running Ubuntu it’s sudo service nfs-kernel-server restart

    Next, extract the Ubuntu iso to a direcotry named 15.04_64 in your /var/www/fog/iso directory.

    In your Advanced menu use this:
    item --gap – ---------------- iPXE boot menu ----------------
    item ubuntu15.04_64 Boot Ubuntu 15.04
    item return return to previous menu
    set path /fog/iso/15.04_64
    set nfs_path /var/www/fog/ISO/15.04_64
    kernel http://${fog-ip}${path}/casper/vmlinuz.efi || read void
    initrd http://${fog-ip}${path}/casper/initrd.lz || read void
    imgargs vmlinuz.efi root=/dev/nfs boot=casper netboot=nfs nfsroot=${fog-ip}:${nfs_path} ip=dhcp splash quiet – || read void
    boot || read void
    goto start

    Hopefully it works for you too. You don’t have to set the variables. I just did it that way in case I ever have to change where the iso directory lives.

  • Moderator

    I cannot help if I don’t know what exactly goes wrong. Please upload a screenshot of the new error. Have you tried mounting the NFS share from another linux machine just to make sure it is working?

    sudo mkdir -p /mnt
    sudo mount -t nfs -o nolock /mnt
    sudo ls -al /mnt
    sudo umount /mnt

  • @Sebastian-Roth ok so i made the changes but now i get a permission issue still but i get much further than i ever have. funny thing is it now reports that it is not a directory whatever that means?? any suggestions and yes i am patient enough to wait for what i desire!!!

  • oh I see. Let me be clear I do know Linux and I use it a lot or I wold not have gotten this far trust. however, I am not to good at some more intricate things. with that said I believe I understand what you are saying. I must mount the iso using a loop method in the fog ipxe directory, in which furios iso mount will do well and being as fog already has its nfs exported I can simply piggy back off of it by doing so. so I must make sure the nfsroot point to the iso that is mounted to ensure success. I will give it a try

  • Moderator

    I think you need to start reading and teaching yourself some stuff if you want to be a happy linux user. Don’t get me wrong. We are happy to help you here but it will we very frustrating for you if you always have to ask about every step and keep waiting for answers.

    Ask google for ‘ubuntu mount iso’ and it’ll take you straight to this one: (the question is the solution already!)

    As well for exporting an NFS share there are lots infos on the net. To make it easy for you I post the short version for you here as NFS-server is already installed on your FOG server.

    • Edit /etc/exports to add a line like this: /var/www/fog/service/ipxe/ubuntu *(ro,async)
    • Make sure this is the same directory that you have loop-mounted the iso to (you should see a directory called ‘casper’ in it!)
    • Run sudo exportfs -rav to make the config change live
    • Change your iPXE menu and point your nfsroot to the correct location nfsroot=${fog-ip}:/var/www/fog/service/ipxe/ubuntu/ (I am pretty sure you need to remove the casper dir here)

  • if I must change my nfs what do I do to change it?

  • I don’t understand how to mount an iso in Ubuntu as relates to fog that is

  • @Wayne-Workman THank you so much I really need it.

  • @dureal99d I’ll see if I can do this with the instructions I already have…

  • I don’t know what exporting via nfs means, I assume it means that the folder is read write accessible.

    Can I booth this image by placing it in the images folder? or should I extract the total iso to the image folder and set 755 permissions.

    If I can get s step by step it would be nice. Inclusively I have tried to upgrade to trunk but I get a cannot access this server apache error.

  • Moderator

    @dureal99d Are you sure the directory specified as nfsroot is properly exported via NFS?? The error sounds like it’s not. There has been a discussion only a few weeks ago:

  • Here’s a really good thread on the subject:

    Here’s an article I wrote up for adding Darik’s boot and nuke ISO, it uses FOG 1.3.0 though (fog trunk):’s_Boot_and_Nuke)

    And here’s a link to materials for upgrading to fog trunk if you are interested: But please understand that the trunk versions are developmental, bugs are to be expected. When you find them, just report them here under the bugs area. But if you can handle that (esp if your server is virtualized and you can take snapshots), the trunk version has made major strides in features and supported hardware.

    That said, it looks like you’ve already found the kernel and init for Ubuntu 15 and have placed it in a web directory… Is there anyway you can just mount the ISO perminantly inside of your /fog/service/ipxe/ubuntu directory? There is an example of this in the DBAN article. Then, after it’s mounted you can point to the kernel and init without swapping them around or removing them from their directories. Just an idea.

    If you get it going, please share what you did, this is the most important way you can support fog. 🙂