Using Linux Integration Components 2.x with SLES
This document (7004818) is provided subject to the disclaimer at the end of this document.
Environment
SUSE Linux Enterprise Server 10 Service Pack 2
Microsoft Windows Server 2008
Hyper-V
Linux Integration Components 2.x
Situation
As with the current version of LIC 2.x, updating the kernel via online update without any further interaction will result in a not booting system. This article will explain in detail which steps are necessary to solve this situation.
Since SLES11 Service Pack 1 the drivers from the Linux Integration Components are already included in the SUSE Linux kernel. The source code from LIC 2.0 and 2.1 will not compile on SLES11 SP1. Simply use the ones that coming with SP1. They get activated after the boot automatically. We recommend to update the whole Linux system directly after the initial installation.
Resolution
- The system should get installed with a legacy network adapter
- Even though step 6 of the installation guide advice to install the C/C++ Compiler and Toolspattern, selecting the packages kernel-source and gcc is sufficient to build the drivers and keeps the system clean from unwanted software.
- Once the installation is finished, activate the system and apply all available online updates
- After the system is on the latest patch level start with the installation of LIC 2.x.
- Install SLES, select kernel-source and gcc during the installation.
Later in the system either use:
yast -i kernel-source gcc
or
zypper in kernel-source gcc - register the system and update to the very latest patch level
- Set allow_unsupported_modules 1 in /etc/modprobe.d/unsupport-modules
- Reboot the system
- Mount the LIC 2.x ISO to the virtual machine:
mount /dev/cdrom /mnt - Copy the content of the ISO to /opt/lic:
cp -r /mnt* /opt/lic - Change the directory:
cd /opt/lic - Run setup:
./setup.pl drivers - Adjust /etc/fstab and /boot/grub/menu.lst to point to hda instead of the sda device
- reboot
- Change the legacy NIC to the synthetic ethernet device
- Start the system
- Configure the network using YaST2
Updating the kernel
As kernel updates are published, the reboot of the system will not succeed as the current design of the driver pack and its Makefiles compile the sources against the active kernel / kernel-source (uname -r).
The setup.pl drivers command is used to build the drivers and to include them into the initrd. If a kernel update is taking place, /sbin/mkinitrd is executed and because INITRD_MODULES in /etc/sysconfig/kernel is not aware that those drivers should get included, the initrd is built without those drivers. A reboot would result in the error message
Waiting for /dev/hdaX to appear......
Furthermore the /sbin/mkinitrd command will state the following error message:
/lib/mkinitrd/setup/72-block.sh: line 52: cd: /sys/block/hda/device: No such file or directory
Once a kernel update is available for download, the following procedure should be followed:
- Perform the online update
- Once finished, switch to /opt/lic/drivers/dist
cd /opt/lic/drivers/dist - Run:
make uninstall - Attach the SLES11 ISO image to the virtual machine
- reboot
- Boot from the ISO
- Select Rescue System
- Log in as root
- Use the following commands to mount the partitions (assuming sda2 is /):
mount /dev/sda2 /mnt
mount -o bind /proc /mnt/proc
mount -o bind /dev /mnt/dev
mount -o bind /sys /mnt/sys - Enter the mounted system:
chroot /mnt - Run:
mkinitrd - Type:
exit - Unmount all file systems:
umount /mnt/proc
umount /mnt/dev
umount /mnt/sys
umount /mnt - Reboot
- Once the system is online again, repeat the configuration of the LIC as stated above.
"Waiting for mandatory devices"
During the system start, the following error might be experienced:
Waiting for mandatory devices: seth1 __NSC__
23 22 21 20 19 18 17 16 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
seth1 No interface found
failedSetting up service (localfs) network . . . . . . . . . .failed
In case the system was assigned one synthetic ethernet device, delete /etc/sysconfig/network/ifcfg-seth1.
Uninstalling LIC 2.x
- cd /opt/lic/drivers/dist
- make uninstall
- Adjust /etc/fstab and /boot/grub/menu.lst and change the entries from hda to sda
- Run mkinitrd
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:7004818
- Creation Date: 06-Nov-2009
- Modified Date:28-Sep-2022
-
- SUSE Linux Enterprise Server
For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com