Edubuntu 14.04 - Configuração de inicialização PXE personalizada

2

Usando VM, com o Edubuntu 14.04

Acabei de decidir atualizar meu servidor de inicialização PXE de 12.04 para 14.04 - não quero baixar o outro sistema para atualizá-lo. Eu criei um novo sistema e faço uma nova instalação do Edubuntu 14.04. Eu estava trabalhando através de minhas configurações do sistema, quando me deparei com a mudança para o seguinte arquivo:

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

Estas são as entradas que eu tenho para este arquivo:

    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

A questão é que isso era simples de fazer as alterações neste arquivo e funcionou, agora somos direcionados pelo mesmo arquivo para um local diferente - veja abaixo:

    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

NOTA: Somos direcionados para outro arquivo que cria este menu.

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

Em seguida, o formato neste novo arquivo é completamente diferente, como visto aqui:

    # 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]-\)\([^-]*-[^-]*-\)\(.*\)/&   /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

Como posso converter isso para o novo arquivo, para que meu arquivo /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default seja criado corretamente toda vez, e não há chance de alterações.

Há informações limitadas sobre esse tópico específico - talvez minhas strings de pesquisa sejam limitantes, mas esse é o único link pertinente que encontrei, mas não responde diretamente ao meu problema.

Qualquer ajuda seria muito apreciada.

Inicialização PXE com o Ubuntu 14.04

    
por Brian Fowler 24.12.2014 / 17:11

1 resposta

0

Estou falando mal desse mesmo problema, mas acho que encontrei um hack parcial depois de pesquisar o arquivo de origem aqui: link

Para cada kernel que você atualizou usando ltsp-update-kernels , você terá que ir para a respectiva pasta e examinar os arquivos de configuração.

Existem alguns arquivos de configuração de kernel diferentes, mas apenas 1 dos arquivos parece estar sendo escolhido pelo gerenciador de inicialização pxe: /opt/ltsp/i386/boot/pxelinux.cfg/ltsp .

Se você examinar o hyperlink acima, essencialmente, todas as pastas / arquivos dentro de /opt/ltsp/i386/boot serão copiados para /var/lib/tftboot/ltsp/i386/boot

Eu estou olhando para ver como configurar os arquivos /opt/ltsp/i386/boot/pxelinux.cfg/* config. Eu estou supondo que estes são criados em ltsp-build-client

Atualizar

Mais uma vez, ainda se debatendo ...

Eu apenas tentei configurar os arquivos de configuração em /etc/ltsp/update-client.conf e /etc/ltsp/ltsp-update-client.conf para uma boa medida e reconstruí meu cliente usando ltsp-build-client , mas nenhuma das configurações parece ter acontecido, infelizmente. Eu acho que o hack acima é o caminho a percorrer.

    
por awei 27.03.2015 / 15:43