Lenovo HTTP IPv6 Boot Application Instructions

June 3, 2024
Lenovo

Lenovo HTTP IPv6 Boot Application

Introduction

UEFI Specification V2.5 includes protocols that are related to he HTTP Boot in network stack. HTTP Boot is one method of booting a server from a Uniform Resource Identifier (URI), using HTTP technology. Users can boot a Network Boot Program (NBP) with HTTP Boot technology. Internet Protocol version 6 (IPv6), the successor to Internet Protocol version 4 (IPv4), expands the addressing capability by increasing from a 32-bit IP address size to a 128-bit IP address, thereby solving the problem of IPv4 address exhaustion.The European Telecommunications Standards Institute (ETSI) white paper IPv6 Best Practices, Benefits, Transition Challenges and the Way Forward1, reveals that 1.2 billion Internet users are using IPv6 today, the majority of which are from India (358 million), China (200 million) and US (143 million). It also shows the percentage of web sites with IPv6 support is increasing from 5% (Jan. 2015) to 15% (Jan. 2020). The trend of using IPv6 will keep increasing in the future.This paper describes how to enable HTTP Boot using IPv6 (HTTP IPv6 Boot) on a ThinkSystem server running SUSE Linux Enterprise Server 15 SP2. HTTP Boot is also supported on RHEL 7.9, RHEL 8.2, RHEL 8.3, SLES 12 SP5 and SLES 15.x.

Key benefits of HTTP Boot and IPv6

HTTP Boot with IPv6 is recommended if you want to deploy an operating system in a faster and more stable way.
Key benefits of HTTP Boot include:

  • HTTP Boot can handle much larger files than TFTP, and scale to much larger distances.
  • More stable than TFTP & UDP
  • Safer than TFTP & UDP

Key benefits of IPv6 include:

  • No more NAT (Network Address Translation)
  • No more private address collisions
  • Better multicast routing
  • Simpler header format
  • Simplified, more efficient routing
  • True quality of service (QoS), also called “flow labeling”
  • IPSec (Internet Protocol Security) is built into the IPv6 protocol, usable with proper key infrastructure.
  • Flexible options and extensions
  • Easier administration
  1. IPv6 Best Practices, Benefits, Transition Challenges, and the Way Forward,

https://www.etsi.org/images/files/ETSIWhitePapers/etsi_WP35_IPv6_Best_Practices_Benefits_Transition_Challenges_and_the_Way_Forward.pdf

Setting up the HTTP IPv6 Boot server

In this section, we demonstrate how HTTP IPv6 Boot is applied to Lenovo ThinkSystem servers. We also show how to deploy an HTTP IPv6 Boot server in SLES 15 SP2.
In our lab, we have configured two servers: One serves as the HTTP IPv6 Boot server, and the other as the HTTP Boot client. The network interfaces for the HTTP IPv6 Boot server are as follows:

Configuring the HTTP Boot server

This section introduces how to set up the following services on one physical server:

  • HTTP service
  • DNS service
  • DHCP service
  • RADVD service

The detailed network interface information is shown in Figure 1:

Figure 1 Network Interface Information

Configuring the HTTP service
Configure the HTTP service as follows:

  1. Install the following packages on the machine that you plan to use as an HTTP IPv6 Boot server:
  • dhcp6-server
  • radvd
  • apache2 (or Lighttpd)
  • dnsmasq
  1. The default directory is /var/www/htdocs however you can change it in the /etc/apache2/default-server.conf configuration file.
  2. 2. Launch the HTTP service and make it start automatically at boot time, run the following. command as root: Figure 2 Starting the HTTP service
  3. Using HTTP IPv6 Boot to Install a Linux OS on Lenovo ThinkSystem Servers

