5

I'm trying to install elementary OS over PXE and I'm following this and this tutorial. But I had a problem with the netboot folder: I didn't find one for elementary OS. Can I find or do I have to make one? How do I make one?

ps: I tried to use elementary OS PXE, but didn't work for me either.

3 Answers 3

5

There is not a netboot install for elementary OS.

0

Simple like Ubuntu 16.04! See my part of pxelinux.cfg:

MENU BEGIN elementaryos-0.4
    MENU background elementaryos-0.4/splash.png
    MENU TITLE ElementaryOS 0.4
    MENU LABEL ^* ElementaryOS 0.4

            LABEL back
            MENU LABEL ^<= Back...
            MENU EXIT

            LABEL live-boot-ElementaryOS-0.4-desktop-amd64
                    MENU LABEL ^* ElementaryOS 0.4 Desktop amd64
                    KERNEL elementaryos-0.4/casper/vmlinuz
                    APPEND vga=normal boot=casper netboot=nfs nfsroot=nfs.domain.ltd:/opt/tftpboot/elementaryos-0.4 initrd=elementaryos-0.4/casper/initrd.lz ip=dhcp locale=en_US --

Requirements:

  • dnsmasq (dhcp+tftp)
  • nfs

Download iso, extract casper directory to tftp & nfs, profit!

0

How to install Elementary OS via network boot

Source: http://www.gtkdb.de/index_7_2777.html, http://www.gtkdb.de/index_33_1342.html

This how-to is written for Ubuntu Server 16.04. You could use any version of Ubuntu >=14.10. Run this as root. (sudo ...)

  1. Install needed software and tools:

    apt-get install nfs-kernel-server dnsmasq syslinux pxelinux
    
  2. Download ISO from elementary.io (I don't have enough reputation to add a download-link. Sorry.)
  3. Mount iso to /mnt

    mount -o loop your_iso_file.iso /mnt
    
  4. Create a directory for your NFS-server that stores the content of the ISO-file

    mkdir -p /data/nfs/elementary0.4_live_amd64
    cp -a /mnt/. /data/nfs/elementary0.4_live_amd64
    umount /mnt
    
  5. Define the NFS-directory as exportable NFS-directory by adding this line to /etc/exports

    /data/nfs/elementary0.4_live_amd64          192.168.196.0/24(ro)
    

    Replace 192.168.196.0/24with your subnet. (ro) means Read-Only.

  6. Reload NFS service

    systemctl reload nfs-server.service 
    
  7. Create your tftp root directory and copy the required files into it

    mkdir -p /tftpboot/elementary0.4_live/amd64 
    cp /data/nfs/elementary0.4_live_amd64/casper/initrd.lz /data/nfs/elementary0.4_live_amd64/casper/vmlinuz.efi /tftpboot/elementary0.4_live/amd64/
    mkdir /tftpboot/pxelinux.cfg/
    cp /usr/lib/syslinux/modules/bios/* /tftpboot/
    cp /usr/lib/PXELINUX/pxelinux.0 /tftpboot/
    
  8. Configure your PXE by creating /etc/tftpboot/pxelinux.cfg/default. Add this lines:

    default vesamenu.c32
    timeout 100
    prompt 0
    noescape 1
    
    menu title PXE Boot Options
    
    label elementary0.4_live_amd64
      menu label Elementary OS 0.4 Loki Live AMD64
      kernel /elementary0.4_live/amd64/vmlinuz
      append nfsroot=[YOUR_IP/HOSTNAME]:/data/nfs/elementary0.4_live_amd64/ netboot=nfs ro file=/cdrom/preseed/elementary.seed boot=casper initrd=/elementary0.4_live/amd64/initrd.lz locale=de_DE bootkbd=de console-setup/layoutcode=de --
    

    Replace [YOUR_IP/HOSTNAME] with your IP address or your domain.

  9. Replace /etc/dnsmasq.conf with:

    port=0
    log-dhcp
    
    dhcp-range=192.168.178.0,proxy  # Replace the IP address with your network subnet. 192.168.178.XXX => 192.168.178.0,proxy
    dhcp-boot=pxelinux.0  
    
    pxe-service=x86PC,"Network Boot",pxelinux
    
    enable-tftp
    tftp-root=/tftpboot
    
  10. Restart dnsmasq

    systemctl restart dnsmasq.service

  11. Boot your device and enjoy Elementary OS via Netboot. Please up vote this answer if it works for you. (:

1
  • Just tried with 7.1: I needed to add ip=dhcp to the append line in pxeconf (step 8. above). Commented Mar 9 at 13:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.