2

Using VM, with Edubuntu 14.04

I have just decided to update my PXE Boot server from 12.04 to 14.04 - I do not want to take the other system down to upgrade it. I have created a new system and do a fresh install of Edubuntu 14.04. I was working through my configurations of the system, when I came upon the change for the following file:

/var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default

This is the entries that I have for this file:

    default vesamenu.c32
    timeout 600
    ontimeout Ghost - Puppy Linux - Version 5.8.4
    prompt 0
    menu include pxelinux.cfg/pxe.conf

    label Ghost - Puppy Linux - Version 5.8.4
    kernel /Puppy5.8.4/vmlinuz
    initrd /Puppy5.8.4/initrd.gz
    append boot=live pfix=copy nosmp root=nbd0 nbdroot=/pxeghost
    text help
    GhostPup 5.8.4
    endtext

    label Change NT Password
    kernel memdisk
    append initrd=chntpw.iso iso raw
    text help
    Change NT Password
    endtext


    label GPARTED 
    kernel memdisk
    append initrd=gparted-live-0.14.1-6-i486.iso iso raw
    text help
    GParted v 0.14.1-6-i486
    endtext


    label ltsp - Original
    kernel vmlinuz
    append ro initrd=initrd.img root=/dev/nbd0 splash plymouth:force-splash
    vt.handoff=7 nbdroot=:ltsp_i386 


    label WinPE 4.0 
    kernel memdisk
    append initrd=winpe_x64.iso iso raw
    text help
    WinPE 4.0 Boot Disk
    endtext

    label XUbuntu 12.04 LTS 
    kernel memdisk
    append initrd=xubuntu12.04.iso iso raw
    text help
    XUbuntu 12.04 Long Term Support
    endtext

    label CentOs 6.5 
    kernel memdisk
    append initrd=CentOS-6.5-i386-LiveCD.iso iso raw
    text help
    CentOS-6.5-i386-LiveCD
    endtext

The issue is that this was simple to make the changes in this file and it worked, now we are directed by the same file to a different location - see below:

    ipappend 2

    menu end
    # This file is regenerated when update-kernels runs.
    # Do not edit, see /etc/ltsp/update-kernels.conf instead.

    menu begin ltsp-versions-NFS
    menu label Other LTSP boot options using NFS


    label ltsp-NFS-3.13.0-24-generic
    menu label LTSP, using NFS, with Linux 3.13.0-24-generic
    kernel vmlinuz-3.13.0-24-generic
    append ro initrd=initrd.img-3.13.0-24-generic init=/sbin/init-ltsp quiet splash root=/dev/nfs ip=dhcp boot=nfs
    ipappend 2

    menu end
    # This file is regenerated when update-kernels runs.
    # Do not edit, see /etc/ltsp/update-kernels.conf instead.

    menu begin ltsp-versions-AOE
    menu label Other LTSP boot options using AOE


    label ltsp-AOE-3.13.0-24-generic
    menu label LTSP, using AOE, with Linux 3.13.0-24-generic
    kernel vmlinuz-3.13.0-24-generic
    append ro initrd=initrd.img-3.13.0-24-generic init=/sbin/init-ltsp quiet splash
    root=/dev/etherd/e0.0
    ipappend 2

    menu end

NOTE: We are directed to another file that creates this menu.

    # Do not edit, see /etc/ltsp/update-kernels.conf instead.

Then the format on this new file is completely different as seen here:

    # Default boot options
    # Use a menu for booting
    #PXELINUX_DEFAULT=menu

    # Set default timeout to 10 seconds (hundreths of a second)
    #TIMEOUT=100

    # Set default boot item on timeout
    #ONTIMEOUT=ltsp-NBD

    # Use ifcpu64.c32 to detect 64-bit, PAE or 32-bit machines.
    #PXELINUX_DEFAULT=ltsp-ifcpu64-NFS
    #IFCPU64=true

    # Supported booth methods
    BOOT_METHODS="NBD NFS AOE"

    # Default commandline arguments common to all boot methods
    CMDLINE_LINUX_DEFAULT="init=/sbin/init-ltsp quiet splash"

    # Commandline used with NFS root
    CMDLINE_NFS="root=/dev/nfs ip=dhcp boot=nfs"

    # Commandline used with NBD root
    CMDLINE_NBD="root=/dev/nbd0"

    # Commandline used with AOE root
    CMDLINE_AOE="root=/dev/etherd/e0.0"

    # A sed expression that matches all kernels and returns $FILE $NAME $VERSION $FLAVOR
    # Example: ls /boot | sed -n "$KERNEL_NAMES" | sort -V -k 4,4  | sort -r -k 3,3
    KERNEL_NAMES='s/\(vmlinu[xz]-\)\([^-]*-[^-]*-\)\(.*\)/& \1 \2 \3/p'

     # A sed expression that maps from a kernel name to an initrd name
     # Example: initrd=$(echo "$FILE" | sed -n "$INITRD_NAME")
     INITRD_NAME='s/vmlinu[xz]/initrd.img/p'

     # Kernel variants
     KERNEL_PREFIX="vmlinu[z|x]-*"
     KERNEL_SUFFIX=""

     # Kernel variants that are supported by 64-bit CPUs
     LIST_KERNELS_64=""
     # Variants that are supported by PAE capable CPUs
     LIST_KERNELS_PAE="lowlatency-pae virtual-pae generic-pae"
     # Variants that are widely supported (i.e. 32-bit CPUs)
     LIST_KERNELS_32="lowlatency virtual generic"
     # Preferred default kernel order
     #LIST_KERNELS_DEFAULT="generic-custom generic-pae-custom"

     # Use pxelinux/syslinux's IPAPPEND parameter to add useful networking and
     # other system information to the boot commandline:
     # 1: Add networking: ip=<client-ip>:<boot-server-ip>:<gw-ip>:<netmask>
     # 2: Add BOOTIF=<hardware-address-of-boot-interface>
     # 3: both 1 & 2
     # 4: Add SYSUUID=<system uuid>
     #IPAPPEND=3

How can I convert this to the new file, so that my /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default file is created properly every time, and there is no chance for changes.

There is limited information on this specific topic - maybe my search strings are limiting, but this is the only pertinent link I have found, but it does not directly answer my issue.

Any assistance would be greatly appreciated.

PXE boot with Ubuntu 14.04

1 Answer 1

0

I'm flailing around on this same issue myself, but I think I found a partial hack after poking around the source file here: https://github.com/opinsys/ltsp/blob/master/server/ltsp-update-kernels

For each kernel that you update using ltsp-update-kernels, you'll have to go into its respective folder and examine the config files.

There are a few different kernel config files, but only 1 of the files seems to be getting picked up by the pxe boot loader: /opt/ltsp/i386/boot/pxelinux.cfg/ltsp.

If you examine the hyperlink above, essentially, all the folders/files within /opt/ltsp/i386/boot get copied over to /var/lib/tftboot/ltsp/i386/boot

I'm looking into see how to configure the /opt/ltsp/i386/boot/pxelinux.cfg/* config files. I'm guessing that these are created on ltsp-build-client

Update

Again, still flailing around...

I just tried to set config files in /etc/ltsp/update-client.conf and /etc/ltsp/ltsp-update-client.conf for good measure and rebuilt my client using ltsp-build-client, but none of the settings seem to have taken, unfortunately. I think the above hack is the way to go.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .