Booting Ubuntu 16.04 ISO from FOG; /dev/sr0: No medium found



  • Hi there,

    I’m new to this forum and indeed this particular application. I’ve been tasked with setting up a bootable Linux ISO over PXE so the company I work for may use it to access guest machines that are likely themselves running Win7.

    Here is my PXE boot menu configuration at its current state:

    :MENU
    menu
    item --gap -- ---------------- iPXE boot menu ----------------
    item ubuntu          Ubuntu 16.04 Desktop
    item shell          ipxe shell
    item return        return to previous menu
    choose --default return --timeout 15000 target && goto ${target}
    
    :ubuntu
    initrd http://${fog-ip}/fog/service/ipxe/Linux/ubuntu-16.04-desktop-amd64.iso
    chain memdisk iso raw ||
    goto MENU
    
    :shell
    shell ||
    goto MENU
     
    :return
    chain  http://${fog-ip}/${fog-webroot}/service/ipxe/boot.php?mac=${net0/mac} ||
    prompt
    goto MENU
     
    autoboot
    
    

    The configuration above successfully starts the iso, but when I select “Try without installing Ubuntu” (or basically any option, really) it continues to go and then all I get is "/init: line 7: can’t open/dev/sr0: No medium found

    I’ve spent the last few hours making every possible link I could on Google purple, and can’t find a solid answer.
    The system running fog is Linux Mint, and is a VM I access through vSphere. The guest machine in my scenario is another (basic) VM.

    From what I’ve seen, some solutions involve physical problems such as USB3.0 vs USB2 sockets, etc.
    I’m running out of hair from scratching my head, here, and I’m only 22! Some assistance would be incredibly appreciated.

    Thank you for your time. I will try to reply as soon as possible to everyone.
    Have a good day!



  • You are trying to boot the I.S.O. over the network.

    The way I recommend you do this for pxe access in your company is to extract the content of the iso to a folder of your choosing then give proper access to the folder for the fog server using the exports file.

    examples can be provided if im understanding what your trying to do?


  • Moderator

    @bumlard cool. You’ll find over time there’s a million ways to approach a goal in Linux.



  • @Wayne-Workman Thanks very much for your help.

    It turns out that you need to fill out this part CORRECTLY and with the ACTUAL path and not the MISTYPED wrong one as I had!! Whoops!! Check check and check again,

    This is the part that my ineptitude caused all the issues:

                      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)

  • Moderator

    @bumlard said in Booting Ubuntu 16.04 ISO from FOG; /dev/sr0: No medium found:

    what is it that the environment variables for set path and set nfs_path actually do,

    They are just variables that the person who wrote the tutorial wanted to use to make changes easier in the future for himself.

    I’d suggest un-doing the ubuntu stuff you’ve done with this, and starting over. I found a guide on the net here: http://www.howtogeek.com/61263/how-to-network-boot-pxe-the-ubuntu-livecd/

    That tutorial is really confusing because the guy is creating an NFS share inside of the /tftpboot directory. FOG already has an NFS share that works fine, we’ll use that.

    Mount the ISO to just /images/mounts/ubuntu16 using fstab.
    Assuming your iso is here: /images/iso/ubuntu16.iso the fstab entry would look like this:

    /images/iso/ubuntu16.iso /images/mounts/ubuntu16 udf,iso9660 user,loop 0 0 
    

    After doing that, run the commands to make the directory and mount the ISO:

    mkdir /images/mounts
    mount /images/mounts/ubuntu16`
    

    Then you should be able to browse through the iso inside /tftpboot/ubuntu16 and see the files.

    Then copy the kernel (from the mounted directory) & init to the tftpboot directory, this is because the kernel needs to be accessible to iPXE. Should be similar to this for the copy:

    mkdir /tftpboot/ubuntu16     #Makes a directory in tftpboot for organization
    cp /images/mounts/ubuntu16/casper/vmlinuz /tftpboot/ubuntu16  #copies the ubuntu kernel to the directory we just made
    cp /images/mounts/ubuntu16/casper/initrd.lz /tftpboot/ubuntu16  #copies the init into the /tftpboot/ubuntu16 directory.
    

    Then the FOG iPXE menu entry would look something like this:

    KERNEL ubuntu16/vmlinuz
    APPEND root=/dev/nfs boot=casper netboot=nfs nfsroot=${fog-ip}:/images/mounts/ubuntu16 initrd=ubuntu16/initrd.lz
    

    Notice above, the little pieces I modified from the tutorial. First, when iPXE is executing this stuff/ it’s already inside of /tftpboot so we leave that part off. The kernel is pointed to ubuntu16/vmlinuz which on the fog server is actually /tftpboot/ubuntu16/vmlinuz and the root directory was appended to use NFS, netboot is NFS, and the NFS root is fog-ip/images/mounts/ubuntu16. You do not have to replace fog-ip this is a variable, it gets populated with the server’s IP on execution.

    Now, I didn’t test any of this at all, I’m just writing this before I head to work. there’s probably a typo or two, everything in Linux is case sensitive. Let us know how it goes.



  • @Wayne-Workman That makes me more confused as the Hiren (Ultimate) menu actually boots and works fine.

    With regards to my issue with Ubuntu, what is it that the environment variables for set path and set nfs_path actually do, I’ve extracted ubuntu into the folder as shown called 16.04_64. Can you suggest how my config should look? I’m stumped! :(

    Thanks in advance.


  • Moderator

    @bumlard For the first menu item in your below post, using the iso file itself for initrd will not work, iPXE doesn’t know what to do with it and doesn’t speak that language. You will need to extract the contents of the ISO to a web directory and path to the correct init.



  • I’ve adapted this from the Fog Wiki page (which I had already TRIED to use), to what’s below… I get warning fsck not present so skipping file system. Mount, can’t find /root in /etc/fstab

    mounting /dev on /root/dev failed no such file or directory.

    My version in advanced section: (Hiren works fine but guess it doesn’t load drivers etc)

    :ultimate
    initrd http://${fog-ip}/${fog-webroot}/iso/HirenBootCD.iso
    chain memdisk iso raw ||
    goto MENU
    :ubuntu16.04_64
    set path /fog/service/ipxe/16.04_64
    set nfs_path /var/www/html/fog/service/16.04_64
    kernel http://10.60.54.224/fog/service/ipxe/16.04_64/casper/vmlinuz
    initrd http://10.60.54.224/fog/service/ipxe/16.04_64/casper/initrd.lz
    boot ||
    goto MENU


  • Moderator


  • Senior Developer

    @bumlard That does work differently.



  • Hi,

    Did you manage to get this to go? I am in the same situation. I’ve tried both extracting and just using the ISOs. Looks like I can boot hiren but no luck with any version of Ubuntu tried 12.04 as someone said that worked differently.

    Dan,


  • Moderator

    @Fitzzz Post your working configuration, please?



  • @Tom-Elliott
    It seems I made the disastrous decision to assume that the variable I saw online in another post was a FOG default-created and set variable, so I’ve been using it assuming it had been assigned the correct IP. I made that assumption because the first menu item I created, the original Ubuntu ISO, had worked, so I was just reusing what I had “working”.

    I changed the code to just the IP, because of that DNS issue and your question, and now I can successfully boot the extracted ISOs. Now I have a slew of other things to deal with therein, but at least now I’m there.

    Mint and Ubuntu (extracted) need some work to get running, but Hiren’s runs perfectly,


  • Senior Developer

    @Fitzzz First, I think, I need to know what version of FOG you’re running. Second, I need to see what the fog-ip variable is being set to to begin with. From the sounds of things, though, it would seem your dns has no record for the domain name you have defined as your fog-server.



  • @Tom-Elliott

    Do you know if this would be a configuration setting I may have screwed up in FOG itself? Or is this a system-based problem.


  • Senior Developer

    @Fitzzz http://ipxe.org/err/3e1161 Error: DNS name does not exist



  • Okay, what I just tried was recording the error message when trying to boot into the Ubuntu extracted ISO.
    The error code is Error 0x3e11613b.
    Searching for what it specifically is right now, just thought I’d update.



  • @Tom-Elliott Yeah, I go down to the advanced menu and select my options there. Seeing the menu items isn’t a problem.


  • Senior Developer

    @Fitzzz Is this in advanced menu? If the selections are in “advanced” i’d suspect you need to choose it from that location.



  • @Tom-Elliott Yeah, the files are all there. I extracted everything from the ISO to that location, and previously I was using just the ISO. Both return “Operating System Not Found”.


Log in to reply
 

346
Online

39.3k
Users

11.0k
Topics

104.4k
Posts

Looks like your connection to FOG Project was lost, please wait while we try to reconnect.