Differences
This shows you the differences between two versions of the page.
— |
blocks:archive:server:pxe_boot_v2.3_ubuntu_16.04 [2020-05-19 06:10] (current) mattias created |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Network Boot of PIXILAB Player Legacy Ubuntu 16 ====== | ||
+ | This document describes how to configure your existing [[blocks: | ||
+ | |||
+ | :!: If your server comes with Blocks 3 from the outset, most of this is already done. If so, you can skip down to [[# | ||
+ | |||
+ | ===== Updating your Blocks Server ===== | ||
+ | Start by [[blocks: | ||
+ | |||
+ | Update the Blocks program itself to version 3 or later. This file is named PIXILAN.jar and is located in the home folder of the pixilab-server user. | ||
+ | |||
+ | ===== Enabling the TFTP server ===== | ||
+ | A part of the network boot procedure uses a TFTP server. Such a server is built into Blocks for this purpose, and must be configured in order to be active. This is done by adding the following two lines to the // | ||
+ | |||
+ | < | ||
+ | tftp: | ||
+ | port: 9069 | ||
+ | </ | ||
+ | |||
+ | :!: The YML file format is sensitive to indentation. Make sure you keep the indentation exactly as shown above. | ||
+ | |||
+ | ==== Adding Firewall Rule for TFTP ==== | ||
+ | The Linux firewall needs to be updated to allow for the TFTP traffic. To do so, switch to the // | ||
+ | |||
+ | < | ||
+ | sudo iptables -t nat -I PREROUTING -p udp --dport 69 -j REDIRECT --to-port 9069 | ||
+ | sudo bash -c " | ||
+ | sudo bash -c " | ||
+ | </ | ||
+ | |||
+ | Type the pixi-admin user's password when requested. If you haven' | ||
+ | ===== Configuring the DHCP Server ===== | ||
+ | A DHCP server is required as part of the network boot procedure. The method described here assumes you're using the [[blocks: | ||
+ | |||
+ | Using [[blocks: | ||
+ | |||
+ | * Open the [[blocks: | ||
+ | * Locate the "Boot filename" | ||
+ | * Type // | ||
+ | * Select the radio button next to this text field. | ||
+ | * Click Save at the bottom of the window. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ===== Obtaining the PIXILAB Player ===== | ||
+ | The player software is first [[blocks: | ||
+ | |||
+ | * Insert the player USB into your Linux-based Blocks server. It will appear as a number of disks. | ||
+ | * Open the Kiosk disk, so you can see its files and folders. | ||
+ | * Open the //public// folder found inside PIXILAB-Blocks-root in a new window, so you have them both side by side (see illustration below). | ||
+ | * If there isn't already a folder in the //public// folder named PIXILAB_Player, | ||
+ | * Drag all the items from the Kiosk disk (//boot, docs, xzm//, etc) into the PIXILAB_Player folder. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Your server is now set up for network boot of players. If you need to update your PIXILAB Player later on, just replace the files inside the // | ||
+ | |||
+ | :!: The computer you use as player must be configured to boot from the network. This is done in the BIOS settings. See [[blocks: | ||
+ | |||
+ | ===== Implementation Details ===== | ||
+ | This section describes some implementation details that may be of use to you if you're trying to make network boot work with other solutions than those built into our Linux-based server, or using another domain name than // | ||
+ | |||
+ | Network booting requires close cooperation between three services: | ||
+ | |||
+ | * **DHCP Server**. Provides the IP address to the player, and points the player to the boot-loader code. | ||
+ | * **TFTP Server**. Provides the boot-loader code requested by the BIOS of the player. | ||
+ | * **Web Server**. Provides the bulk of the player code, as well as its configuration details. | ||
+ | |||
+ | Those services may all reside on the same computer (as is the case when using those built into our Linux-based server). Or they may live across multiple servers or other devices. | ||
+ | |||
+ | :!: This information is provided only as an overview and starting point for you if you need to configure such services. PIXILAB does not support other methods than those built into our Linux-based server. | ||
+ | |||
+ | === DHCP Server === | ||
+ | |||
+ | The DHCP server first gives the IP address for the player. It can then also inform devices that support network booting of where to find the bootstrap-loader. Two custom fields are of particular importance here: | ||
+ | |||
+ | * **Boot filename** (option 67). Defines the name of the boot-strap file to load from the TFTP server (in the standard configuration, | ||
+ | * **Boot file server** (option 66). IP address of the TFTP server. Not required if the TFTP server is the same as the DHCP server. | ||
+ | |||
+ | === TFTP Server === | ||
+ | |||
+ | The TFTP server responds with the file specified by the //Boot filename// DHCP server option (e.g., pxelinux.0). Other files may be loaded as well using this method. Once this step is done, subsequent files are loaded using HTTP from a web server. | ||
+ | |||
+ | The TFTP server must respond to port 69, and must support TFTP options negotiation. | ||
+ | |||
+ | === Web Server === | ||
+ | |||
+ | The final pieces are downloaded from a web server. The starting URL for this phase is specified in a file inside the PIXILAB Player. This file is found on the Kiosk volume at // | ||
+ | |||
+ | < | ||
+ | http:// | ||
+ | </ | ||
+ | |||
+ | If your Blocks server uses another domain name than // | ||