Issues with PXE Boot

'User made' tutorials related to Porteus Kiosk edition.
Official kiosk documentation can be find here: http://porteus-kiosk.org/documentation.html
Post Reply
User avatar
maxfahl
White ninja
White ninja
Posts: 8
Joined: 18 Feb 2019, 15:36
Distribution: Kiosk

Issues with PXE Boot

Post#1 by maxfahl » 18 Feb 2019, 15:54

Hello.

I have an issue with PXE boot that I hope someone might be able to help me with. I've been trying to figure this out by myself, but after 2 days of unsuccessful experiments I've sort of given up. This is what I do:

1. I have created an ISO through the wizard and added the initrdpxe.xz component to the "additional_components" parameter.
2. I unpacked the ISO to a folder on the server (the server is running Ubuntu 16.04).
3. I installed tftpd-hpa on the server and pointed it to serve iso_unpack_location/boot.
4. I installed webfsd and started the service on port 9090 serving the iso_unpack_location folder (containing the xzm and boot folders).
5. I modified iso_unpack_location/boot/pxelinux.cfg/default adding the IP address of the http-server at the end of the append statement.
6. I'm using isc-dhcp and have configured it to serve pxelinux.0 from the TFTP-server.
7. I'm starting the Intel NUC I'd like to have as a player.
8. The prompt first reads "Trying to load pxelinux.cfg/default ........... OK".
9. Next screen I get is saying "udhcp: ioctl 0x8933 failed: No such device. Error: Kiosk data not found..."

I've successfully been able to transfer files from both TFTP and HTTP to another computer, so the cause of the error shouldn't be there. Also, the PXE boot process seems to be able to read and parse the "pxelinux.cfg/default" file correctly since it gives me the content of this file as part of the debug info.

We are currently using Porteus 4.7. I'm happy to provide additional information if you need it. What am I missing here?
Last edited by maxfahl on 19 Feb 2019, 09:35, edited 2 times in total.
/ Max

User avatar
fanthom
Site Admin
Site Admin
Posts: 5286
Joined: 28 Dec 2010, 02:42
Distribution: Porteus Kiosk
Location: Poland
Contact:

Re: Issues with PXE Boot

Post#2 by fanthom » 19 Feb 2019, 09:09

Hello Max,

"udhcp: ioctl 0x8933 failed: No such device. Error: Kiosk data not found..."
There can be two reasons for this:
1) your NIC driver is missing in the initrdpxe.xz (means kernel does not support it - you should consider upgrading to latest kiosk version)

2) initrdpxe.xz is not transported on the client side (this is likely the reason) so please ensure that:
"tftpd should be able to transport vmlinuz and both initrds (/boot/vmlinuz, /boot/initrd.xz and /boot/pxelinux.cfg/initrdpxe.xz)"

as per:
https://porteus-kiosk.org/pxe-server.html

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

User avatar
maxfahl
White ninja
White ninja
Posts: 8
Joined: 18 Feb 2019, 15:36
Distribution: Kiosk

Re: Issues with PXE Boot

Post#3 by maxfahl » 19 Feb 2019, 09:27

Thanks for a quick answer.
initrdpxe.xz is not transported on the client side (this is likely the reason) so please ensure that:
"tftpd should be able to transport vmlinuz and both initrds (/boot/vmlinuz, /boot/initrd.xz and /boot/pxelinux.cfg/initrdpxe.xz)"
This has been verified to work. All files are readable through the TFTP.
your NIC driver is missing in the initrdpxe.xz (means kernel does not support it - you should consider upgrading to latest kiosk version)
See the screenshot, which lists only "lo" as available interface, which seems to point in the direction you suggest. However, how can that be? If we put the same image on a USB, and boot the same NUC (gen 7) from this USB, it works normally, and has no problem using the NIC. So the driver seems to be there.

Image
/ Max

User avatar
fanthom
Site Admin
Site Admin
Posts: 5286
Joined: 28 Dec 2010, 02:42
Distribution: Porteus Kiosk
Location: Poland
Contact:

Re: Issues with PXE Boot

Post#4 by fanthom » 19 Feb 2019, 11:04

When you look at the screenshot you'll find that kernel version is different than modules version.

Seems this is customized build with upgraded kernel so you need custom initrdpxe.xz as well (please contact support@porteus-kiosk.org and request it).

