Booting Ubuntu 16.04 ISO from FOG; /dev/sr0: No medium found
-
@Tom-Elliott I’ve tried that as well, it brought me to the same issue, unfortunately. I haven’t tried it for the other ISO’s though. Will do that this morning.
-
Then I need to see the menu entry and settings you have.
-
:MENU menu item --gap -- ---------------- iPXE boot menu ---------------- item mint Mint item ubuntu Ubuntu 16.04 Desktop item ubuntu2 Ubuntu Extracted ISO Test item hirens Hiren's Boot CD item shell ipxe shell item return Return to previous menu choose --default return --timeout 15000 target && goto ${target} :mint kernel http://$(fog-ip)/fog/service/ipxe/mint/casper/vmlinuz initrd http://$(fog-ip)/fog/service/ipxe/mint/casper/initrd.lz boot || goto MENU :ubuntu initrd http://${fog-ip}/fog/service/ipxe/Linux/ubuntu-16.04-desktop-amd64.iso chain memdisk iso raw || goto MENU :hirens initrd http://$(fog-ip)/fog/service/ipxe/hirens/hirens.iso chain memdisk iso raw || goto MENU :ubuntu2 kernel http://$(fog-ip)/fog/service/ipxe/Linux/iso/casper/vmlinuz.efi initrd http://${fog-ip}/fog/service/ipxe/Linux/iso/casper/initrd.lz boot || goto MENU :shell shell || goto MENU :return chain http://${fog-ip}/${fog-webroot}/service/ipxe/boot.php?mac=${net0/mac} || prompt goto MENU
Is this what you’re looking for? And how would I go about showing you the settings, exporting a backup?
As I post this I see the apostrophe affects the code’s display, does it affect how the code is interpreted by FOG? -
@Fitzzz For the location, you have the mint folder loaded in /var/www/html/fog/service/ipxe/mint, and the files exist?
-
@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”.
-
@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, I go down to the advanced menu and select my options there. Seeing the menu items isn’t a problem.
-
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. -
@Fitzzz http://ipxe.org/err/3e1161 Error: DNS name does not exist
-
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.
-
@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
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,
-
@Fitzzz Post your working configuration, please?
-
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,
-
@bumlard That does work differently.
-
-
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 -
@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.
-
@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.
-
@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.