Adding a new network driver to initrd
This document (7014953) is provided subject to the disclaimer at the end of this document.
Environment
SUSE Linux Enterprise Server 10 and 11
SUSE Linux Enterprise Desktop 10 and 11
SUSE Driver Tools - SDT
Situation
Resolution
Driver Update Disk, A.K.A DUD, will have to be created and it will have to be included in the initrd. To accomplish such task, SUSE developed an open source tool that simplifies the process tremendously called "SUSE Driver Tools", A.K.A "SDT."
-
Installing SDT
-
In order to install SDT, one will need to add its repository to the system and also have access to the SLES11SP2-SDK DVD1 or the SLES11SP2 SDK repository.
-
Adding the SDT repository using zipper:
-
As root, run "zypper ar http://download.opensuse.org/repositories/home:/sbahling:/SUSEDriverTools/SLE_11_SP2/ SDT"
-
-
Installing SDT:
-
'zypper install SUSEDriverTools'
-
-
-
Downloading the new network drivers from SUSE.
-
Technically, you can download the network drivers from the vendor or the community. However, SUSE will not provide support for it.
-
The latest device drivers, from our hardware partners can be found at http://drivers.suse.com/driver-process/
-
For this exercise, the new Intel e1000e driver will be used.
-
Navigate through pub/update/Intel/sle11sp2/common/x86_64
-
Download both intel-e1000e-2.4.14-2.1.x86_64.rpm and intel-e1000e-kmp-default-2.4.14_3.0.13_0.27-2.1.x86_64.rpm
-
-
-
Creating a Driver Update Disk, a.k.a. DUD
-
Enter the root directory - 'cd /root'
-
Create the directory /root/update - 'mkdir /root/update'
-
Place both intel-e1000e-2.4.14-2.1.x86_64.rpm and intel-e1000e-kmp-default-2.4.14_3.0.13_0.27-2.1.x86_64.rpm in /root/update/
-
Mount the SLES11SP2 Vanilla ISO on /media
-
Create the DUD - 'sdt dud -u /root/update/ -b /media'
-
The command issued on step #4, created the directory /root/linux/suse/x86_64-sles11 and its subdirectories.
-
-
Creating a new initrd including the just created DUD.
-
'sdt -O /root/new-initrd pxe -u ./linux -b /media' - This will create the initrd including the new DUD and copy the Linux kernel from the SLES11SP2 Vanilla media.
-
-
Update PXE server with the new initrd.
-
Replace the initrd on the PXE server by the one that was just created called /root/new-initrd. After copying it to the PXE server, remember to rename it to initrd.
-
-
Update the SLES11 media with the new initrd.
-
Copy the whole content of the SLES11SP2 media to a directory, for instance /root/new-SLES11SP2
-
Remove the old initrd - rm /root/new-SLES11SP2
-
Copy the new initrd to the new-SLES11SP2 directory and change its name to initrd - 'cp /root/new-initrd /root/new-SLES11SP2/boot/x86_64/loader/initrd'
-
Create a ISO file using mkisofs - 'mkisofs -o /root/SLES11SP2A.iso -b isolinux.bin -c boot.cat -no-emul-boot \
-boot-load-size 4 -boot-info-table -T /root/new-SLES11SP2' -
Burn the new created "SLES11SP2A.iso" to a DVD.
-
Additional Information
The Driver Update Disk - either standalone or embedded in the initrd - works this way:
1. Kernel and initrd are loaded and installation starts.
2. Kernel probes for hardware and GA modules are being loaded.
3. udev starts
4. Linuxrc starts and does an additional hardware probe
5. _Then_ Linuxrc loads the DUD and probes the modules delivered there.
6. YaST2 is fired up and installation starts.
Disclaimer
This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.
- Document ID:7014953
- Creation Date: 23-Apr-2014
- Modified Date:28-Sep-2022
-
- SUSE Linux Enterprise Desktop
- SUSE Linux Enterprise Server
For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com