Or you could temporarily use original 'vmlinuz' from kiosk 4.7.0 to verify that PXE boot works ok (just replace vmlinuz file in unpacked ISO).
Please add [Solved] to your thread title if the solution was found.

User avatar
maxfahl
White ninja
White ninja
Posts: 8
Joined: 18 Feb 2019, 15:36
Distribution: Kiosk

Re: Issues with PXE Boot

Post#5 by maxfahl » 20 Feb 2019, 09:45

Everything is working after the new initrdpxe.xz. However I have another small question regarding this. The http_server setting in boot/pxelinux.cfg/default should point to a web server, but it seems it doesn't accept a value of for example 10.0.2.10/public/player. Only 10.0.2.10 works here. Am I possible to use a path from the root of the web server somehow?

We already have a web server running for other reasons and would like to use this for the pxe boot as well.
/ Max

User avatar
fanthom
Site Admin
Site Admin
Posts: 5286
Joined: 28 Dec 2010, 02:42
Distribution: Porteus Kiosk
Location: Poland
Contact:

Re: Issues with PXE Boot

Post#6 by fanthom » 20 Feb 2019, 10:00

Max,

Please use custom port (seems you use '9090' already?) and then configure webfsd to host specific path on your server.
Please add [Solved] to your thread title if the solution was found.

User avatar
maxfahl
White ninja
White ninja
Posts: 8
Joined: 18 Feb 2019, 15:36
Distribution: Kiosk

Re: Issues with PXE Boot

Post#7 by maxfahl » 20 Feb 2019, 10:31

I know that I can use webfsd and serve the content directly like 10.0.2.10:9090, that's what I used earlier. But we want to use our existing web server on port 80 (we don't want two of them). The root of that web server is two levels above the player folder (../../player), so we'd like to point to the ISO folder (player) with the configuration "10.0.2.10/public/player", is this not possible at the moment?
/ Max

User avatar
fanthom
Site Admin
Site Admin
Posts: 5286
Joined: 28 Dec 2010, 02:42
Distribution: Porteus Kiosk
Location: Poland
Contact:

Re: Issues with PXE Boot

Post#8 by fanthom » 20 Feb 2019, 10:41

This is not possible with stock image.
Customization would be needed (may go mainline in next kiosk release if works ok).
Please add [Solved] to your thread title if the solution was found.

User avatar
maxfahl
White ninja
White ninja
Posts: 8
Joined: 18 Feb 2019, 15:36
Distribution: Kiosk

Re: Issues with PXE Boot

Post#9 by maxfahl » 20 Feb 2019, 10:48

Okay, that would be really nice. We will go with webfsd on port 9090 for now.
/ Max

User avatar
fanthom
Site Admin
Site Admin
Posts: 5286
Joined: 28 Dec 2010, 02:42
Distribution: Porteus Kiosk
Location: Poland
Contact:

Re: Issues with PXE Boot

Post#10 by fanthom » 27 Feb 2019, 09:19

Max,

Done few tests and seems that subfolders are supported out of the box in stock 4.8.0 ISO.

I have updated PXE documentation to reflect this:
https://porteus-kiosk.org/pxe-server.html

"If kiosk ISO is unpacked to specific folder on the http server (rather than root) then please use this parameter: http_server=192.168.1.34:8090/path"

Must be something wrong with configuration of your web server.
Please add [Solved] to your thread title if the solution was found.

User avatar
maxfahl
White ninja
White ninja
Posts: 8
Joined: 18 Feb 2019, 15:36
Distribution: Kiosk

Re: Issues with PXE Boot

Post#11 by maxfahl » 27 Feb 2019, 09:49

Sounds good. I think we're using 4.7 at the moment though, if you didn't upgrade our latest custom build to 4.8?
/ Max

User avatar
fanthom
Site Admin
Site Admin
Posts: 5286
Joined: 28 Dec 2010, 02:42
Distribution: Porteus Kiosk
Location: Poland
Contact:

Re: Issues with PXE Boot

Post#12 by fanthom » 27 Feb 2019, 10:36

Sorry - i should write:

"Done few tests and seems that subfolders are supported out of the box in stock ISO"

as this feature works even in 3.7.0 release.
Please add [Solved] to your thread title if the solution was found.

Post Reply