SUSE Support

Here When You Need Us

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 11
SUSE Linux Enterprise Server 10 Service Pack 2
Microsoft Windows Server 2008
Hyper-V
Linux Integration Components 2.x

Situation

Running SLES 11 (before Service Pack 1) as guest on a Microsoft Windows Server 2008 with enhanced performance requires the installation of Linux Integration Components(LIC). In comparison to the previous version, those drivers do not require XEN components anymore.

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

General considerations for the installation:

  • 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.
Installing LIC 2.x step-by-step

  1. 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

  2. register the system and update to the very latest patch level

  3. Set allow_unsupported_modules 1 in  /etc/modprobe.d/unsupport-modules

  4. Reboot the system

  5. Mount the LIC 2.x ISO to the virtual machine:

    mount /dev/cdrom /mnt

  6. Copy the content of the ISO to /opt/lic:

    cp -r /mnt* /opt/lic

  7. Change the directory:

    cd /opt/lic

  8. Run setup:

    ./setup.pl drivers

  9. Adjust /etc/fstab and /boot/grub/menu.lst to point to hda instead of the sda device

  10. reboot

  11. Change the legacy NIC to the synthetic ethernet device

  12. Start the system

  13. 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:

  1. Perform the online update
  2. Once finished, switch to /opt/lic/drivers/dist

    cd /opt/lic/drivers/dist

  3. Run:

    make uninstall

  4. Attach the SLES11 ISO image to the virtual machine

  5. reboot

  6. Boot from the ISO

  7. Select Rescue System

  8. Log in as root

  9. 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

  10. Enter the mounted system:

    chroot /mnt

  11. Run:

    mkinitrd

  12. Type:

    exit

  13. Unmount all file systems:

    umount /mnt/proc
    umount /mnt/dev
    umount /mnt/sys
    umount /mnt

  14. Reboot

  15. Once the system is online again, repeat the configuration of the LIC as stated above.
It might be experienced that the reboot fails with "Waiting for /dev/hdXY to appear". In this case press ALT key at the grub menu to stop the timer, select the entry to boot and press "e" to edit. Press "e" again and remove all hdX=noprobe entries.  When done, press enter and "b" to boot the system.

"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
In case the system does not start, use the rescue system as explained above.

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

< Back to Support Search

For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com

SUSE Support Forums

Get your questions answered by experienced Sys Ops or interact with other SUSE community experts.

Support Resources

Learn how to get the most from the technical support you receive with your SUSE Subscription, Premium Support, Academic Program, or Partner Program.

Open an Incident

Open an incident with SUSE Technical Support, manage your subscriptions, download patches, or manage user access.