This discussion is archived
2 Replies Latest reply: Feb 14, 2013 2:21 PM by 960874 RSS

Creating an Oracle Linux PVM Using virt-install

960874 Newbie
Currently Being Moderated
I've copied the contents of the Oracle Linux 6.3 installation media to an directory that's exported via NFS:
san2:~ # ls -1 /srv/md128/repositories/oracle/6.3/os/x86_64/
EFI
EULA
eula.en_US
eula.py
GPL
HighAvailability
images
isolinux
LoadBalancer
media.repo
Packages
README-en
README-en.html
RELEASE-NOTES-en
RELEASE-NOTES-en.html
RELEASE-NOTES-x86_64-en
RELEASE-NOTES-x86_64-en.html
RELEASE-NOTES-x86-en
RELEASE-NOTES-x86-en.html
repodata
ResilientStorage
RPM-GPG-KEY
RPM-GPG-KEY-oracle
ScalableFileSystem
Server
supportinfo
TRANS.TBL
UEK2
...and tried to use the directory to install an Oracle Linux VM with virt-install:
xen2:~ # virt-install -p --name dns2 --ram 786 --disk /dev/disk/by-id/scsi-14945540000000000705f69534353492d73616e315f310000 --location nfs://192.168.0.2/srv/md128/repositories/oracle/6.3/os/x86_64/ --graphics none
...but virt-install complains:
Starting install...
ERROR    Couldn't find xen kernel for Red Hat Enterprise Linux tree.
This is a tried-and-true methodology: I use this method for installing CentOS & SuSE regularly:
san2:~ # ls -1 /srv/md128/repositories/centos/6.3/os/x86_64/
CentOS_BuildTag
.discinfo
EFI
EULA
GPL
images
isolinux
Packages
RELEASE-NOTES-en-US.html
repodata
RPM-GPG-KEY-CentOS-6
RPM-GPG-KEY-CentOS-Debug-6
RPM-GPG-KEY-CentOS-Security-6
RPM-GPG-KEY-CentOS-Testing-6
.treeinfo
xen2:~ # virt-install -p --name dns2 --ram 786 --disk /dev/disk/by-id/scsi-14945540000000000705f69534353492d73616e315f310000 --location nfs://192.168.0.2/srv/md128/repositories/centos/6.3/os/x86_64/ --graphics none
What is it that's different about the Oracle Linux installation media (compared to the CentOS installation media, shown above ) that causes this failure? Is there a workaround?

Eric Pretorious
Truckee, CA

