Novell Home

My Favorites

Close

Please to see your favorites.

Linux Driver Injection to Ramdisk ISO, X2P Driver Package and Source Take Control Package Creation Instructions

This document (7005990) is provided subject to the disclaimer at the end of this document.

Environment

PlateSpin PowerConvert 7.x or Greater
PlateSpin PortabilitySuite 8.x or Greater
Target Platform is Physical, Intended OS is Linux
 
Linux Drivers are in the following formats, 
For kernel 2.4, .o files
For kernel 2.6 and later, .ko files

Situation

This article provides instructions on how to inject Linux drivers into linux boot ISO file, source take control package and X2P driver manager in PowerConvert or PortabilitySuite.

 

Resolution

Ramdisk Driver Injection Procedure
 
Drivers must be created for the appropriate boot ISO kernel.
 
Linux boot ISO kernels:
 
Forge 3.0.2, Migrate 9.0.2, Protect 10.0.2 and earlier versions: SLES 10 GA -> 2.6.16.21-0.8-default
Forge 3.1, Migrate 9.1, Protect 10.1: SLES 11 SP1 ->  2.6.32.12-0.7-default
Forge 3.3, Protect 10.3, Migrate 9.2: SLES 11 SP1 -> 2.6.32.54-0.3-default
Forge 3.4, Protect 10.4, Migrate 9.3: SLES 11 SP1 -> 2.6.32.54-0.3-default
Migrate 9.3 - if an ISO based on SLES 11 SP2 is required contact support for further assistance.
Protect 11.0, Migrate 11.0: SLES 11 SP3 -> 3.0.93-0.8-default

 

1. Upload bootofxx2p.iso to any Linux machine, for example, to /root/platespin/bootofxx2p.iso.
2. Upload drivers (.o or .ko files) to be injected to /root/platespin/drivers.
3. Logon to the Linux machine using root account and switch to /root/platespin/.
4. Execute: mkdir -p /mnt/platespin.
5. Execute: mount -o loop bootofxx2p.iso /mnt/platespin.
6. Execute: cp /mnt/platespin/tools/rebuildiso.sh ./
7. Execute:

For PlateSpin Versions older than 11 use the following command:

   ./rebuildiso.sh -i bootofxx2p.iso -d drivers -m i586 (If drivers are of 32-bit)
   ./rebuildiso.sh -i bootofxx2p.iso -d drivers -m x86_64 (If drivers are of 64-bit)

For PlateSpin 11 use the follow commands:

  ./rebuildiso.sh -i bootofxx2p.iso -d drivers -m32 (If drivers are of 32-bit)
   ./rebuildiso.sh -i bootofxx2p.iso -d drivers -m64 (If drivers are of 64-bit)

8. bootofxx2p.iso will be updated and is ready to put to test.

Note: "bootofxx2p.iso" may be "LinuxPhysicalTarget.iso".  These names are interchangeable.

Driver Packaging for Source TakeControl
 
1. Open the ISO file in which drivers were injected to (using MagicISO for example). Copy "initrd.gz" and "vmlinuz" out from "\i586".
2. Backup 1.package file under ".\Platespin Portability Suite Server\Packages\740C1DE0-76EC-4939-8075-8C71F6C6FCAF".
3. Rename the above package file to 1.zip and open using WinZip. Replace the two files (initrd.gz and vmlinuz) with the two from step 1.
4. Remove 740C1DE0-76EC-4939-8075-8C71F6C6FCAF folder from the package cache under ".\Platespin Portability Suite
Server\Controller\Packages\0\740c1de0-76ec-4939-8075-8c71f6c6fcaf".
5. The correct drivers for take control of source machine will be applied when conversion is run next time.
 

Driver Packaging for X2P Driver Database


Note: A Linux driver ties to a specific Linux kernel version. Therefore, in order to inject drivers into X2P Driver Database for a specific kernel version, all drivers must be valid for such kernel version. And the drivers injected will work with this specific kernel version only.


1. Find a Linux machine that has the same kernel version as the source machine. Source machine itself is one of the best choices.
2. Upload bootofxx2p.iso to the Linux machine, for example, /root/platespin/bootofxx2p.iso.
3. Upload to the Linux machine the driver (.o or .ko file) to be injected to X2P Driver Database , for example, /root/platespin/drivers.
4. Logon to the Linux machine and switch to /root/platespin.
5. Execute: mkdir -p /mnt/platespin.
6. Execute: mount -o loop bootofxx2p.iso /mnt/platespin.
7. Execute: cp /mnt/platespin/tools/PackageModules.tar.gz ./
8. Execute: tar xvfz PackageModules.tar.gz.
9. Execute: ./PackageModules.sh -d drivers -o <package name>. Recommended package name format: DriverName-DriverVersion-Dist-KernelVersion-Arch.pkg. For example, bnx2x-1.48.107-RHEL4-2.6.9.11.EL-i686.pkg.
10. The newly generated .pkg file is ready to be injected into the X2P Driver Database.

Additional Information

You may ecounter an error "The problem is that in architecture is missing from the package". The problem indicates that the version.xml file within the package does not include the architecture type of the drivers. I f you encounter the this error while adding the driver, then follow the steps below to resolve the issue.

 

Solution

 

 

Each built package can be extracted by a zip utility. When you extract the contents, you will see an XML file named "version.xml". with linux kernel version in it.  Edit the filename to include the architecture as well. In above example, change it to "2.6.5-7.244-bigsmp x86.xml" (by adding x86 for architecture). Here are the steps to be taken:

 

1. Rename the .pkg file to .zip and extract the contents.

 

2. Edit file named "version.xml" and locate the line which shows the linux kernel version. It should read like "<kernel version> <architecture>.xml" but in this case, will only have the kernel version part.  

 

3. Modify this xml file and append either " x86" (for 32bit) or " x86_64" (for 64bit) to the end of the line. In above example, after correcting the line, it will read as "2.6.5-7.244-bigsmp x86".

 

4. Compress all extracted contents to a zip file and rename it to ".pkg".

 

5. Upload this file in X2P driver manager.

Disclaimer

This Support Knowledgebase provides a valuable tool for NetIQ/Novell/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:7005990
  • Creation Date:17-MAY-10
  • Modified Date:23-OCT-14
    • NetIQPlateSpin Forge
      PlateSpin Migrate
      PlateSpin Portability Suite
      PlateSpin Protect

Did this document solve your problem? Provide Feedback