From 5faf3dbbad42cfc40742dea6c7d1ab3776fc2fb3 Mon Sep 17 00:00:00 2001 From: 2Shirt Date: Wed, 17 Mar 2021 01:34:54 -0600 Subject: [PATCH] Update update-base-image --- setup/macos-live/update-base-image | 75 +++++++++++++++++++++--------- 1 file changed, 52 insertions(+), 23 deletions(-) diff --git a/setup/macos-live/update-base-image b/setup/macos-live/update-base-image index 38574d3f..59dc387e 100755 --- a/setup/macos-live/update-base-image +++ b/setup/macos-live/update-base-image @@ -7,39 +7,68 @@ set -o errtrace set -o nounset set -o pipefail -WK_DEV="$1" +# Prep +echo "Initializing..." +BASE_IMAGE="$1" +IMAGE_DEV="$(hdiutil attach "${BASE_IMAGE}" | grep -Eo '(/dev/disk[0-9]+)\b')" +OS_VERSION="$(ls /Volumes/*Base\ System | grep -E 'OS X|macOS' | sed -E 's/Install (OS X|macOS) (.*)\.app/\2/')" +OUT_NAME="${HOME}/Desktop/WK ${OS_VERSION} ($(date +"%Y-%m-%d"))" +WK_PATH="/Volumes/1201_UFD" -# BaseSystem -rm -Rv "${WK_DEV}"/Install*.app -cp -av Utilities.plist "${WK_DEV}/System/Installation/CDIS/OS X Utilities.app/Contents/Resources/Utilities.plist" +# Convert to a 4 GB R/W image +echo "Creating read-write copy of the ${OS_VERSION} Base System image..." +hdiutil create -srcdevice "${IMAGE_DEV}s1" -format UDSB "${OUT_NAME}.sparsebundle" +hdiutil detach "${IMAGE_DEV}" +hdiutil resize -size 4g "${OUT_NAME}.sparsebundle" +hdiutil attach "${OUT_NAME}.sparsebundle" +diskutil rename "OS X Base System" "1201_UFD" + +# Remove Install app +echo "Removing Install app..." +rm -R "${WK_PATH}"/Install*.app + +# Update Utilities menu +echo "Updating Utilities menu..." +cp -a Utilities.plist "${WK_PATH}/System/Installation/CDIS/macOS Utilities.app/Contents/Resources/Utilities.plist" # 1201 CA -cp -av ../windows/bin/1201_Root_CA.crt "${WK_DEV}/.1201_Root_CA.crt" +echo "Installing 1201 CA..." +cp -a ../windows/bin/1201_Root_CA.crt "${WK_PATH}/.1201_Root_CA.crt" # Homebrew -mkdir -p "${WK_DEV}/usr/local/bin" -ln -s python3 "${WK_DEV}/usr/local/bin/python" -rsync -ahvPS /opt/ "${WK_DEV}/opt"/ -rsync -ahvPS /usr/local/{Cellar,Frameworks,Homebrew,bin,etc,include,lib,libexec,opt,sbin,share,var} "${WK_DEV}/usr/local/" +echo "Installing Hombrew..." +mkdir -p "${WK_PATH}/usr/local/bin" +ln -s python3 "${WK_PATH}/usr/local/bin/python" +rsync -aS /opt/ "${WK_PATH}/opt"/ +rsync -aS /usr/local/{Cellar,Frameworks,Homebrew,bin,etc,include,lib,libexec,opt,sbin,share,var} "${WK_PATH}/usr/local"/ # Fonts -cp -av /Library/Fonts/Inconsolata*ttf "${WK_DEV}/System/Library/Fonts/" +echo "Installing Fonts..." +cp -a /Library/Fonts/Inconsolata*ttf "${WK_PATH}/System/Library/Fonts"/ # iTerm2 -cp -av ../linux/include/airootfs/etc/skel/.tmux.conf "${WK_DEV}/etc/tmux.conf" -rsync -ahvPS /Applications/iTerm.app "${WK_DEV}/Applications"/ -rsync -ahvPS /System/Library/Colors/System.clr "${WK_DEV}/System/Library/Colors"/ -rsync -ahvPS /System/Library/Frameworks/{Scripting,ScriptingBridge,LocalAuthentication}.framework "${WK_DEV}/System/Library/Frameworks"/ -rsync -ahvPS /usr/bin/locale "${WK_DEV}/usr/bin"/ -rsync -ahvLPS /usr/share/locale/en_US.UTF-8 "${WK_DEV}/usr/share/locale"/ -rsync -ahvPS com.googlecode.iterm2.plist "${WK_DEV}/var/root/Library/Preferences"/ +echo "Installing iTerm2..." +cp -a ../linux/include/airootfs/etc/skel/.tmux.conf "${WK_PATH}/etc/tmux.conf" +rsync -aS /Applications/iTerm.app "${WK_PATH}/Applications"/ +rsync -aS /System/Library/Colors/System.clr "${WK_PATH}/System/Library/Colors"/ +rsync -aS /System/Library/Frameworks/{Scripting,ScriptingBridge,LocalAuthentication}.framework "${WK_PATH}/System/Library/Frameworks"/ +rsync -aS /usr/bin/locale "${WK_PATH}/usr/bin"/ +rsync -aLS /usr/share/locale/en_US.UTF-8 "${WK_PATH}/usr/share/locale"/ +rsync -aS com.googlecode.iterm2.plist "${WK_PATH}/var/root/Library/Preferences"/ # pipes-sh -cp -av /usr/bin/tput "${WK_DEV}/usr/bin"/ +echo "Installing pipes.sh..." +cp -a /usr/bin/tput "${WK_PATH}/usr/bin"/ # WizardKit -touch "${WK_DEV}/.wk-live-macos" -ln -s /Volumes/RAM_Disk/Logs "${WK_DEV}/var/root/Logs" -cp -av ../../images/macOS.png "${WK_DEV}/usr/local/wallpaper.png" -rsync -ahvPS /usr/bin/{env,killall} "${WK_DEV}/usr/bin"/ -rsync -ahvPS live-macos-startup ../../scripts/ "${WK_DEV}/usr/local/bin"/ +echo "Installing WizardKit env..." +touch "${WK_PATH}/.wk-live-macos" +ln -s /Volumes/RAM_Disk/Logs "${WK_PATH}/var/root/Logs" +cp -a ../../images/macOS.png "${WK_PATH}/usr/local/wallpaper.png" +rsync -aS /usr/bin/{env,killall} "${WK_PATH}/usr/bin"/ +rsync -aS live-macos-startup ../../scripts/ "${WK_PATH}/usr/local/bin"/ + +# Convert to compressed read-only image +#echo "Converting to read-only image..." +#hdiutil convert -format UDZO -o "${OUT_NAME}.sparsebundle" "${OUT_NAME}.dmg" +# TODO