Overview
Intel® Edge Software Device Qualification (Intel® ESDQ) for the Intel® Tiber™ Edge Platform is a qualification software package that allows customers to run an Intel-provided test suite on the target system. Its goal is to enable partners to qualify their platform to be onboarded as an edge node.
The qualification software enables customers to confirm that the Intel Tiber Edge Platform will function on the hardware they intend to use.
The following information is specific to the Intel ESDQ for the Intel Tiber Edge Platform package for edge node qualification. For documentation on the Intel ESDQ command line interface (CLI) binary, refer to Intel® ESDQ CLI Overview.
Configure & Download Intel ESDQ
For installation steps, refer to the Get Started section.
How It Works
To qualify a device using Intel ESDQ for Intel Tiber Edge Platform:
- Download and install the qualification software on the platform that needs to be qualified as meeting the system requirements for an edge node.
- Run the software on the platform and provide the needed credentials and inputs. The software runs a set of test cases to confirm that the platform is suitable for the edge node software and that it can be onboarded as an edge node on the Intel Tiber Edge Platform.
- When the test case run is complete, review the report that outlines the successful and failed test cases.
- Perform any necessary troubleshooting, and then forward the report to Intel for further troubleshooting or for obtaining qualification.
Target System Requirements
The Intel ESDQ for the Intel Tiber Edge Platform release supports the following validated hardware devices. Other hardware platforms with similar CPU SKUs should be functional as long as minimum hardware requirements have been met. We encourage hardware vendors to perform their own validation with the Intel ESDQ software.
Supported Target Platforms
- Intel® Xeon® D processor (for example, Lenovo* ThinkEdge SE360 V2 server)
- 3rd generation Intel® Xeon® Scalable processor-based server (for example, Dell* PowerEdge XR12 rack server)
- 4th generation Intel Xeon Scalable processor-based server (for example, Dell PowerEdge R760 BIOS version)
- 12th generation Intel® Core™ mobile processor-based server (for example, ASUS* PE3000G servers)
- 13th generation Intel Core mobile processor-based server (for example, ASRock* iEP-7020E Series BIOS version)
GPU
- Intel® Iris® Xe graphics (integrated with 13th generation Intel Core mobile processor)
Storage
- Minimum: 2 drives, each 256 GB
- Recommended: 2 drives, each 512 GB
Memory
- 64 GB DDR5 on platforms based on Intel Core processors
- 128 GB DDR5 on platforms based on Intel Xeon Scalable processors
Ethernet Adapters
- Based on Intel Xeon Scalable processor:
- Intel® Ethernet X710 Network Adapter
- Intel Ethernet E810 Network Adapter
- Based on Intel Core processor:
- Intel® I226 Ethernet Controller
Recommended Settings for Secure Startup and Performance
Follow the BIOS settings for the Intel® ESDQ for Intel® Tiber™ Edge Platform.
Software Overview
The software consists of a qualification suite and a set of test cases applicable to the chosen profile. The suite runs the test cases to qualify the platform. The test cases consist of hardware bill-of-materials (BOM) checks, software BOM checks, checks for dependencies on the underlying operating system and firmware, and certain lightweight functional tests. The qualification suite generates a report as output, which the customer can then forward to Intel for further troubleshooting or for obtaining qualification.
The qualification suite test cases are categorized as follows:
- BIOS
- CPU
- GPU
- Memory
- Networking
- Operating System (OS)
- Power Management
- Remote Management
- Storage
- Telemetry and Observability
- Security (Trusted Platform Module [TPM])
- Software Dependencies Test
Get Started
The software for the edge node qualification is installed through the Intel Tiber Edge Platform Software Catalog. Figure 1 shows the customer journey for deploying and running the Intel ESDQ software. The steps are explained in detail in the following sections.
Figure 1. Qualification Flow for Intel ESDQ for the Intel Tiber Edge Platform
Step 1: Prerequisites
- Operating System Installation
- Perform a clean operating system installation of Ubuntu 22.04 LTS on the target system on the secondary storage device or USB media drive. Then, install the Ubuntu 22.04 Cloud operating system on the primary storage device.
- Follow the steps to install the Ubuntu 22.04 Cloud Operating System on the primary hard disk
- Follow the installation order and recommended operating system for each platform:
Installation Order |
Storage Device |
Operating System |
|
---|---|---|---|
1 |
Secondary |
Intel® Core™ 12th & 13th Generation Processors Ubuntu 22.04.4 LTS Desktop |
Intel® Xeon® D, Intel® Xeon® 3rd and 4th Generation Scalable Processors Ubuntu 22.04.4 LTS Server |
2 |
Primary |
Ubuntu 22.04 Cloud |
|
- Release Service ID Token
During the deployment, you are prompted to enter the Release Service ID Token.
Follow the steps to apply for Release Service access:
- Complete the Intel® Tiber™ Edge Platform Customer Onboarding to receive the Intel Registration email account
- Notify your Intel representative once this step is completed.
- Internet Access
Internet access is needed during installation and during qualification flow for Intel® ESDQ for Intel® Tiber™ Edge Platform.
If the lab environment requires proxy settings to access the internet, follow step 9 in the Appendix.
Step 2: Create an Account
Go to the Intel Tiber Edge Platform Software Catalog, and then navigate to the Intel ESDQ for the Intel Tiber Edge Platform module page.
Figure 2. Software Catalog
Select the package to download and sign in or register for an Intel unified credential when prompted.
Step 3: Download the Software
Sign in to the Intel Tiber Edge Platform Software Catalog using your Intel® Unified Login credentials and download the Intel ESDQ for Intel Tiber Edge Platform software. Accept the license agreement to continue the download.
Figure 3. Download the Intel® ESDQ for Intel Tiber Edge Platform package
Figure 4. Accept the license agreement
The Intel Tiber Edge Platform software is downloaded on the local system.
Copy the downloaded qualification software from the Windows* local system to the target edge node system.
Figure 5. Intel® ESDQ for Tiber™ Edge Platform software is downloaded
Step 4: Configure and Deploy
- Extract the package on the edge node, and then change the run permissions to edgesoftware installer.
- Install the qualification tool by using the ./edgesoftware install command.
Note You will need privileged access to the target edge node system to install the qualification tool.
-
Once the installation is complete, the system restarts automatically.
-
Go to the Release Service Token Portal to generate the JSON web token (JWT).
-
Sign in using your Intel® Unified ID to generate the token.
During the deployment, you are prompted to enter the id_token.
Note The ID Token will expire after one hour. Make sure that you regenerate the token before deploying the software.
-
Copy the ID Token, and then enter it in the prompt.
- After the system restarts, in the directory where the edgesoftware installer script was run, verify the status of the installed components:
- The logs for the installed components can be found in the install_pkg_status file.
-
The status of the installed components can be found in the success_install_status file.
Step 5: Run the Qualification
After the qualification tool is installed on the edge node, you can run the qualification CLI in two modes:
- Interactive mode
- Non-interactive mode
On test completion, the results will be stored in a report.zip file. The user needs to unzip the report.zip to extract the report.html
unzip $HOME/esdq/reports/report.zip
For qualification, email reports and logs to Intel:
- Inspect the report in the following file: $HOME/esdq/reports/report.html
- For detailed information, if required, inspect the logs captured in the following file: $HOME/esdq/logs/esdq.log
- Email the report $HOME/esdq/reports/report.html and log file $HOME/esdq/logs/esdq.log files to Intel ESDQ for qualification. If there are errors in the qualification report, Intel will help you triage and resolve them.
You may choose to take appropriate actions to correct any issues reported. The qualification suite can be run repeatedly if such actions if needed.
Qualification of Edge Node Using Interactive Mode
- Use the following command to run the qualification in Interactive mode.
cd /root/esdq /root/.local/bin/edgenode-qualification-cli launch
- In Interactive mode, select the SKU and platform in the CLI when prompted.
Figure 6. Prompt to select the SKU and platform in interactive mode
Figure 7. Prompt on successful completion of test cases for device qualification
Qualification of Edge Node Using Non-Interactive Mode
- Use the following command to run the qualification in non-interactive mode:
$ edgenode-qualification-cli run --sku "<SKU_Name>" --profile "<Profile_Name>"
- In the non-interactive mode, use the CLI list command to get the SKU and profile name.
-
List the available test configuration using the list command:
/root/.local/bin/edgenode-qualification-cli list
Figure 8. Prompt to list the edge node qualification configurations using non-interactive mode
Figure 9: Prompt for the running of the qualification software using non-interactive mode
Known Issues
1. No uninstaller is available as part of the package. You will need to redo the operating system reimage before attempting installation.
2. SSH is blocked because of the firewall updates that occur as part of the operating system installation. You will need to use the console to access the machine after installing Intel ESDQ.
Release Notes
Version 1.0
New in this release:
- Initial features for recommended configuration.
Appendix
Installation Steps for Ubuntu 22.04 Cloud Image on the Primary Disk
This section shows you how to install Ubuntu 22.04 LTS cloud image on the primary disk with the minimum packages required for device qualification. To complete these tasks, you need two storage devices as described below:
- A primary storage device, that is, NVME, SSD Drive that will host the Ubuntu 22.04 LTS cloud image
- A USB storage device that will temporarily host the Ubuntu 22.04 live disk.
-
Start the target system with Ubuntu 22.04 Live Disk and download the cloud image with the following command:
wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img
- Once the download completes, create a directory named user_script and within it, create two files: create_user.sh and create_user.service. The contents for the two files are as follows.
For create_user.sh, modify the following lines respectively- Update provide desired username with the preferred username
-
Update provide desired password with the preferred password
Example:
USERNAME="user"
PASSWORD="user1234"
File create_user.sh
sudo touch create_user.sh
sudo chmod +x create_user.sh
sudo bash -c 'cat <<EOF > create_user.sh
#!/bin/bash
# Script to create a user and set a password
USERNAME="provide desired username"
PASSWORD="provide desired password"
# Check if the user already exists
if id "$USERNAME" &>/dev/null; then
echo "User $USERNAME already exists."
else
# Create the user without a password
sudo useradd -m -s /bin/bash "$USERNAME"
sudo adduser $USERNAME sudo
# Set the user's password
echo "$USERNAME:$PASSWORD" | sudo chpasswd
sudo usermod -a -G sudo "$USERNAME"
echo "User $USERNAME created with the specified password."
fi
echo "start dhcp client"
sudo dhclient -v
EOF'
File create_user.service
sudo bash -c 'cat <<EOF > create_user.service
[Unit]
Description=Create a user and set the password
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/create_user.sh
RemainAfterExit=true
[Install]
WantedBy=multi-user.target
EOF'
- Run the following commands to convert the *.img file to *.raw file that will be used for flashing on the primary storage device.
sudo apt install qemu-utils
qemu-img convert -f qcow2 -O raw jammy-server-cloudimg-amd64.img jammy-server-cloudimg-amd64.raw
- Once image conversion completes, select the appropriate storage device based on where you want to flash the cloud operating system image. This example uses /dev/<devicenode>, which represents the storage device name where the image will be flashed (primary storage device)
- To determine the <devicenode> for flashing the image onto a bootable device, run the lsblk command. This command will provide a list of all block devices connected to your system. Identify and select the relevant device from the output, which will be formatted as /dev/<devicenode>.
- Use the following commands to format the selected device and flash the Ubuntu Cloud operating system from the Live Disk to the primary storage device.
sudo mkfs.ext4 /dev/<devicenode>
sudo dd if=jammy-server-cloudimg-amd64.raw of=/dev/<devicenode> bs=4M status=progress
sudo su
sgdisk –e /dev/<devicenode>
echo yes | parted ---pretend-input-tty /dev/<devicenode> resizepart 1 100GB
e2fsck -f /dev/<devicenode_rootfspartition>
resize2fs /dev/<devicenode_rootfspartition>
partprobe /dev/<devicenode>
parted /dev/<devicenode> --script mkpart primary ext4 100GB 100%
partprobe /dev/<devicenode>
exit
cd $HOME
sudo mount /dev/<devicenode_rootfspartition> /mnt
-
The following instructions will copy the user scripts to the mount device:
sudo cp user_script/create_user.sh /mnt/usr/local/bin/
sudo chmod +x /mnt/usr/local/bin/create_user.sh
sudo cp user_script/create_user.service /mnt/etc/systemd/system/
sudo cp user_script/create_user.service /etc/systemd/system/
-
Create the user service:
cd /mnt
sudo ln -sf /etc/systemd/system/create_user.service etc/systemd/system/multi-user.target.wants/create_user.service
-
(Optional) If the system is behind a network proxy, then create a /etc/environment file and add the necessary proxies.
sudo bash -c 'cat <<EOF >> etc/environment
http_proxy=http:// proxy.example.com:port
https_proxy=http://proxy.example.com:port
ftp_proxy=http://proxy.example.com:port
socks_proxy=socks:// proxy.example.com:port
no_proxy=localhost,*.example.com,*example.com,192.168.0.0/16,172.16.0.0/12,127.0.0.0/8,10.0.0.0/8,/var/run/docker.sock,.internal
EOF'
-
Mount all required partitions for the kernel upgrade.
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
-
Resolve DNS in the container.
sudo rm /mnt/etc/resolv.conf
sudo touch /mnt/etc/resolv.conf
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf
sudo mv /mnt/etc/apt/apt.conf.d/99needrestart /mnt/etc/apt/apt.conf.d/99needrestart.backup
-
Enter Ubuntu operating system for the HWE kernel installation
sudo chroot /mnt /bin/bash <<EOT
apt update
#install HWE kernel with all recommended packages
apt install -y --install-recommends linux-image-generic linux-headers-generic
if [ $? -eq 0 ]; then
echo "Successfully Installed HWE kernel"
else
echo "Something went wrong in HWE kernel installtion please check!!!"
exit 1
fi
update-initramfs -u -k all
# update the latest kernel version and kernel command line parameters in grub config file
sed -i 's/GRUB_DEFAULT=.*/GRUB_DEFAULT=1/g' etc/default/grub
sed -i 's/GRUB_CMDLINE_LINUX=.*/GRUB_CMDLINE_LINUX="quiet splash plymouth.enable=0 fastboot intel_iommu=on iommu=pt pci=realloc console=tty1 console=ttyS0,115200"/' etc/default/grub
update-grub
if [ $? -eq 0 ]; then
echo "Successfully Updated Kernel grub!!"
else
echo "Something went wrong in updating the grub please check!!!"
exit 1
fi
EOT
-
Unmount NVME disks.
sudo mv /mnt/etc/apt/apt.conf.d/99needrestart.backup /mnt/etc/apt/apt.conf.d/99needrestart
cd $HOME
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev/pts
sudo umount /mnt/dev
sudo umount /mnt
- Restart the device and, during the start process, select the flashed primary startup device from the BIOS menu.
-
You might have to install open-ssh server to enable remote ssh after flashing the cloud image. Follow the steps to enable ssh.
sudo apt remove openssh-server
sudo apt install openssh-server
sudo ufw allow ssh
sudo systemctl restart ssh
-
In the /etc/ssh/sshd_config.d/60-cloudimg-settings.conf file, change PasswordAuthentication to yes, and then restart the ssh service.
sudo systemctl restart ssh
BIOS Settings
For Platforms based on Intel Xeon Scalable Processors
BIOS Setup Menu |
BIOS Option |
Setting |
Advanced > Processor Configuration |
Intel® Virtualization Technology (Intel® VT) |
Enabled |
Advanced > Integrated IO Configuration |
Intel® VT |
Enabled |
Advanced > Power & Performance |
Workload Configuration |
Balanced |
|
CPU Power and Performance Policy |
Performance |
Advanced > Power & Performance > Uncore Power Management Power |
Uncore Frequency Scaling |
Enabled |
|
Performance P-Limit |
Enabled |
Advanced > Power & Performance> CPU C State Control |
Package C-State – C6 (Retention) state |
Enabled |
|
Processor C6 |
Enabled |
|
C1E |
Enabled |
Advanced > Power & Performance> CPU P State Control |
EPP Enable |
Enabled |
|
Enhanced Intel Speed Step Technology |
Enabled |
|
Intel Turbo Boost Technology |
Disabled |
|
Energy Efficient Turbo |
Disabled |
System Security |
TPM Security |
Enabled |
System Security |
Secure Boot |
Enabled |
Advanced > Power & Performance> Hardware PStates |
Hardware P-states (HWP) |
Native Mode/Native Mode NoLegacy |
For Platforms Based on Intel Core Processors
BIOS Option |
Setting |
C State |
Enabled |
Turbo Mode |
Enabled |
Intel SpeedStep® Technology |
Enabled |
Intel Speed Shift |
Enabled |
Boot > Secure boot |
Enabled |
System Security > TPM Security |
Enabled |