**************************************** README **************************************** Chelsio Unified Boot Version : 3.0.0.0 Date : 11/14/2025 Overview ================================================================================ Unified Boot is a software package for Chelsio's Unified Wire family of adapters and consists of the following components: - Unified Boot Option ROM v3.0.0.2 The Option ROM image adds PXE, boot functionality. ** This software package is tested with firmware v2.1.2.0.bin provided in the package ** Supported Operating System ================================================================================ Unified Boot Option ROM ----------------------- The installation of the following Linux distributions is supported: |#######################################################|######################| | Linux Distribution | Driver/Software | |#######################################################|######################| |RHEL 9.5, 5.14.0-503.16.1.el9_5.x86_64 | PXE | |-------------------------------------------------------|----------------------| |RHEL 9.6, 5.14.0-570.12.1.el9_6.x86_64 | PXE | |-------------------------------------------------------|----------------------| |RHEL 10, 6.12.0-55.9.1.el10_0.x86_64 | PXE | |-------------------------------------------------------|----------------------| NOTE: Other kernel versions and Linux distributions have not been tested and are not guaranteed to work. Supported Hardware ================================================================================ Supported Cards --------------- Following is the list of supported Chelsio adapters. |########################|#####################################################| | Chelsio Adapter | Driver/Software | |########################|#####################################################| |T72200-FH |Unified Boot Option ROM | |------------------------|-----------------------------------------------------| How to Use ================================================================================ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Unified Boot Option ROM ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Pre-requisites ============== - A USB flash drive is required for updating firmware, Option ROM etc. Flashing Firmware, Option ROM and boot.cfg ========================================== Chelsio Unified Boot provides utilities to flash Firmware, Option ROM and boot.cfg onto Chelsio T7 adapters: uEFI mode: - drvcfg This method provides the functionality to update/erase Hardware configuration IMPORTANT: It is highly recommended to use the same Option ROM (version) on all the Chelsio adapters present in the system. uEFI ---- To configure Chelsio adapter using drvcfg in uEFI mode, please refer User's Guide. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Injecting cxgb4.ko file and generating initrd.img of respective OS ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1. Locate your initrd.img for the OS [RHEL9.5, RHEL9.6, RHEL10] from the respective ISO you want to update. [root@host ~]# mount -o loop,ro RHEL-9.6.0-20250408.20-x86_64-dvd1.iso /mnt [root@host ~]# cd /mnt/ [root@host mnt]# ls AppStream BaseOS EFI EULA extra_files.json GPL images isolinux media.repo RPM-GPG-KEY-redhat-beta RPM-GPG-KEY-redhat-release [root@host mnt]# find . | grep initrd.img ./images/pxeboot/initrd.img ./isolinux/initrd.img 2. Create a folder to unpack your initrd.img [root@host ~]# mkdir initrd_workdir 3. Unpack the image into the above created directory using the following command: [root@host ~]# cd initrd_workdir [root@host initrd_workdir]# xzcat /mnt/images/pxeboot/initrd.img | cpio -idmv NOTE: Use zcat instead of xzcat in case the image is gzip compressed 4. The cxgb4.ko driver files for the required OSes are at the following directory inside the package. NOTE: This package only supports RHEL9.5/9.6, RHEL10 [root@host ~]# # ls -R Chelsio-Uboot-3.0.0.0/LinuxDrivers/ LinuxDrivers/: RHEL10.0 RHEL9.5 RHEL9.6 LinuxDrivers/RHEL10.0: cxgb4.ko LinuxDrivers/RHEL9.5: cxgb4.ko LinuxDrivers/RHEL9.6: cxgb4.ko 5. Replace the driver with your updated T7 cxgb4.ko driver. Make sure to replace the kernel version with the kernel version of the target OS: Example: For RHEL9.5 follow below steps: [root@host initrd_workdir]# cp //Chelsio-Uboot-3.0.0.0/LinuxDrivers/RHEL9.5/cxgb4.ko lib/modules/5.14.0-503.11.1.el9_5.x86_64/kernel/drivers/net/ethernet/chelsio/cxgb4/ Example: For RHEL9.6 follow below steps: [root@host initrd_workdir]# cp //Chelsio-Uboot-3.0.0.0/LinuxDrivers/RHEL9.6/cxgb4.ko lib/modules/5.14.0-570.12.1.el9_6.x86_64/kernel/drivers/net/ethernet/chelsio/cxgb4/ Example: For RHEL10.0 follow below steps: [root@host initrd_workdir]# cp //Chelsio-Uboot-3.0.0.0/LinuxDrivers/RHEL10.0/cxgb4.ko usr/lib/modules/6.12.0-55.9.1.el10_0.x86_64/kernel/drivers/net/ethernet/chelsio/cxgb4/cxgb4.ko 6. Add t7fw-2.1.2.0.bin from the package to the firmware directory: [root@host initrd_workdir]# cp //Chelsio-Uboot-3.0.0.0/OptionROM/t7fw-2.1.2.0.bin lib/firmware/cxgb4/ [root@host initrd_workdir]# ln -sf lib/firmware/cxgb4/t7fw-2.1.2.0.bin lib/firmware/cxgb4/t7fw.bin 7. Create a modprobe configuration file for iw_cxgb4 as below: [root@host initrd_workdir]# echo "install iw_cxgb4 /bin/true" | tee etc/modprobe.d/iw_cxgb4.conf 8. Run depmod to create the dependencies file for the updated driver: Example: For RHEL9.5 follow below steps: [root@host initrd_workdir]# depmod -a -b . 5.14.0-503.11.1.el9_5.x86_64 Example: For RHEL9.6 follow below steps: [root@host initrd_workdir]# depmod -a -b . 5.14.0-570.12.1.el9_6.x86_64 Example: For RHEL10.0 follow below steps: [root@host initrd_workdir]# depmod -a -b . 6.12.0-55.9.1.el10_0.x86_64 NOTE: Make sure to replace the kernel version with the kernel version of the target OS 9. Finally, re-pack the modified initrd image using this command: [root@host initrd_workdir]# find . | cpio -o -H newc | gzip > //t7_initrd.img PXE Server Configuration ======================== Use the previously generated custom initrd image to configure PXE Server. Below is a sample configuration of grub.cfg: menuentry 'Install RHEL 9.6' { linuxefi /vmlinuz modprobe.blacklist=iw_cxgb4,cxgb4i inst.repo= inst.stage2= initrdefi /.img } Example: For RHEL9.6 menuentry 'Install RHEL 9.6 (verbose)' { linuxefi RHEL9.6/vmlinuz modprobe.blacklist=iw_cxgb4,cxgb4i inst.repo=http://102.50.50.33/RHEL9.6/ inst.stage2=http://102.50.50.33/RHEL9.6/ initrdefi RHEL9.6/t7_initrd.img.img } Support Documentation ================================================================================ The documentation for this release can be found in the Chelsio-Uboot-x.x.x.x/docs directory. It contains: - README - User Guide Customer Support ================================================================================ Please contact Chelsio support at support@chelsio.com for any issues regarding the product. ******************************************************************************** Copyright (C) 2025 Chelsio Communications. All Rights Reserved. The information in this document is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Chelsio Communications. Chelsio Communications assumes no responsibility or liability for any errors or inaccuracies that may appear in this document or any software that may be provided in association with this document. Except as permitted by such license, no part of this document may be reproduced, stored in a retrieval system, or transmitted in any form or by any means without the express written consent of Chelsio Communications.