Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
48deaa9f46 | ||
|
|
0899233085 | ||
|
|
39cbeefef8 | ||
|
|
98c4663f43 | ||
|
|
76c1250cc5 | ||
|
|
006593b402 | ||
|
|
f989334a11 | ||
|
|
b2949b0b7b | ||
|
|
40bd5dea2d | ||
|
|
f8619eedc8 | ||
|
|
3b5fc4e36f | ||
|
|
dde21b5bef | ||
|
|
eb286cd150 | ||
|
|
c2c9ebf14e | ||
|
|
6992d11d1c | ||
|
|
f6428c7245 | ||
|
|
5e26d111c1 | ||
|
|
b45af77b5c | ||
|
|
41f6fae742 | ||
|
|
3ee1d855bf |
@@ -1 +1 @@
|
||||
2.6.2
|
||||
2.7.0
|
||||
|
||||
32
CHANGES.md
32
CHANGES.md
@@ -1,3 +1,35 @@
|
||||
# 8.0.1 (2020-01-01)
|
||||
|
||||
- Added Startup Security Utility to README.
|
||||
- Updated README screencast.
|
||||
- Updated to Ruby 2.7.0.
|
||||
- Refactored caffeinate machine function to process grep.
|
||||
|
||||
# 8.0.0 (2019-10-12)
|
||||
|
||||
- Updated to Rake 13.0.0.
|
||||
- Updated to Ruby 2.6.5.
|
||||
- Updated to macOS Catalina.
|
||||
|
||||
# 7.2.1 (2019-09-01)
|
||||
|
||||
- Updated README screencast tutorial.
|
||||
- Updated to Ruby 2.6.4.
|
||||
|
||||
# 7.2.0 (2019-08-01)
|
||||
|
||||
- Added file install function.
|
||||
|
||||
# 7.1.2 (2019-06-01)
|
||||
|
||||
- Updated contributing documentation.
|
||||
- Updated to Git Cop 3.5.0.
|
||||
|
||||
# 7.1.1 (2019-05-01)
|
||||
|
||||
- Added project icon to README.
|
||||
- Updated to Ruby 2.6.3.
|
||||
|
||||
# 7.1.0 (2019-04-01)
|
||||
|
||||
- Added XCode installer fix to troubleshooting section.
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
# Contributing
|
||||
|
||||
Thanks for taking an interest in this open source project. Your support and involvement is greatly
|
||||
appreciated. The following sections detail what you need to know in order to contribute.
|
||||
appreciated. The following details what you need to know in order to contribute.
|
||||
|
||||
## Code
|
||||
|
||||
1. Read the project README before starting.
|
||||
1. Fork the `master` branch of this repository and clone the fork locally.
|
||||
1. Ensure there are no setup, usage, and/or test issues.
|
||||
1. Fork and clone the `master` branch of this repository locally.
|
||||
1. Ensure there are no local setup, usage, and/or test issues.
|
||||
1. Add tests for new functionality and ensure they pass.
|
||||
1. Submit a pull request, follow the instructions it provides, and ensure the build passes.
|
||||
1. Submit a pull request, follow the instructions provided, and ensure the build passes.
|
||||
|
||||
## Issues
|
||||
|
||||
- Submit an issue via the GitHub Issues tab (assuming one does not
|
||||
already exist) and follow the instructions it provides.
|
||||
- Submit an issue via the GitHub Issues tab (assuming one does not already exist) and follow the
|
||||
instructions provided.
|
||||
|
||||
## Feedback
|
||||
|
||||
- Expect a response within one to three business days.
|
||||
- Changes, alternatives, and/or improvements might be suggested upon review.
|
||||
- Changes, alternatives, and/or improvements may be suggested upon review.
|
||||
|
||||
4
Gemfile
4
Gemfile
@@ -2,5 +2,5 @@
|
||||
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "rake", "~> 12.0"
|
||||
gem "git-cop", "~> 3.0"
|
||||
gem "rake", "~> 13.0"
|
||||
gem "git-cop", "~> 3.5"
|
||||
|
||||
37
README.md
37
README.md
@@ -1,3 +1,7 @@
|
||||
<p align="center">
|
||||
<img src="mac_os.png" alt="MacOS Icon"/>
|
||||
</p>
|
||||
|
||||
# macOS
|
||||
|
||||
[](https://circleci.com/gh/bkuhlmann/mac_os)
|
||||
@@ -27,6 +31,7 @@ the two projects are meant to be used:
|
||||
- [Setup](#setup)
|
||||
- [Usage](#usage)
|
||||
- [Boot Disk](#boot-disk)
|
||||
- [Startup Security Utility](#startup-security-utility)
|
||||
- [Customization](#customization)
|
||||
- [Troubleshooting](#troubleshooting)
|
||||
- [Versioning](#versioning)
|
||||
@@ -56,11 +61,11 @@ the two projects are meant to be used:
|
||||
|
||||
## Screencast
|
||||
|
||||
[](https://asciinema.org/a/155990)
|
||||
[](https://asciinema.org/a/278158)
|
||||
|
||||
## Requirements
|
||||
|
||||
1. [macOS Mojave](https://www.apple.com/macos) (with latest software updates applied)
|
||||
1. [macOS Catalina](https://www.apple.com/macos/catalina) (with latest software updates applied)
|
||||
1. [Xcode](https://developer.apple.com/xcode) (with accepted license agreement)
|
||||
|
||||
## Setup
|
||||
@@ -72,7 +77,7 @@ Current Version (stable):
|
||||
|
||||
git clone https://github.com/bkuhlmann/mac_os.git
|
||||
cd mac_os
|
||||
git checkout 7.1.0
|
||||
git checkout 8.0.1
|
||||
|
||||
Master Version (unstable):
|
||||
|
||||
@@ -150,6 +155,32 @@ documentation (provided here for reference):
|
||||
4. Wait for the macOS installer to load from the recovery partition.
|
||||
5. Use the dialog options to launch Disk Utility, reinstall the system, etc.
|
||||
|
||||
Depending on your security settings, you might need to use the Startup Security Utility before using
|
||||
the Boot Disk (see below).
|
||||
|
||||
### [Startup Security Utility](https://support.apple.com/en-us/HT208198)
|
||||
|
||||
With newer hardware, you should be running with the Apple T2 Security Chip (found via → About This
|
||||
Mac → Overview → System Report → Controller). In order to boot your machine using the Boot Disk,
|
||||
you'll need to *temporarily* disable the default security settings as follows:
|
||||
|
||||
- Turn on or restart your Mac, then press and hold `COMMAND + R` immediately after seeing the Apple
|
||||
logo.
|
||||
- Select Utilities → Startup Security Utility from the main menu.
|
||||
- Click "Turn Off Firmware Password".
|
||||
- Select "Secure Boot: No Security".
|
||||
- Select "External Boot: Allow booting from external media".
|
||||
- Quit the utility and restart the machine.
|
||||
|
||||
You'll now be able to boot your system with the Boot Disk (see above).
|
||||
|
||||
After the new operating system has been installed via the Boot Disk, *ensure you return to the
|
||||
Startup Security Utility and re-enable the following settings*:
|
||||
|
||||
- Click "Turn On Firmware Password".
|
||||
- Select "Secure Boot: Full Security".
|
||||
- Select "External Boot: Disallow booting from external or removable media".
|
||||
|
||||
### Customization
|
||||
|
||||
All executable scripts can be found in the `bin` folder:
|
||||
|
||||
@@ -23,7 +23,7 @@ printf " 5. Use the dialog options to launch Disk Utility, reinstall the system
|
||||
printf "\nCreating macOS boot disk...\n"
|
||||
|
||||
if [[ ! -e "$MAC_OS_BOOT_DISK_CREATOR" ]]; then
|
||||
printf "ERROR: macOS installer does not exist: $MAC_OS_BOOT_DISK_CREATOR. Use App Store to download.\n"
|
||||
printf "ERROR: macOS installer does not exist: $MAC_OS_BOOT_DISK_CREATOR. Use System Preferences → Software Update to download.\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
@@ -123,7 +123,6 @@ install_program() {
|
||||
local install_path=$(get_install_path "$program_name")
|
||||
|
||||
if [[ ! -e "$install_path" ]]; then
|
||||
printf "Installing: $install_path...\n"
|
||||
download_file "$url" "$program_name"
|
||||
mv "$MAC_OS_WORK_PATH/$program_name" "$install_path"
|
||||
chmod 755 "$install_path"
|
||||
@@ -172,6 +171,23 @@ install_git_project() {
|
||||
}
|
||||
export -f install_git_project
|
||||
|
||||
# Installs a single file.
|
||||
# Parameters: $1 (required) - URL, $2 (required) - Install path.
|
||||
install_file() {
|
||||
local file_url="$1"
|
||||
local file_name=$(get_file_name "$1")
|
||||
local install_path="$2"
|
||||
|
||||
if [[ ! -e "$install_path" ]]; then
|
||||
download_file "$file_url" "$file_name"
|
||||
mkdir -p $(dirname "$install_path")
|
||||
mv "$MAC_OS_WORK_PATH/$file_name" "$install_path"
|
||||
printf "Installed: $file_name.\n"
|
||||
verify_path "$install_path"
|
||||
fi
|
||||
}
|
||||
export -f install_file
|
||||
|
||||
# Downloads remote file to local disk.
|
||||
# Parameters: $1 (required) - URL, $2 (required) - File name, $3 (optional) - HTTP header.
|
||||
download_file() {
|
||||
|
||||
@@ -5,7 +5,7 @@ set -o errexit
|
||||
set -o pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
export MAC_OS_BOOT_DISK_CREATOR="/Applications/Install macOS Mojave.app/Contents/Resources/createinstallmedia"
|
||||
export MAC_OS_BOOT_DISK_CREATOR="/Applications/Install macOS Catalina.app/Contents/Resources/createinstallmedia"
|
||||
export MAC_OS_BOOT_DISK_PATH="/Volumes/Untitled"
|
||||
export MAC_OS_WORK_PATH=/tmp/downloads
|
||||
export MAC_OS_CONFIG_PATH="../mac_os-config"
|
||||
|
||||
@@ -19,7 +19,7 @@ export -f clean_work_path
|
||||
|
||||
# Caffeinate machine.
|
||||
caffeinate_machine() {
|
||||
local pid=$(ps aux | grep caffeinate | grep -v grep | awk '{print $2}')
|
||||
local pid=$(pgrep -x caffeinate)
|
||||
|
||||
if [[ -n "$pid" ]]; then
|
||||
printf "Whoa, tweaker, machine is already caffeinated!\n"
|
||||
|
||||
BIN
mac_os.png
Normal file
BIN
mac_os.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.8 KiB |
Reference in New Issue
Block a user