Lenovo HTTP IPv6 Boot Application Instructions
- June 3, 2024
- Lenovo
Table of Contents
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
- IPv6 Best Practices, Benefits, Transition Challenges, and the Way Forward,
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:
- IPv6 address: 2001:db8:f00f:cafe:1/64
- Domain name: www.httpboot.local
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:
- 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
- The default directory is /var/www/htdocs however you can change it in the /etc/apache2/default-server.conf configuration file.
- 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
- 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:
-
Add the following lines to /etc/dnsmasq.conf
Figure 3 Adding lines to disease.conf -
Add the following lines to /etc/dnsmasq.d/hosts: Figure 4 Adding lines to disease.d/hosts:
-
Run the following command to start the DNS service.
Figure 5 Starting the DNS service
Configuring the DHCP service
Configure DHCP Service as follows:
-
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 -
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 -
Edit the /etc/dhcpd6.conf file as shown in Figure 8:
Figure 8 Add lines to the dhcpd6.conf file -
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.
- Enable IPv6 forwarding using the following commands:
Figure 10 Enable IPv6 forwarding
Using HTTP IPv6 Boot to Install a Linux OS on Lenovo ThinkSystem Servers
-
Edit the configuration file:
Figure 11 Edit the radvd.service file -
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
-
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.
-
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 -
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 -
For SLES 15 SP2, make the changes to grup.cfg as shown in Figure 15.
Figure 15 grub.cf file for SLES 15 SP2 -
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.
- 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
- 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
- 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
- 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
- Review the following resources for more information:
- Lenovo Press paper, Using HTTP Boot to Install an Operating System on Lenovo ThinkSystem serve: https://lenovopress.com/lp0736
- SUSE web page for Setting up a UEFI HTTP Boot Server: https://documentation.suse.com/sles/15-SP2/html/SLES-all/cha-deployment-prep-uefi-httpboot.html
- European Telecommunications Standards Institute (ETSI) white paper, IPv6 Best Practices, Benefits, Transition Challenges, and the Way Forward
- https://www.etsi.org/images/files/ETSIWhitePapers/etsi_WP35_IPv6_BesPractices _Benefits_Transition_Challenges_and_the_Way_Forward.pdf
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
- Lenovo Press
- Using HTTP IPv6 Boot to Install a Linux OS on Lenovo ThinkSystem Severs > Lenovo Press
- SLES 15 SP2 | Deployment Guide | Setting up a UEFI HTTP Boot Server
- Using HTTP Boot to Install an Operating System on Lenovo ThinkSystem servers > Lenovo Press
- etsi.org/images/files/
- Copyright and Trademark Information | Lenovo US | Lenovo US
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>