Configuring the DNS service
Configuring the DNS service is optional but it’s nice to configure your server with a well-known name. To set up the DNS server:

  1. Add the following lines to /etc/dnsmasq.conf
    Figure 3 Adding lines to disease.conf

  2. Add the following lines to /etc/dnsmasq.d/hosts: Figure 4 Adding lines to disease.d/hosts:

  3. Run the following command to start the DNS service.

Figure 5 Starting the DNS service
Configuring the DHCP service
Configure DHCP Service as follows:

  1. Before setting up the DHCP servers, specify the network interface for them in /etc/sysconfig/dhcpd. For example, we added the line DHCPD6_INTERFACE=”eth1″ on our server:
    Figure 6 Adding the network interface to the DHCP config

  2. Mount the OS image and copy all the files of the EFI directory to the “/var/www/htdocs”
    Figure 7 Mount the image and copy files

  3. Edit the /etc/dhcpd6.conf file as shown in Figure 8:
    Figure 8 Add lines to the dhcpd6.conf file

  4. Start the DHCP service and make it start automatically at boot time, use the following commands:

Figure 9 Starting the DHCP services

Configuring RADVD service

The Router Advertisement Daemon (radvd) is an open-source software product that implements link-local advertisements of IPv6 router addresses and IPv6 routing prefixes using the Neighbor Discovery Protocol (NDP) as specified in RFC 2461.

  1. Enable IPv6 forwarding using the following commands:Lenovo-HTTP-IPv6-Boot-Application-FIG-10
    Figure 10 Enable IPv6 forwarding

Using HTTP IPv6 Boot to Install a Linux OS on Lenovo ThinkSystem Servers

  1. Edit the configuration file:
    Figure 11 Edit the radvd.service file

  2. Start the radvd service and make it start automatically at boot time, use the following command:
    Figure 12 Starting the radvd service

OS installation demonstration via UEFI IPv6

  1. In this section, we demonstrate the GRUB configuration for various Linux operating systems. You will need to edit /SRV/www/htdocs/BOOT/grub.cfg on the HTTP Boot server to fit your needs.

  2. Create a folder under the /SRV/www/htdocs directory as the OS image mounting point, for1. Create a folder under the /SRV/www/htdocs directory as the OS image mounting point, for example:
    Figure 13 Mounting the OS image

  3. Modify the grub.cf file under the /SRV/www/htdocs/BOOT/ directory as follows: For SLES 12 SP5, make the changes to grup.cfg as shown in Figure 14.
    Figure 14 grub.cfg file for SLES 12 SP5

  4. For SLES 15 SP2, make the changes to grup.cfg as shown in Figure 15.
    Figure 15 grub.cf file for SLES 15 SP2

  5. For RHEL 7.9, make the changes to grup.cfg as shown in Figure 16. Notes:

  • For all RHEL versions, the value of the inst. repo parameter in linuxefi command should be the IP address of the server, not the domain name.
  • For RHEL 7. x, the value of the ip parameter is network-interface:dhcp6 (highlighted in red), where network-interface is the name of the Ethernet interface on the target server. You may need to manually install Linux on the target server to get this value ahead of time.
  1. Using HTTP IPv6 Boot to Install a Linux OS on Lenovo ThinkSystem Servers

Figure 16 grub.cfg file for RHEL 7.9

For RHEL 8.2, make the changes to grup.cfg as shown in Figure 17. Notes:

  • For all RHEL versions, the value of the inst. repo parameter in the Linux EFI command should be the IP address of the server, not the domain name.
  • For RHEL 8.2, the value of the IP parameter is ip=dhcp6 as highlighted in red.
  • Figure 17 grub.cfg file for RHEL 8.2
  • For RHEL 8.3, make the changes to grup.cfg as shown in Figure 18. Notes:
  • For all RHEL versions, the value of the inst. repo parameter in the Linux EFI command should be the IP address of the server, not the domain name.
  • For RHEL 8.3, the value of the ip parameter is ip=auto6 as highlighted in red.
  • Figure 18 grub.cfg file for RHEL 8.3
  1. Power on the target server (HTTP Boot Client) and press F12 when prompted to select a Time Boot Device, as shown in Figure 19.

Figure 19 Press F12 to select One Time Boot Device

  1. Choose the network interface with HTTP IP6 in the name, as shown in Figure 20, and press Enter. If there is more than one, select one that matches a network port that is cabled and active.

Figure 20 Boot Devices Manager in UEFI

Using HTTP IPv6 Boot to Install a Linux OS on Lenovo ThinkSystem Servers

  1. Choose which OS to install on the GRUB menu as shown in Figure 21, and begin the installation process.

Figure 21 GRUB menu

The operating system will now be installed over the IPv6 network.

  • BDS Boot Device Selection
  • DHCP Dynamic Host Configuration Protocol
  • DNS Domain Name System
  • HTTP Hypertext Transfer Protocol
  • NBP Network Boot Program
  • NIC Network interface card
  • OS Operating system
  • RADVD Router Advertisement Daemon
  • PXE Preboot Execution Environment
  • RAM Random-access memory
  • TFTP Trivial File Transfer Protocol
  • TLS Transport Layer Security
  • URI Uniform Resource Identifier

References

Author

Song Shang is a Linux Engineer in Lenovo Infrastructure Solutions Group, based in Beijing, China. Thanks to the following people for their contributions to this project:

  • David Watts, Lenovo Press
  • Adrian Huang, Lenovo Linux Engineer
  • Gary Cudak, Lenovo Lead Architect

Notices

Lenovo may not offer the products, services, or features discussed in this document in all countries. Consult your local Lenovo representative for information on the products and services currently available in your area. Any reference to a Lenovo product, program, or service is not intended to state or imply that only that Lenovo product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any Lenovo intellectual property right may be used instead. However, it is the user’s responsibility to evaluate and verify the operation of any other product, program, or service. Lenovo may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to:

  • Lenovo (United States), Inc.
  • 1009 Think Place – Building One Morrisville, NC 27560
  • U.S.A.
  • Attention: Lenovo Director of Licensing

LENOVO PROVIDES THIS PUBLICATION “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. Some jurisdictions do not allow disclaimers of express or implied warranties in certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of thepublication. Lenovo may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. The products described in this document are not intended for use in implantation or other life support applications where malfunction may result in injury or death to persons. The information contained in this document does not affect or change Lenovo product specifications or warranties. Nothing in this document shall operate as an express or implied license or indemnity under the intellectual property rights of Lenovo or third parties. All information contained in this document was obtained in specific environments and is presented as an illustration. The result obtained in other operating environments may vary.Lenovo may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.Any references in this publication to non-Lenovo Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this Lenovo product, and use of those Web sites is at your own risk. Any performance data contained herein was determined in a controlled environment. Therefore, the result obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurements may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment.

© Copyright Lenovo 2021. All rights reserved.
Note to U.S. Government Users Restricted Rights — Use, duplication or disclosure restricted by Global Services Administration (GSA) ADP Schedule Contract

This document was created or updated on May 12, 2021.
Send us your comments via the Rate & Provide Feedback form found at
http://lenovopress.com/lp1469
Trademarks
Lenovo and the Lenovo logo are trademarks or registered trademarks of Lenovo in the United States, other countries, or both. These and other Lenovo trademarked terms are marked on their first occurrence in this information with the appropriate symbol (® or ™), indicating US registered or common law trademarks owned by Lenovo at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of Lenovo trademarks is available from
https://www.lenovo.com/us/en/legal/copytrade/.

The following terms are trademarks of Lenovo in the United States, other countries, or both: Lenovo® Lenovo(logo)® ThinkSystem™ The following terms are trademarks of other companies:
Linux is a trademark of Linus Torvalds in the United States, other countries, or both.
Other company, product, or service names may be trademarks or service marks of others.

References

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Lenovo User Manuals

Related Manuals