From 2829807158abea589f00731c16edb889f9169b99 Mon Sep 17 00:00:00 2001 From: Igor Pashev Date: Sun, 4 May 2014 23:33:53 +0400 Subject: Use APT to install packages --- protostar | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) (limited to 'protostar') diff --git a/protostar b/protostar index d1057dc..677d2d5 100755 --- a/protostar +++ b/protostar @@ -22,6 +22,40 @@ BOOTSTRAPFS="${BOOTSTRAPFS:-rpool/deb}" ROOT="/$BOOTSTRAPFS" BOOTARCH="${ROOT}/boot_archive" +# Disable boot-archive trigger, need bootadm >= 2.10+1: +export DEB_BOOTADM_DISABLE_UPDATE_ARCHIVE=1 + +# These packages are installed via APT, after debootstraping: +EXTRA_PACKAGES=" +bash-completion +bzip2 +debootstrap +drvtools +dtrace +file +illumos-nfs-common +installgrub +kmdb +less +lynx +mc +mdb-kvm +mdb-proc +openssh-client +openssh-server +pciutils +ping +python-apt +python-newt +screen +sysstat +traceroute +truss +vim +wget +xz-utils +" + # Move files from usr to usr1, # Create links from usr to usr1. # E. g.: @@ -39,6 +73,18 @@ usr_symlink_move() { ln -sf "/usr1/$f" "usr/$f" } +mount_in_root() { + mount -F lofs /devices $ROOT/devices + mount -F lofs /proc $ROOT/proc + mount -F lofs /dev $ROOT/dev +} + +umount_in_root() { + umount $ROOT/dev + umount $ROOT/proc + umount $ROOT/devices +} + if [ -z "${ROOT}" ] || [ "${ROOT}" = / ]; then echo "WTF? Bad root: \`${ROOT}'" >&2 exit 1 @@ -55,10 +101,20 @@ else echo "Preparing base system (debootstrap)..." debootstrap \ --exclude=logrotate,locales,rsyslog,cron,gawk,aptitude,aptitude-common,libboost-iostreams1.48.0,libboost-iostreams1.49.0,libcwidget3,libboost-iostreams1.54.0 \ - --include=python-newt,python-apt,truss,installgrub,illumos-grub-eltorito,illumos-kernel,mc,vim,screen,openssh-client,wget,bzip2,xz-utils,debootstrap,less,file,lynx,bash-completion,drvtools,mdb-proc,mdb-kvm,dtrace,inetutils-ping,inetutils-traceroute,pciutils,sysstat,libsun-solaris-kstat-perl,kmdb,illumos-nfs-common,openssh-server \ + --include=illumos-grub-eltorito,illumos-kernel \ "${DIST}" \ "${ROOT}" \ "${REPO}" + +mount_in_root +trap 'umount_in_root' SIGINT SIGTERM +set -x +chroot $ROOT apt-get update +chroot $ROOT apt-get -y --no-install-recommends install $EXTRA_PACKAGES +chroot $ROOT apt-get clean +set +x +trap - SIGINT SIGTERM +umount_in_root zfs snapshot ${BOOTSTRAPFS}@init fi -- cgit v1.2.3