Booting Ubuntu Live CD



  • Hi,

    I’ve set up FOG using this guide here: https://github.com/marcbizal/FOG-Install-Guide

    I’ve set up DNSMASQ in ProxyDHCP mode.

    Booting a couple of ISOs - Acronis TrueImage 2016 and the Ubuntu Net installer CD work fine.

    However, I’m trying to get the Ubuntu Live CD to boot. I’ve done the following:

    in /tftpboot, created a path of /os/ubuntu/16.04/mate. So in /tftpboot/os/ubuntu/16.04/mate, I’ve then copied initrd.lz and vmlinuz.efi.

    In /var/www/fog, I’ve created a dist folder for holding distributions. So for Ubuntu MATE, I’ve st up the following: /var/www/fog/dist/ubuntu/16.04/mate

    I’ve copied the contents of the ISO to here.

    I’ve also set up the NFS export to /var/www/fog/dist - this is accessible from another Linux machine.

    I have also tested TFTP by retrieving vmlinuz.efi from /tftpboot/os/ubuntu/16.04/mate from another Linux machine.

    I’ve set up a menu entry with the following details:

    Menu Item: fog.ubuntu-mate
    Description: Ubuntu 16.04 MATE
    Parameters:
    kernel tftp://t-pxe/os/ubuntu/16.04/mate/vmlinuz.efi
    initrd tftp://t-pxe/os/ubuntu/16.04/mate/initrd.lz
    imgargs vmlinuz.efi root=/dev/nfs boot=casper netboot=nfs nfsroot=t-pxe:/var/www/fog/dist/ubuntu/16.04/mate/ locale=en_US.UTF-8 keyboard-configuration/layoutcode=us quiet splash ip=dhcp rw

    However, when my test VM boots via PXE and I choose the Ubuntu 16.04 MATE, I get the following:

    0_1523979029047_Ubuntu 64-bit-2018-04-17-16-28-24.png

    Any help would be much appreciated!

    Many thanks,
    Neil



  • @george1421

    Thanks for that - I’ve got it booting - my menu entry now looks like:

    Menu Item: fog.ubuntu-server
    Description: Ubuntu Server 16.04
    kernel tftp://192.168.0.22/os/ubuntu/16.04/server/vmlinuz
    initrd tftp://192.168.0.22/os/ubuntu/16.04/server/initrd.gz
    imgargs vmlinuz initrd=initrd.gz root=/dev/nfs netboot=nfs nfsroot=192.168.0.22:/images/os/ubuntu/16.04/server/ locale=en_GB.UTF-8 keyboard-configuration/layoutcode=gb
    boot || goto MENU

    Many thanks again for your help!


  • Moderator

    @nsherin Again please review this post (especially Note1 where the installer asks for the cdrom during installation. And then note2 where it says where to get what you need): https://forums.fogproject.org/topic/10944/using-fog-to-pxe-boot-into-your-favorite-installer-images/6



  • @george1421

    Almost - I’m just trying Ubuntu Server now and have added another menu option:

    Menu Item: fog.ubuntu-server
    Description: Ubuntu Server 16.04
    Parameters:
    kernel nfs://192.168.0.22/images/os/ubuntu/16.04/server/install/vmlinuz
    initrd nfs://192.168.0.22/images/os/ubuntu/16.04/server/install/initrd.gz
    imgargs vmlinuz root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.0.22:/images/os/ubuntu/16.04/server/ locale=en_GB.UTF-8 keyboard-configuration/layoutcode=gb quiet splash ip=dhcp rw
    boot || goto MENU

    I have copied the Ubuntu Server CD contents into /images/os/ubuntu/16.04/server/

    It boots to the Ubuntu installer and then asks me to insert a CD-ROM.

    Any ideas would be great. Thanks!


  • Moderator

    @nsherin Issue solved then?



  • Oh and for a UK keyboard, the syntax is:

    locale=en_GB.UTF-8 keyboard-configuration/layoutcode=gb



  • Thanks! That worked! I replaced t-pxe with the server’s IP 192.168.0.22 and I now have a booted live CD!


  • Moderator

    @nsherin said in Booting Ubuntu Live CD:
    ok next change (understand I’m swagging it a little)

    Possibly it doesn’t like the dns names here of t-pxe. Replace the t-pxe value with the iPXE menu variable of ${fog-ip} That will then set the ip address of the fog server in there instead of the dns names. Refer to my working menu. on how to place the ipxe variable.



  • @george1421

    Thanks for that - I’ve moved the files from the DVD into /images/os/ubuntu/16.04/mate and modified the parameters to read:

    kernel nfs://t-pxe/images/os/ubuntu/16.04/mate/casper/vmlinuz.efi
    initrd nfs://t-pxe/images/os/ubuntu/16.04/mate/casper/initrd.lz
    imgargs vmlinuz.efi root=/dev/nfs boot=casper netboot=nfs nfsroot=t-pxe:/images/os/ubuntu/16.04/mate/ locale=en_US.UTF-8 keyboard-configuration/layoutcode=us quiet splash ip=dhcp rw
    boot || goto MENU

    It’s still complaining about the lack of a file system on the network.


  • Moderator

    @nsherin said in Booting Ubuntu Live CD:

    Also, do you know the parameters I’d need in locale= and keyboard-configuration/layoutcode for a UK keyboard?

    I would say the local for your side of the pond would be en_GB.UTF-8


  • Moderator

    @nsherin The problem you now see is exactly what I described below. Fix your nfsroot path and file locations.



  • @george1421 said in Booting Ubuntu Live CD:

    I’ve got a bit further - I’ve added

    boot || goto MENU

    I now get a message ‘Unable to find a live file system on the network’:

    0_1523992151904_Ubuntu 64-bit-2018-04-17-20-08-52.png

    Also, do you know the parameters I’d need in locale= and keyboard-configuration/layoutcode for a UK keyboard?

    Many thanks.


  • Moderator

    @nsherin Those settings are correct. What I’m pointing out is wrong is this parameter: netboot=nfs nfsroot=t-pxe:/var/www/fog/dist/ubuntu/16.04/mate/

    The FOG server is only sharing out /images/… yet you are telling the client to get its files from /var/www/fog/dist… That isn’t going to work. Plus the /var/www/… path is the base directory for the web server.

    My instructions that I posted show you expanding the ubuntu iso image to /images/os/ubuntu/… which IS in the nfs export path.

    With iPXE you can use any of several protocols to get to your files.
    if you use
    tftp:// the base path is /tftpboot
    http:// the base path is /var/www/html
    nfs:// the base path is /images

    The issue is the kernel it self has to reach out to this path you defined
    nfsroot=t-pxe:/var/www/fog/dist/ubuntu/16.04/mate/
    Yet it can’t get there because /var/www is not exported from the FOG server only /images and /images/dev is.

    Look at my menu item I posted below, you can see the nfs:// is used for ipxe to deliver the files as well as the nfsroot path for ubuntu’s kernel.



  • @george1421

    Thanks for your help. I’m running version 1.5.2

    My /etc/exports file:

    /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


  • Moderator

    This menu item is from my working production server

    :os.Ubuntu.Desktop.17.10
    kernel nfs://${fog-ip}:/images/os/ubuntu/Desk17.10/casper/vmlinuz.efi
    initrd nfs://${fog-ip}:/images/os/ubuntu/Desk17.10/casper/initrd.lz
    imgargs vmlinuz.efi root=/dev/nfs boot=casper netboot=nfs nfsroot=${fog-ip}:/images/os/ubuntu/Desk17.10/ locale=en_US.UTF-8 keyboard-configuration/layoutcode=us quiet splash ip=dhcp rw
    boot || goto MENU
    

    Here is from your ipxe menu

    :fog.ubuntu-mate
    kernel tftp://t-pxe/os/ubuntu/16.04/mate/vmlinuz.efi
    initrd tftp://t-pxe/os/ubuntu/16.04/mate/initrd.lz
    imgargs vmlinuz.efi root=/dev/nfs boot=casper netboot=nfs nfsroot=t-pxe:/var/www/fog/dist/ubuntu/16.04/mate/ locale=en_US.UTF-8 keyboard-configuration/layoutcode=us quiet splash ip=dhcp rw
    param sysuuid ${uuid}
    

    I did notice that your menu is missing the boot instruction

    boot || goto MENU
    

    I did also notice an out of place sysuuid parameter, but I think FOG is doing that. That extra parameter is not hurting your boot process, I think the missing boot command is.


  • Moderator

    @nsherin I’m sorry its taking me so long to answer but I’m checking on something. So please stick with me for a minute.

    Also can you tell me what version of FOG (specifically) you are using?



  • @george1421 said in Booting Ubuntu Live CD:

    http://t-pxe/fog/service/ipxe/boot.php?mac=00:00:00:00:00:00

    Thanks for the speedy reply. The output is:

    #!ipxe
    set fog-ip 192.168.0.22
    set fog-webroot fog
    set boot-url http://${fog-ip}/${fog-webroot}
    cpuid --ext 29 && set arch x86_64 || set arch i386
    goto get_console
    :console_set
    colour --rgb 0x00567a 1 ||
    colour --rgb 0x00567a 2 ||
    colour --rgb 0x00567a 4 ||
    cpair --foreground 7 --background 2 2 ||
    goto MENU
    :alt_console
    cpair --background 0 1 ||
    cpair --background 1 2 ||
    goto MENU
    :get_console
    console --picture http://192.168.0.22/fog/service/ipxe/bg.png --left 100 --right 80 && goto console_set || goto alt_console
    :MENU
    menu
    colour --rgb 0xff0000 0 ||
    cpair --foreground 1 1 ||
    cpair --foreground 0 3 ||
    cpair --foreground 4 4 ||
    item --gap Host is NOT registered!
    item --gap – -------------------------------------
    item fog.local Boot from hard disk
    item fog.memtest Run Memtest86+
    item fog.quickdel Quick Host Deletion
    item fog.sysinfo Client System Information (Compatibility)
    item fog.ubuntu-net Ubuntu 16.04 Net Installer
    item fog.acronis Acronis TrueImage 2016
    item fog.ubuntu-mate Ubuntu MATE 16.04
    choose --default fog.local --timeout 3000 target && goto ${target}
    :fog.local
    sanboot --no-describe --drive 0x80 || goto MENU
    :fog.memtest
    chain memtest
    param sysuuid ${uuid}
    kernel memdisk initrd=memtest.0 iso raw
    initrd memtest.0
    boot || goto MENU
    :fog.quickdel
    login
    params
    param mac0 ${net0/mac}
    param arch ${arch}
    param username ${username}
    param password ${password}
    param delhost 1
    isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme
    isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme
    param sysuuid ${uuid}
    :fog.sysinfo
    kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=127000 web=http://192.168.0.22/fog/ consoleblank=0 rootfstype=ext4 storage=192.168.0.22:/images/ storageip=192.168.0.22 loglevel=4 mode=sysinfo
    imgfetch init_32.xz
    boot || goto MENU
    :fog.ubuntu-net
    initrd http://t-pxe/fog/iso/ubuntu/ubuntu-amd64-net.iso
    chain http://t-pxe/fog/iso/ubuntu/memdisk iso raw
    param sysuuid ${uuid}
    :fog.acronis
    initrd http://t-pxe/fog/iso/acronis/acronis2016.iso
    chain http://t-pxe/fog/iso/acronis/memdisk iso raw
    param sysuuid ${uuid}
    :fog.ubuntu-mate
    kernel tftp://t-pxe/os/ubuntu/16.04/mate/vmlinuz.efi
    initrd tftp://t-pxe/os/ubuntu/16.04/mate/initrd.lz
    imgargs vmlinuz.efi root=/dev/nfs boot=casper netboot=nfs nfsroot=t-pxe:/var/www/fog/dist/ubuntu/16.04/mate/ locale=en_US.UTF-8 keyboard-configuration/layoutcode=us quiet splash ip=dhcp rw
    param sysuuid ${uuid}
    :bootme
    chain -ar http://192.168.0.22/fog/service/ipxe/boot.php##params ||
    goto MENU
    autoboot

    Many thanks again for your help.


  • Moderator

    @nsherin looking at your OP a bit more I see that iPXE is complaining about no parameter list. This is a bit strange. I also notice that your nfsroot is wrong, but you are not that far in the booting process just yet.

    Will you do this for me. Key in the following into a browser, url will display the iPXE menu text behind the fog iPXE boot menu.
    http://t-pxe/fog/service/ipxe/boot.php?mac=00:00:00:00:00:00

    Post the results here so we can review it.



  • @george1421

    Thanks - but that’s the guide I followed - which hasn’t worked. I’m not using http here.

    TFTP seems to be working - otherwise surely I wouldn’t be getting ok for both vmlinuz.efi and initrd.lz in the screen grab in my original post.

    In my boot options, I’m using NFS and I can connect to that NFS export/share just fine from another workstation. I am using the same parameters - modified for my setup as in the example in the URL.



  • This post is deleted!

 

341
Online

41.2k
Users

11.6k
Topics

110.7k
Posts

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