Edited by: epretorious on Feb 8, 2013 5:43 PM
  • 1. Re: Creating an Oracle Linux PVM Using virt-install
    960874 Newbie
    Currently Being Moderated
    If I use the NFS respository with virt-manager, virt-manager complains...
    Error: coercing to Unicode: need string or buffer, instance found
    What is causing these failures?
  • 2. Re: Creating an Oracle Linux PVM Using virt-install
    960874 Newbie
    Currently Being Moderated
    Dude wrote:
    I sugget to debug the process to get more information. Does adding --debug to the virt-install command give you any more clues?
    Once more, with --debug:
    xen2:~ # virt-install -p --name dns2 --ram 786 --disk /dev/disk/by-id/scsi-14945540000000000705f69534353492d73616e315f300000 --location nfs://192.168.0.2/srv/md128/repositories/oracle/6.3/os/x86_64/ --debug
    Thu, 14 Feb 2013 11:48:20 DEBUG    Launched with command line:
    /usr/bin/virt-install -p --name dns2 --ram 786 --disk /dev/disk/by-id/scsi-14945540000000000705f69534353492d73616e315f300000 --location nfs://192.168.0.2/srv/md128/repositories/oracle/6.3/os/x86_64/ --debug
    Thu, 14 Feb 2013 11:48:20 DEBUG    Requesting libvirt URI default
    Thu, 14 Feb 2013 11:48:22 DEBUG    Received libvirt URI xen:///
    Thu, 14 Feb 2013 11:48:22 DEBUG    Requesting virt method 'xen', hv type 'default'.
    Thu, 14 Feb 2013 11:48:22 DEBUG    Received virt method 'xen'
    Thu, 14 Feb 2013 11:48:22 DEBUG    Hypervisor name is 'xen'
    Thu, 14 Feb 2013 11:48:22 DEBUG    DISPLAY is not set: defaulting to nographics.
    Thu, 14 Feb 2013 11:48:22 DEBUG    --graphics compat generated: none
    Thu, 14 Feb 2013 11:48:22 DEBUG    DistroInstaller location is a network source.
    Thu, 14 Feb 2013 11:48:22 DEBUG    Preparing mount at /var/tmp/virtinstmnt.r5psf_
    Thu, 14 Feb 2013 11:48:22 DEBUG    Attempting to detect distro:
    Thu, 14 Feb 2013 11:48:22 DEBUG    local hasFile: Couldn't find /var/tmp/virtinstmnt.r5psf_/.treeinfo
    Thu, 14 Feb 2013 11:48:22 DEBUG    local hasFile: Couldn't find /var/tmp/virtinstmnt.r5psf_/Fedora
    Thu, 14 Feb 2013 11:48:22 DEBUG    Detected a RHEL 5 Server distro
    Thu, 14 Feb 2013 11:48:22 DEBUG    Cleaning up mount at /var/tmp/virtinstmnt.r5psf_
    Thu, 14 Feb 2013 11:48:22 DEBUG    Guest.has_install_phase: True
    
    Starting install...
    Thu, 14 Feb 2013 11:48:22 DEBUG    scratchdir=/var/lib/xen
    Thu, 14 Feb 2013 11:48:22 DEBUG    Preparing mount at /var/lib/xen/virtinstmnt.X0dm9e
    Thu, 14 Feb 2013 11:48:22 DEBUG    Attempting to detect distro:
    Thu, 14 Feb 2013 11:48:22 DEBUG    local hasFile: Couldn't find /var/lib/xen/virtinstmnt.X0dm9e/.treeinfo
    Thu, 14 Feb 2013 11:48:22 DEBUG    local hasFile: Couldn't find /var/lib/xen/virtinstmnt.X0dm9e/Fedora
    Thu, 14 Feb 2013 11:48:22 DEBUG    Detected a RHEL 5 Server distro
    Thu, 14 Feb 2013 11:48:22 DEBUG    local hasFile: Couldn't find /var/lib/xen/virtinstmnt.X0dm9e/images/xen/vmlinuz
    Thu, 14 Feb 2013 11:48:22 DEBUG    Cleaning up mount at /var/lib/xen/virtinstmnt.X0dm9e
    Thu, 14 Feb 2013 11:48:22 ERROR    Couldn't find xen kernel for Red Hat Enterprise Linux tree.
    Thu, 14 Feb 2013 11:48:22 DEBUG    Traceback (most recent call last):
      File "/usr/bin/virt-install", line 633, in start_install
        noboot=options.noreboot)
      File "/usr/lib64/python2.6/site-packages/virtinst/Guest.py", line 1207, in start_install
        self._prepare_install(meter, dry)
      File "/usr/lib64/python2.6/site-packages/virtinst/Guest.py", line 964, in _prepare_install
        meter=meter)
      File "/usr/lib64/python2.6/site-packages/virtinst/DistroInstaller.py", line 429, in prepare
        dev = self._prepare_kernel_and_initrd(guest, meter)
      File "/usr/lib64/python2.6/site-packages/virtinst/DistroInstaller.py", line 368, in _prepare_kernel_and_initrd
        self.os_type)
      File "/usr/lib64/python2.6/site-packages/virtinst/OSDistro.py", line 158, in acquireKernel
        scratchdir, type)
      File "/usr/lib64/python2.6/site-packages/virtinst/OSDistro.py", line 152, in _acquireMedia
        None, media_cb)
      File "/usr/lib64/python2.6/site-packages/virtinst/OSDistro.py", line 133, in _locationCheckWrapper
        return callback(store, fetcher)
      File "/usr/lib64/python2.6/site-packages/virtinst/OSDistro.py", line 145, in media_cb
        media = store.acquireKernel(guest, fetcher, progresscb)
      File "/usr/lib64/python2.6/site-packages/virtinst/OSDistro.py", line 276, in acquireKernel
        { "distro": self.name, "type" : self.type })
    RuntimeError: Couldn't find xen kernel for Red Hat Enterprise Linux tree.
    It appears that the last line provides the vital clue. i.e., The Oracle Linux 6.3 .iso is lacking a .treeinfo file. CentOS, however, includes a .treeinfo file for each of it's installation .iso's:
    san2:/srv/md128/repositories/centos # find . -name .treeinfo
    ./5.7/os/i386/.treeinfo
    ./5.7/os/x86_64/.treeinfo
    ./5.8/os/i386/.treeinfo
    ./5.8/os/x86_64/.treeinfo
    ./5.9/os/i386/.treeinfo
    ./5.9/os/x86_64/.treeinfo
    ./6.0/os/x86_64/.treeinfo
    ./6.2/os/i386/.treeinfo
    ./6.2/os/x86_64/.treeinfo
    ./6.3/os/i386/.treeinfo
    ./6.3/os/x86_64/.treeinfo
    The contents of .treeinfo seem fairly straight-forward:
    san2:/srv/md128/repositories # cat ./centos/6.3/os/x86_64/.treeinfo
    [general]
    family = CentOS
    timestamp = 1341569485.3
    variant =
    totaldiscs = 1
    version = 6.3
    discnum = 1
    packagedir =
    arch = x86_64

    [images-x86_64]
    kernel = images/pxeboot/vmlinuz
    initrd = images/pxeboot/initrd.img
    boot.iso = ../../isos/x86_64/CentOS-6.3-x86_64-netinstall.iso
    [images-xen]
    kernel = images/pxeboot/vmlinuz
    initrd = images/pxeboot/initrd.img

    [stage2]
    mainimage = images/install.img
    ...so I started with the .treeinfo file for CentOS 6.3 and verified that it reflected the contents of the Oracle Linux 6.3 directory as well:
    san2:/srv/md128/repositories/centos # ll ./6.3/os/x86_64/
    total 472
    -rw-r--r--. 1 59999 59999     14 Jul  6  2012 CentOS_BuildTag
    -rw-rw-r--. 1 59999 59999     33 Jul  6  2012 .discinfo
    drwxrwxr-x. 3 59999 59999     17 Jul  6  2012 EFI
    -rw-rw-r--. 1 59999 59999    212 Jun 23  2012 EULA
    -rw-rw-r--. 1 59999 59999  18009 Jun 23  2012 GPL
    drwxr-xr-x. 3 59999 59999     74 Jul  6  2012 images
    drwxr-xr-x. 2 59999 59999   4096 Jul  6  2012 isolinux
    drwxrwxr-x. 2 59999 59999 339968 Jul  5  2012 Packages
    -rw-rw-r--. 1 59999 59999   1354 Jun 23  2012 RELEASE-NOTES-en-US.html
    drwxr-xr-x. 2 59999 59999   4096 Jul  6  2012 repodata
    -rw-rw-r--. 1 59999 59999   1706 Jun 23  2012 RPM-GPG-KEY-CentOS-6
    -rw-rw-r--. 1 59999 59999   1730 Jun 23  2012 RPM-GPG-KEY-CentOS-Debug-6
    -rw-rw-r--. 1 59999 59999   1730 Jun 23  2012 RPM-GPG-KEY-CentOS-Security-6
    -rw-rw-r--. 1 59999 59999   1734 Jun 23  2012 RPM-GPG-KEY-CentOS-Testing-6
    -rw-rw-r--. 1 59999 59999    398 Jul  6  2012 .treeinfo
    
    san2:/srv/md128/repositories/centos # ll ./6.3/os/x86_64/images/
    total 168904
    -rw-r--r--. 1 59999 59999    372736 Jul  6  2012 efiboot.img
    -rw-r--r--. 1 59999 59999  35997696 Jul  6  2012 efidisk.img
    -rw-r--r--. 1 59999 59999 136585216 Jul  6  2012 install.img
    drwxr-xr-x. 2 59999 59999        37 Jul  6  2012 pxeboot
    
    san2:/srv/md128/repositories/centos # ll ./6.3/os/x86_64/images/pxeboot/
    total 34756
    -rw-r--r--. 1 59999 59999 31596586 Jul  6  2012 initrd.img
    -rwxr-xr-x. 1 59999 59999  3986608 Jul  6  2012 vmlinuz
    san2:/srv/md128/repositories/centos # ll ../oracle/6.3/os/x86_64/
    total 504
    drwxr-xr-x 3 root root     33 Feb  8 18:09 EFI
    -rw-r--r-- 1 root root   7041 Feb  8 18:09 EULA
    -rw-r--r-- 1 root root   7041 Feb  8 18:09 eula.en_US
    -rw-r--r-- 1 root root   3334 Feb  8 18:09 eula.py
    -rw-r--r-- 1 root root  18390 Feb  8 18:09 GPL
    drwxr-xr-x 3 root root     66 Feb  8 18:09 HighAvailability
    drwxr-xr-x 3 root root    103 Feb  8 18:09 images
    drwxr-xr-x 2 root root   4096 Feb  8 18:09 isolinux
    drwxr-xr-x 3 root root     66 Feb  8 18:09 LoadBalancer
    -rw-r--r-- 1 root root    196 Feb  8 18:09 media.repo
    drwxr-xr-x 2 root root 188416 Feb  8 18:10 Packages
    -rw-r--r-- 1 root root   2619 Feb  8 18:10 README-en
    -rw-r--r-- 1 root root   7054 Feb  8 18:10 README-en.html
    -rw-r--r-- 1 root root  29531 Feb  8 18:10 RELEASE-NOTES-en
    -rw-r--r-- 1 root root  32428 Feb  8 18:10 RELEASE-NOTES-en.html
    -rw-r--r-- 1 root root  29531 Feb  8 18:10 RELEASE-NOTES-x86_64-en
    -rw-r--r-- 1 root root  32428 Feb  8 18:10 RELEASE-NOTES-x86_64-en.html
    -rw-r--r-- 1 root root  29531 Feb  8 18:10 RELEASE-NOTES-x86-en
    -rw-r--r-- 1 root root  32428 Feb  8 18:10 RELEASE-NOTES-x86-en.html
    lrwxrwxrwx 1 root root     15 Feb  8 18:10 repodata -> Server/repodata
    drwxr-xr-x 3 root root     66 Feb  8 18:10 ResilientStorage
    -rw-r--r-- 1 root root   1011 Feb  8 18:10 RPM-GPG-KEY
    -rw-r--r-- 1 root root   1011 Feb  8 18:10 RPM-GPG-KEY-oracle
    drwxr-xr-x 3 root root     66 Feb  8 18:10 ScalableFileSystem
    drwxr-xr-x 4 root root     87 Feb  8 18:10 Server
    -rw-r--r-- 1 root root    108 Feb  8 18:10 supportinfo
    -r--r--r-- 1 root root   6517 Feb  8 18:10 TRANS.TBL
    drwxr-xr-x 3 root root     66 Feb  8 18:10 UEK2
    
    san2:/srv/md128/repositories/centos # ll ../oracle/6.3/os/x86_64/images/
    total 167692
    -rw-r--r-- 1 root root    376832 Feb  8 18:09 efiboot.img
    -rw-r--r-- 1 root root  34924544 Feb  8 18:09 efidisk.img
    -rw-r--r-- 1 root root 136404992 Feb  8 18:09 install.img
    drwxr-xr-x 2 root root        53 Feb  8 18:09 pxeboot
    -rw-r--r-- 1 root root       541 Feb  8 18:09 README
    -r--r--r-- 1 root root      1106 Feb  8 18:09 TRANS.TBL
    
    san2:/srv/md128/repositories/centos # ll ../oracle/6.3/os/x86_64/images/pxeboot/
    total 33668
    -rw-r--r-- 1 root root 30481341 Feb  8 18:09 initrd.img
    -r--r--r-- 1 root root      441 Feb  8 18:09 TRANS.TBL
    -rwxr-xr-x 1 root root  3986992 Feb  8 18:09 vmlinuz
    ...and then I used the CentOS 6.3 .treeinfo file verbatim to guide virt-install through the process of creating an Oracle 6.3 PV: :)
    san2:/srv/md128/repositories # cp ./centos/6.3/os/x86_64/.treeinfo ./oracle/6.3/os/x86_64/
    Problem solved!

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points