[Solved] UEFI PXE Networkboot

'User made' tutorials related to Porteus Kiosk edition.
Official kiosk documentation can be find here: http://porteus-kiosk.org/documentation.html
Post Reply
max.muster
White ninja
White ninja
Posts: 5
Joined: 16 May 2014, 07:16
Distribution: Porteus Kiosk V3.0
Location: austria

[Solved] UEFI PXE Networkboot

Post#1 by max.muster » 19 Nov 2014, 08:27

Hi,

I just downloaded the new Porteus-Kiosk-3.1.3 which should work with UEFI. I have tried it an it works with usb boot stick.
Anyway I could not figure out how to make it work using PXE. I am using Porteus Kiosk (Ver 3.0) on legacy BIOS based thin clients and it works great.
Any help how to get Porteus-Kiosk-3.1.3 to load on UEFI based clients via PXE network boot would be appreciated!
Last edited by max.muster on 25 Nov 2014, 08:26, edited 1 time in total.

User avatar
fanthom
Site Admin
Site Admin
Posts: 4547
Joined: 28 Dec 2010, 02:42
Distribution: Porteus Kiosk
Location: Poland, currently - Cork, IE
Contact:

Re: UEFI PXE Networkboot

Post#2 by fanthom » 19 Nov 2014, 10:04

please have a look on this:
https://access.redhat.com/documentation ... g-efi.html

seems that you have to provide grub.efi image instead of pxelinux.0 to the clients. modifications to the initrd may be also necessary as client should download grub configuration file.
i'll have a look on this over the weekend but if you find something yourself then please post so i could add this function to Porteus Kiosk 3.2 planned for December (no much time left).

thanks
Please add [Solved] to your thread title if the solution was found.

max.muster
White ninja
White ninja
Posts: 5
Joined: 16 May 2014, 07:16
Distribution: Porteus Kiosk V3.0
Location: austria

Re: UEFI PXE Networkboot [Solved]

Post#3 by max.muster » 20 Nov 2014, 10:35

Hi,

so I finally succeded. Here is a very short how-to and some additional links to help anyone else with this problem:
1.) First I check the Ubuntu site regarding PXE-netboot install https://wiki.ubuntu.com/UEFI/PXE-netboot-install
2.) Download UEFI signed grub image from http://archive.ubuntu.com/ubuntu/dists/ ... efi.signed
3.) The I took the EFI boot file (bootx64.efi) from the Ubuntu 14.04-server-amd64.iso. This file is located on the iso image in the directory EFI/BOOT
4.) Created an ISO with the Porteus Kiosk Wizard with PXE support
5.) Installed Apache2, tftpd-hpa and isc-dhcp server on my ubuntu server

Configuration of tftpd-hpa:
1.) tftp-root is located at /var/lib/tftpboot
2.) Created directory grub and pxelinux in tftp-root directory and the directory pxelinux.cfg in/var/lib/tftpboot/pxelinux
3.) Copied grubnetx64.efi.signed to /var/lib/tftpboot/grubnetx64.efi
4.) Copied bootx64.efi to /var/lib/tftpboot/pxelinux
5.) Copied vmlinuz (from Porteus Kiosk Wizard created ISO to /var/lib/tftpboot/pxelinux
6.) Copied initrd.xz and initrdpxe.xz (from Porteus Kiosk Wizard created ISO to /var/lib/tftpboot/pxelinux and /var/lib/tftpboot/pxelinux/pxelinux.cfg
7.) Created default grub.cfg configuration file in /var/lib/tftpboot/grub and added these lines

Code: Select all

set timeout=0
menuentry "Load Porteus Kiosk" {
  linux /pxelinux/vmlinuz gfxpayload=800x600x16,800x600 -- quiet http_server=10.4.63.3:80/uefi/
  initrd /pxelinux/initrd.xz /pxelinux/pxelinux.cfg/initrdpxe.xz
}
Configuration of dhcpd.conf:
1) Modified dhcpd.conf to serve a subnet with pxe clients:

Code: Select all

authoritative;
subnet 10.4.63.0 netmask 255.255.255.0 {
interface eth1;
  option domain-search "yourdomain.name";
  option domain-name-servers 10.4.63.10;
  option domain-name "yourdomain.name";
  option broadcast-address 10.4.63.255;
  option routers 10.4.63.1;
  range 10.4.63.20 10.4.63.50;

if substring( option vendor-class-identifier , 0 , 9 ) = "PXEClient" {
  filename "pxelinux/bootx64.efi";
}
Apache Configuration
1) Created directory uefi in the apache default documents root directory
2) Copied directories docs and boot from Porteus Kiosk Wizard created iso to uefi

Well then I restarted tftpd-hpa, isc-dhcp server and apache2 and it worked!

Tested on VMWare Workstation 10 (efi enabled) and Shuttle XS36V4 (boot Secure boot enabled and disabled)

Best regards!

User avatar
fanthom
Site Admin
Site Admin
Posts: 4547
Joined: 28 Dec 2010, 02:42
Distribution: Porteus Kiosk
Location: Poland, currently - Cork, IE
Contact:

Re: UEFI PXE Networkboot

Post#4 by fanthom » 20 Nov 2014, 13:46

great stuff!
i'm happy that the method you described does not require any modifications to kiosk core (kernel, initrd) and it's just a mater of configuration on the server side.

thanks a lot for this
Please add [Solved] to your thread title if the solution was found.

Post Reply