Print this page
Use PREBUILT_ILLUMOS's svccfg-native to stop lockups post-5896/5897

*** 54,64 **** if [[ ! -d $ROOTDIR ]]; then zfs create -o compression=off $BASE/root || fail "zfs create failed" fi SVCCFG_DTD=${ROOTDIR}/usr/share/lib/xml/dtd/service_bundle.dtd.1 SVCCFG_REPOSITORY=${ROOTDIR}/etc/svc/repository.db ! SVCCFG=/usr/sbin/svccfg export WORKDIR ROOTDIR SVCCFG_DTD SVCCFG_REPOSITORY SVCCFG # This was uber-helpful # http://alexeremin.blogspot.com/2008/12/preparing-small-miniroot-with-zfs-and.html --- 54,73 ---- if [[ ! -d $ROOTDIR ]]; then zfs create -o compression=off $BASE/root || fail "zfs create failed" fi SVCCFG_DTD=${ROOTDIR}/usr/share/lib/xml/dtd/service_bundle.dtd.1 SVCCFG_REPOSITORY=${ROOTDIR}/etc/svc/repository.db ! #SVCCFG=/usr/sbin/svccfg ! if [[ -f ${PREBUILT_ILLUMOS}/usr/src/cmd/svc/svccfg/svccfg-native ]]; then ! SVCCFG=${PREBUILT_ILLUMOS}/usr/src/cmd/svc/svccfg/svccfg-native ! else ! echo "WARNING -- Not using 'native' svccfg, may hang on build." ! echo " We recommend a pre-built illumos's svccfg-native." ! echo " Set PREBUILT_ILLUMOS in your environment to point" ! echo " to a built illumos-omnios repository." ! SVCCFG=/usr/sbin/svccfg ! fi export WORKDIR ROOTDIR SVCCFG_DTD SVCCFG_REPOSITORY SVCCFG # This was uber-helpful # http://alexeremin.blogspot.com/2008/12/preparing-small-miniroot-with-zfs-and.html
*** 270,287 **** ${SVCCFG} import ${ROOTDIR}/lib/svc/manifest/milestone/sysconfig.xml for xml in $UNNEEDED_MANIFESTS; do rm -f ${ROOTDIR}/lib/svc/manifest/$xml && echo " --- tossing $xml" done echo " --- initial manifest import" ! ${ROOTDIR}/lib/svc/method/manifest-import -f ${ROOTDIR}/etc/svc/repository.db \ -d ${ROOTDIR}/lib/svc/manifest ${SVCCFG} -s 'system/boot-archive' setprop 'start/exec=:true' ${SVCCFG} -s 'system/manifest-import' setprop 'start/exec=:true' ${SVCCFG} -s "system/intrd:default" setprop "general/enabled=false" ${SVCCFG} -s "system/initial-boot" setprop "start/timeout_seconds=600" ! echo " --- nuetering the manifest import" echo "#!/bin/ksh" > ${ROOTDIR}/lib/svc/method/manifest-import echo "exit 0" >> ${ROOTDIR}/lib/svc/method/manifest-import chmod 555 ${ROOTDIR}/lib/svc/method/manifest-import chkpt cull ;; --- 279,303 ---- ${SVCCFG} import ${ROOTDIR}/lib/svc/manifest/milestone/sysconfig.xml for xml in $UNNEEDED_MANIFESTS; do rm -f ${ROOTDIR}/lib/svc/manifest/$xml && echo " --- tossing $xml" done echo " --- initial manifest import" ! # See if we can transform manifest-import to use the 'native' svccfg. ! sed 's/\/usr\/sbin\/svccfg/\$SVCCFG/g' \ ! < ${ROOTDIR}/lib/svc/method/manifest-import \ ! > /tmp/manifest-import.$$ ! chmod 0755 /tmp/manifest-import.$$ ! export SVCCFG ! /tmp/manifest-import.$$ -f ${ROOTDIR}/etc/svc/repository.db \ -d ${ROOTDIR}/lib/svc/manifest + /bin/rm -f /tmp/manifest-import.$$ ${SVCCFG} -s 'system/boot-archive' setprop 'start/exec=:true' ${SVCCFG} -s 'system/manifest-import' setprop 'start/exec=:true' ${SVCCFG} -s "system/intrd:default" setprop "general/enabled=false" ${SVCCFG} -s "system/initial-boot" setprop "start/timeout_seconds=600" ! echo " --- neutering the manifest import" echo "#!/bin/ksh" > ${ROOTDIR}/lib/svc/method/manifest-import echo "exit 0" >> ${ROOTDIR}/lib/svc/method/manifest-import chmod 555 ${ROOTDIR}/lib/svc/method/manifest-import chkpt cull ;;