# omni **Repository Path**: wsgalaxy/omni ## Basic Information - **Project Name**: omni - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-04-15 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Building OmniOSce This package contains scripts to help set up and build a copy of OmniOSce on your own server or within a non-global zone. Each version of OmniOS can only be built on the same version so if you want to build bloody, you need a machine running up-to-date bloody and the same for a stable branch such as r151022 - you will need a machine running the same release version. ### Quick start (building in global zone) > It can be useful to create a dedicated ZFS filesystem for the build > area (as shown below) but this step is optional. ``` # zfs create -o mountpoint=/build rpool/build # chown /build # su - % pkg install git % git clone https://github.com/omniosorg/omni.git % cd omni ``` If you just want to build then you can check out the code directly from the _omniosorg_ GitHub repository - just pass the build directory as an argument to the setup script: ``` % ./setup /build ``` However, if you want to do any development then you will also need a GitHub account and to have forked the `illumos-omnios`, `omnios-build`, and `kayak` repositories before proceeding. The username for your github account must be provided as an argument to the setup script. ``` % ./setup /build ``` Then you can kick off an update and a build. ``` % omni update_world % omni build_world ``` To build media, use the `build_media` target: ``` % omni build_media ``` ### Example build zone setup Building within a zone also works well with a couple of additional privileges over the default set as shown in the example below. It is however not possible to generate release media from within a zone. To create a zone suitable for building: ``` # dladm create-vnic -l igb0 omni0 # zonecfg -z omni omni: No such zone configured Use 'create' to begin configuring a new zone. zonecfg:omni> create zonecfg:omni> set brand=lipkg zonecfg:omni> set zonepath=/data/zone/omni zonecfg:omni> set fs-allowed=ufs zonecfg:omni> set limitpriv=default,dtrace_user,dtrace_proc zonecfg:omni> set ip-type=exclusive zonecfg:omni> add net zonecfg:omni:net> set physical=omni0 zonecfg:omni:net> end zonecfg:omni> verify zonecfg:omni> commit zonecfg:omni> exit # zoneadm -z omni install A ZFS file system has been created for this zone. Sanity Check: Looking for 'entire' incorporation. Image: Preparing at /data/zone/omni/root. Publisher: Using omnios (https://pkg.omniosce.org/r151022/core). ... # zoneadm -z omni boot # zlogin omni # ipadm create-if omni0 # ipadm create-addr -T static -a local=x.x.x.x/y omni0/v4 # echo x.x.x.x > /etc/defaultrouter # echo 'nameserver 80.80.80.80' > /etc/resolv.conf # cp /etc/nsswitch.{dns,conf} # svcadm restart routing-setup # zfs create -o mountpoint=/build data/zone/omni/ROOT/build ``` The process for then building illumos-omnios and OmniOS itself is the same as in the global zone.