Go to main content

Creating and Using Oracle® Solaris Kernel Zones

Exit Print View

Updated: December 2018
 
 

Managing Removable Devices on the Kernel Zone

You can configure a removable loopback file lofi device, which works as a virtual CD-ROM device, on the kernel zone.

How to Add a Virtual CD-ROM Device to a Kernel Zone

  1. Assume the root role.

    For more information, see Using Your Assigned Administrative Rights in Securing Users and Processes in Oracle Solaris 11.3.

  2. Create an empty removable read-only lofi device in the global zone.
    # lofiadm -r

    The following example shows sample output.

    global# lofiadm -r
    /dev/lofi/1
  3. Add the lofi device to the kernel zone configuration.

    An administrator with the Zone Migration rights profile can perform the zonecfg and zoneadm steps. For more information, see Assigning Rights to Non-Root Users to Manage Zones in Creating and Using Oracle Solaris Zones.

    $ zonecfg -z zonename

    The following example demonstrates adding the lofi device located at /dev/lofi/1 to the kernel zone kzone1:

    global$ zonecfg -z kzone1
    zonecfg:kzone1> add device
    zonecfg:kzone1:device> set match=/dev/lofi/1
    zonecfg:kzone1:device> end
    zonecfg:kzone1> exit
  4. Reboot the kernel zone to have the configuration changes take effect.
    $ zoneadm -z zonename reboot
  5. Log in to the kernel zone.
    # zlogin zonename
  6. On the kernel zone, update the device file system ( devfs) and restart the hardware abstraction layer (hal) so that the hal service will see the virtual CD-ROM device.
    zonename# devfsadm -i zvblk
    zonename# svcadm restart hal
  7. List the removable devices on the kernel zone.
    zonename# rmformat -l

    For example, the following example lists the removable devices on the kernel zone kzone1:

    kzone1# rmformat -l
    Looking for devices...
         1. Logical Node: /dev/rdsk/c1d0p0
            Physical Node: /zvnex/zvblk@0
            Connected Device: kz       vDisk            0
            Device Type: Removable
            Bus: <Unknown>
            Size: 16.4 GB
            Label: <Unknown>
            Access permissions: <Unknown>
         2. Logical Node: /dev/rdsk/c1d1p0
            Physical Node: /zvnex/zvblk@1
            Connected Device: kz       vCDROM           0
            Device Type: CD Reader
            Bus: <Unknown>
            Size: 0.0 MB
            Label: <Unknown>
            Access permissions: <Unknown>
  8. In the global zone, specify a path to an ISO image file to associate with the removable loopback device.
    global# lofiadm -r image-path device-path

    The following example demonstrates associating the image path /root/sol-11_3-repo.full.iso with the lofi device /dev/lofi/1:

    global# lofiadm -r /root/sol-11_3-repo-full.iso /dev/lofi/1
    global# lofiadm
    Block Device             File                           Options
    /dev/lofi/1              /root/sol-11_3-repo-full.iso        Removable,Readonly
  9. Mount the CD-ROM device in the kernel zone.
    # mount -F hsfs device-location /mnt

    The following example mounts the virtual CD-ROM device located at /dev/dsk/c1d1p0.

    kzone1# mount -F hsfs /dev/dsk/c1d1p0 /mnt
  10. When you are finished using the virtual CD-ROM, unmount it from the mount point in the kernel zone.
    kzone1# umount /mnt
  11. Eject the CD-ROM virtual device in the kernel zone.
    kzone1# eject cdrom
  12. Verify that the ISO image is no longer associated with the lofi device in the global zone.
    # lofiadm

    For example:

    global# lofiadm
    Block Device             File                           Options
    /dev/lofi/1              -                              Removable,Readonly