Skip to content

Instantly share code, notes, and snippets.

@aszeszo
Created June 2, 2012 00:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aszeszo/2855864 to your computer and use it in GitHub Desktop.
Save aszeszo/2855864 to your computer and use it in GitHub Desktop.
illumos distro build instructions
Download all repo-20120601-* tarballs from https://github.com/aszeszo/archives/downloads,
extract them in the right locations and run pkg install 'pkg:/*'
Extract Sun/Oracle Studio compilers in:
/opt/studio/12 (patched)
/opt/studio/12.1 (patched)
/opt/studio/12.2
Create /opt/SUNWspro symlink (required by illumos-gate)
ln -s studio/12 /opt/SUNWspro
Before running any commands set the following variables just to be safe:
export LANG=C
export PATH=/opt/studio/12.1/bin:/usr/bin:/usr/sbin:/sbin
Building Caiman
git clone git://github.com/aszeszo/caiman.git
cd caiman
git checkout oi
/opt/onbld/bin/bldenv usr/src/tools/env/developer.sh
cd usr/src
# The following three lines are required to bootstrap the proto area,
# To incrementally build caiman afterwards simply run make install.
# Many things will fail but that is to be expected.
# Final make install will work ok though.
make -k || true
make install -k || true
[ -d ../../packages ] && rm -rf ../../packages
make install
Building pkg5
git clone git://github.com/aszeszo/pkg5.git
cd pkg5
git checkout oi
cd src
make packages
Building xnv
git clone git://github.com/aszeszo/xnv.git
cd xnv
git checkout oi
./buildit -p
Building illumos-gate
git clone git://github.com/aszeszo/illumos-gate.git
cd illumos-gate
git checkout oi
cat usr/src/tools/env/illumos.sh | \
sed s/^export\ NIGHTLY_OPTIONS=.*/export\ NIGHTLY_OPTIONS=\"-nClmprti\"\;/ | \
sed s/^export\ GATE=.*/export\ GATE=illumos_`TZ=UTC date "+%Y%m%dT%H%M%SZ"`/ | \
sed s%^export\ CODEMGR_WS=.*%export\ CODEMGR_WS=$PWD% | \
sed s/^export\ MAILTO=.*/export\ MAILTO=aszeszo@gmail.com/ | \
sed s%^export\ SPRO_ROOT=.*%export\ SPRO_ROOT=/opt/studio/12% \
> illumos.sh
cat <<EOF >>illumos.sh
export i386_LINT=/opt/studio/12.1/bin/lint
export amd64_LINT=/opt/studio/12.1/bin/lint
export sparc_LINT=/opt/studio/12.1/bin/lint
export sparcv9_LINT=/opt/studio/12.1/bin/lint
export CW_NO_SHADOW=1
export UT_NO_USAGE_TRACKING="1"
export SUNW_NO_UPDATE_NOTIFY="1"
export ONNV_BUILDNUM=175.0.0.0.0.0
#export GCC_ROOT=/usr/gcc/4.4
#export CW_GCC_DIR=\$GCC_ROOT/bin
export __GNUC=""
#export __GNUC4=""
EOF
[ ! -d closed ] && wget -qO - http://dlc.sun.com/osol/on/downloads/20100817/on-closed-bins-nd.i386.tar.bz2 | bzip2 -d | tar xvf -
#find closed/*/kernel/misc closed/*/kernel/drv -type f -a \( -name mpt -o -name 'klm*' -o -name 'scsi_*' \) | xargs mcs -d -n .SUNW_ctf
/opt/onbld/bin/nightly -n illumos.sh
Building JDS
git clone git://github.com/aszeszo/jds.git
cd jds
git checkout oi
./jds-build.sh
# and
./jds-build-retry.sh
Building userland gate
git clone git://github.com/aszeszo/userland.git
cd userland
git checkout oi
cd components
gmake -j10 -k publish
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment