https://rqsall.com/posts/creating-a-solaris-10-zone-on-openindiana mirror site(secure) | man site(secure) | site map rqsall * > 9/ * > inferno/ * >> posts/ * + >> creating a solaris 10 zone on openindiana + > files/ + > using an old blackberry as a portable ssh terminal * > sgi/ Creating a Solaris 10 zone on OpenIndiana 2021-12-04 Illumos actually still supports creating Solaris 10 Zones. In a Solaris 10 zone, translation is done from Solaris 10 syscalls to Illumos' in order to allow the system to run the zone. You can install support for Solaris 10 branded zones on OpenIndiana by running: sudo pkg install pkg:/system/zones/brand/s10 If you get an error, make sure your system is updated with: sudo pkg update -v You can download a template for the zone here. This template is designed to be run on Solaris 11 and automatically sets the zone up for you if you run it on that platform. There are some differences between OpenIndiana/Illumos' userland and Solaris 11's that prevents this from working, so instead we're going to extract the disk image manually. To determine when the archive actually starts within the script, run: awk '/^__IMAGE_BELOW__/ {print NR + 1; exit}' bin-filename-here I doubt Oracle is ever going to update this script/image again, so if you want to skip that step, for me it started at 3098 in solaris-10u11-x86.bin. From this point forward I'm going to be assuming it started at 3098 for you and the filename of the archive you have is solaris-10u11-x86.bin. You can now extract with: tail +3098 ../solaris-10u11-x86.bin | tar xvf - Among other things, this will net you disk-image, which we care about. It's a gzipped cpio archive of a Solaris 10 1/13 root filesystem. You want to extract this as OpenIndiana's zoneadm didn't seem to want to use disk-image directly: gzcat disk-image | sudo cpio -idm Before creating the zone, we need a ZFS dataset. I'll be creating my zone at /zones/sol10: sudo zfs create -o mountpoint=/zones rpool/zones Now, let's create the zone. Assuming the zone's name will be sol10, the network interface it'll bind to is e1000g0, and its IP address will be 192.168.1.18: zonecfg -z sol10 zonecfg:sol10> create -t SUNWsolaris10 zonecfg:sol10> set zonepath=/zones/sol10 zonecfg:sol10> set autoboot=true zonecfg:sol10> add net zonecfg:sol10:net> set address=192.168.1.18 zonecfg:sol10:net> set physical=e1000g0 zonecfg:sol10:net> end zonecfg:sol10> verify zonecfg:sol10> commit zonecfg:sol10> exit We can now actually install the root filesystem into the zone: sudo zoneadm -z sol10 install -u -d /full/patch/to/extracted/root After a while, the install should complete and you'll be returned to your shell prompt. Now, boot the zone: sudo zoneadm -z sol10 boot You can check that the zone's running with: sudo zoneadm list -cv You can login to the zone to complete initial setup with: sudo zlogin -C sol10 Congratulations, you now have a fully functional Solaris 10 zone on OpenIndiana. To enable connecting to the zone through XDMCP, log in to the zone as root and run: svcadm enable -r cde-login Image: Connected to the zone over XDMCP Powered by werc Glenda with cool shades