Booting Ubuntu 18.04 Live CD
-
Hi,
I’ve got my Fog/IPXE server up and running and can boot the Ubuntu Mini ISO without issues.
Just tried to set up booting an Ubuntu 18.04 Live CD.
I’ve copied it to /images/os/ubuntu/18.04/mate and created the following Fog menu entry:
kernel nfs://192.168.0.14/images/os/ubuntu/18.04/mate/casper/vmlinuz
initrd nfs://192.168.0.14/images/os/ubuntu/18.04/mate/casper/initrd.lz imgargs vmlinuz root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.0.14:/images/os/ubuntu/18.04/mate/ locale=en_GB.UTF-8 keyboard-configuration/layoutcode=gb quiet splash toram ip=dhcp rw
boot || goto MENUWhen my test VM tries to boot, I get an error Unable to mount root fs on unknown-block(0,0) - I’ve attached a screenshot.
My /etc/exports file shows this:
/images *(ro,sync,no_wdelay,no_subtree_check,insecure_locks,no_root_squash,insecure,fsid=0)
/images/dev *(rw,async,no_wdelay,no_subtree_check,no_root_squash,insecure,fsid=1)Any help would be much appreciated!
Many thanks,
Neik -
Did you grab
vmlinuz
from the netboot directory on the iso? I have not personally tested 18.04, but I think you need to ensure that you are using a boot kernel that has nfs support enabled. The default cdrom kernel does not. The root= warning is the telling bit from the image you posted.Look at my warning (note) here for 16.04: https://forums.fogproject.org/topic/10944/using-fog-to-pxe-boot-into-your-favorite-installer-images/6
-
Thanks for your reply.
Still no luck I’m afraid - I downloaded netboot.tar.gz from http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/current/images/netboot/
I then extracted the tar file and from /ubuntu-installer/amd64, copied the file ‘linux’ to /images/os/ubuntu/18.04/mate/casper
I then edited my Fog menu entry as follows:
kernel nfs://192.168.0.14/images/os/ubuntu/18.04/mate/casper/linux
initrd nfs://192.168.0.14/images/os/ubuntu/18.04/mate/casper/initrd.lz imgargs linux root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.0.14:/images/os/ubuntu/18.04/mate/ locale=en_GB.UTF-8 keyboard-configuration/layoutcode=gb quiet splash toram ip=dhcp rw
boot || goto MENUThe error is still the same one.
Any ideas would be great.
Many thanks,
Neil -
@nsherin said in Booting Ubuntu 18.04 Live CD:
kernel nfs://192.168.0.14/images/os/ubuntu/18.04/mate/casper/linux
initrd nfs://192.168.0.14/images/os/ubuntu/18.04/mate/casper/initrd.lz imgargs linux root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.0.14:/images/os/ubuntu/18.04/mate/ locale=en_GB.UTF-8 keyboard-configuration/layoutcode=gb quiet splash toram ip=dhcp rw
boot || goto MENUThe one thing I noticed is this is wrong. Imgargs is an iPXE command not a command line parameter. I don’t know if it would throw the boot kernel off, but your iPXE menu item should look like this.
kernel nfs://192.168.0.14/images/os/ubuntu/18.04/mate/casper/linux initrd nfs://192.168.0.14/images/os/ubuntu/18.04/mate/casper/initrd.lz imgargs linux root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.0.14:/images/os/ubuntu/18.04/mate/ locale=en_GB.UTF-8 keyboard-configuration/layoutcode=gb quiet splash toram ip=dhcp rw boot || goto MENU
Also I didn’t reread my own warning message in the tutorial I linked. Here is what I said:
Note2: If your Ubuntu 16.04 disk image does NOT CONTAIN A NETBOOT DIRECTORY (some users are reporting this), then download http://archive.ubuntu.com/ubuntu/dists/artful/main/installer-amd64/current/images/netboot/netboot.tar.gz file and extract the initrd.gz from ubuntu-installer/amd64 directory and copy to /tftpboot/os/ubuntu/16.04. The DVD I downloaded {ubuntu-16.04.3-server-amd64.iso} contained the netboot files
You need the initrd.gz file not the kernel from the netboot.tar.gz file.
-
Thanks again for your reply. I get a bit further now, but end up being booted into emergency mode.
I’ve copied over initrd.gz from the netboot.tar.gz file and placed it into /images/os/ubuntu/18.04/mate/casper/linux
I’ve changed my menu entry to read:
kernel nfs://192.168.0.14/images/os/ubuntu/18.04/mate/casper/linux
initrd nfs://192.168.0.14/images/os/ubuntu/18.04/mate/casper/initrd.lz
imgargs linux root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.0.14:/images/os/ubuntu/18.04/mate/ locale=en_GB.UTF-8 keyboard-configuration/layoutcode=gb quiet splash toram ip=dhcp rw
boot || goto MENUIf I use the ‘linux’ file from the netboot.tar.gz file, I get:
If I rename the vmlinuz file that is part of the Live CD ISO to linux in /images/os/ubuntu/18.04/mate/casper/, I get:
-
You need to add initrd=initrd.lz. I found it here: https://forums.fogproject.org/topic/11063/ubuntu-17-10-desktop-pxe-boot-no-internetl and it worked for me.
Your code should look something like this.
kernel nfs://192.168.0.14/images/os/ubuntu/18.04/mate/casper/vmlinuz initrd nfs://192.168.0.14/images/os/ubuntu/18.04/mate/casper/initrd.lz imgargs vmlinuz initrd=initrd.lz root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.0.14:/images/os/ubuntu/18.04/mate/ locale=en_GB.UTF-8 keyboard-configuration/layoutcode=gb quiet splash toram ip=dhcp rw boot || goto MENU
-
Thanks for your reply - I’ve been away for a few days, so have only just got back to working with this.
I’ve now put the following code in the menu:
kernel nfs://192.168.0.14/images/os/ubuntu/18.04/mate/casper/vmlinuz
initrd nfs://192.168.0.14/images/os/ubuntu/18.04/mate/casper/initrd.lz
imgargs vmlinuz initrd=initrd.lz root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.0.14:/images/os/ubuntu/18.04/mate/ locale=en_GB.UTF-8 keyboard-configuration/layoutcode=gb quiet splash toram ip=dhcp rw
boot || goto MENUBut when booting, I get booted into maintenance mode. Pressing CTRL+D allows me to get a prompt. I can then run startx to bring up the GUI. However, starting the installer doesn’t work. Opening a terminal and typing ifconfig gives me an IP address but the machine won’t do any DNS lookups or ping to say google.com
Here’s the error I get on boot up:
I also tried using ‘linux’ from the netboot installer and initrd.lz with this combination:
kernel nfs://192.168.0.14/images/os/ubuntu/18.04/mate/casper/linux
initrd nfs://192.168.0.14/images/os/ubuntu/18.04/mate/casper/initrd.lz
imgargs linux initrd=initrd.lz root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.0.14:/images/os/ubuntu/18.04/mate/ locale=en_GB.UTF-8 keyboard-configuration/layoutcode=gb quiet splash toram ip=dhcp rw
boot || goto MENUSame result
Any help would be much appreciated.
Many thanks,
Neil -
@nsherin I didn’t use any other files beside the ones came with 18.04.1 LTS. Can you re-extract all files in 18.04.1LTS iso and then reupload them back to /images/os/ubuntu/18.04/mate. You might need to add this line to your /etc/exports file and restart nfs services or restart your fog server.
/images/os/ubuntu/18.04/mate *(ro,sync,no_wdelay,insecure_locks,no_root_squash,insecure)
Internet connection is still an issue with this method. You need to go to /etc/network/interfaces and change from manual to dhcp then restart your interface sudo /etc/init.d/networking restart
-
Thanks again for your reply. Still no joy.
I’ve recopied the contents of the 18.04.1 LTS iso to /images/os/ubuntu/18.04/mate. after cleaning out that directory.
My menu config is as follows:
kernel nfs://192.168.0.14/images/os/ubuntu/18.04/mate/casper/vmlinuz
initrd nfs://192.168.0.14/images/os/ubuntu/18.04/mate/casper/initrd imgargs vmlinuz initrd=initrd root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.0.14:/images/os/ubuntu/18.04/mate/ locale=en_GB.UTF-8 keyboard-configuration/layoutcode=gb quiet splash toram ip=dhcp rw
boot || goto MENUThere is no initrd.lz so had to change it to initrd
Booting up my test PXE client VM gives me a kernel panic:
![alt text](image url)
I added the following to /etc/exports:
/images/os/ubuntu/18.04/mate *(ro,sync,no_wdelay,insecure_locks,no_root_squash,insecure)
And rebooted the server. Same result!
I don’t want to use a DHCP assigned IP on my PXE server as I need it to resolve local DNS queries from my internal DNS server on the network. Is there a workaround/
Many thanks,
Neil -
hi @nsherin , I succeed pxe boot with ubuntu 18.04 using following:
kernel tftp://192.168.84.16/os/ubuntu/Desk18.04/vmlinuz initrd tftp://192.168.84.16/os/ubuntu/Desk18.04/initrd.lz imgargs vmlinuz initrd=initrd.lz root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.84.16:/images/os/ubuntu/Desk18.04/ ip=dhcp systemd.mask=tmp.mount rw -- || read void boot || goto MENU
-
@davistran86 this worked excellently.
i adopted mine to http flawless