Update update-base-image

This commit is contained in:
2Shirt 2021-03-17 01:34:54 -06:00
parent bc3f6946f7
commit 5faf3dbbad

View file

@ -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