Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
160447eda3 | ||
|
|
803c38e1c2 | ||
|
|
76432f5a74 | ||
|
|
85c85a5e80 | ||
|
|
b83ecf6516 | ||
|
|
3889930672 | ||
|
|
856f51422a | ||
|
|
433ad04028 | ||
|
|
605190577f | ||
|
|
c9c7f46e4a | ||
|
|
f8a779e926 | ||
|
|
e6f991baca | ||
|
|
ae6ab46fa7 | ||
|
|
45a6c5d1b0 | ||
|
|
1bb6ef39a5 | ||
|
|
1416aa2f0a | ||
|
|
b6cddae599 | ||
|
|
e533bf04be |
@@ -1 +1 @@
|
||||
2.7.1
|
||||
3.0.0
|
||||
|
||||
26
CHANGES.adoc
26
CHANGES.adoc
@@ -1,5 +1,31 @@
|
||||
= Changes
|
||||
|
||||
== 11.1.1 (2021-01-10)
|
||||
|
||||
* Fixed brew formulae list error - Brooke Kuhlmann
|
||||
* Updated boot disk recovery documentation - Brooke Kuhlmann
|
||||
|
||||
== 11.1.0 (2021-01-03)
|
||||
|
||||
* Added caffeination to restore process - Brooke Kuhlmann
|
||||
* Updated boot disk instructions for main disk format - Brooke Kuhlmann
|
||||
* Updated troubleshooting documentation - Brooke Kuhlmann
|
||||
* Removed README Startup Security Utility documentation - Brooke Kuhlmann
|
||||
|
||||
== 11.0.0 (2020-12-30)
|
||||
|
||||
* Fixed Circle CI configuration for Bundler config path - Brooke Kuhlmann
|
||||
* Added Circle CI explicit Bundle install configuration - Brooke Kuhlmann
|
||||
* Updated to Git Lint 2.0.0 - Brooke Kuhlmann
|
||||
* Updated to Ruby 3.0.0 - Brooke Kuhlmann
|
||||
|
||||
== 10.0.0 (2020-11-15)
|
||||
|
||||
* Added macOS Big Sur support
|
||||
* Updated project documentation to conform to Rubysmith template
|
||||
* Updated to Git Lint 1.3.0
|
||||
* Updated to Ruby 2.7.2
|
||||
|
||||
== 9.0.0 (2020-09-12)
|
||||
|
||||
* Fixed Homebrew cask verifier deprecation warning
|
||||
|
||||
@@ -51,7 +51,8 @@ an appointed representative at an online or offline event.
|
||||
== Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community
|
||||
leaders responsible for enforcement at link:mailto:brooke@alchemists.io?subject=Conduct[Alchemists].
|
||||
leaders responsible for enforcement at link:mailto:brooke@alchemists.io?subject=Conduct[Brooke Kuhlmann].
|
||||
|
||||
All complaints will be reviewed and investigated promptly and fairly.
|
||||
|
||||
All community leaders are obligated to respect the privacy and security of the reporter of any
|
||||
@@ -102,7 +103,7 @@ disparagement of classes of individuals.
|
||||
|
||||
This Code of Conduct is adapted from the
|
||||
link:https://www.contributor-covenant.org/version/2/0/code_of_conduct.html[Contributor Covenant,
|
||||
version 2.0].
|
||||
Version 2.0].
|
||||
|
||||
Community Impact Guidelines were inspired by link:https://github.com/mozilla/diversity[Mozilla's
|
||||
code of conduct enforcement ladder].
|
||||
|
||||
2
Gemfile
2
Gemfile
@@ -3,4 +3,4 @@
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "rake", "~> 13.0"
|
||||
gem "git-lint", "~> 1.0"
|
||||
gem "git-lint", "~> 2.0"
|
||||
|
||||
@@ -150,7 +150,7 @@ additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Copyright link:https://www.alchemists.io[Alchemists].
|
||||
Copyright 2016 link:https://www.alchemists.io/team/brooke_kuhlmann[Brooke Kuhlmann].
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
|
||||
compliance with the License. You may obtain a link:https://www.apache.org/licenses/LICENSE-2.0[copy]
|
||||
|
||||
88
README.adoc
88
README.adoc
@@ -16,10 +16,10 @@ Config_ project is an opinionated configuration which meets the needs of my deve
|
||||
but is also meant to serve as an example and guide for building your own personalized setup. Here is
|
||||
how the two projects are meant to be used:
|
||||
|
||||
* *macOS* (this project) - The foundation framework for building customizated macOS machine setups.
|
||||
* *macOS* (this project) - The foundational framework for building custom macOS machine setups.
|
||||
* *link:https://www.alchemists.io/projects/mac_os-config[macOS Configuration]* - The layer on top of
|
||||
this _macOS_ project which defines a custom machine setup and base implementation. The project is
|
||||
meant to be forked for as many custom machine setups as needed.
|
||||
this _macOS_ project which defines a custom machine implementation. The project is meant to be
|
||||
forked for as many custom machine setups as needed.
|
||||
|
||||
toc::[]
|
||||
|
||||
@@ -46,30 +46,18 @@ image::https://www.alchemists.io/images/screencasts/mac_os/cover.svg[Screencast,
|
||||
|
||||
== Requirements
|
||||
|
||||
. link:https://www.apple.com/macos/catalina[macOS]
|
||||
. link:https://www.apple.com/macos/big-sur[macOS Big Sur]
|
||||
. link:https://developer.apple.com/xcode[Xcode]
|
||||
|
||||
== Setup
|
||||
|
||||
=== Production
|
||||
|
||||
To install, run:
|
||||
|
||||
[source,bash]
|
||||
----
|
||||
git clone https://github.com/bkuhlmann/mac_os.git
|
||||
cd mac_os
|
||||
git checkout 9.0.0
|
||||
----
|
||||
|
||||
=== Development
|
||||
|
||||
To contribute, run:
|
||||
|
||||
[source,bash]
|
||||
----
|
||||
git clone https://github.com/bkuhlmann/mac_os.git
|
||||
cd mac_os
|
||||
git checkout 11.1.1
|
||||
----
|
||||
|
||||
== Usage
|
||||
@@ -140,43 +128,17 @@ macOS Boot Disk Usage:
|
||||
2. Reboot the machine.
|
||||
3. Hold down the OPTION key before the Apple logo appears.
|
||||
4. Select the USB boot disk from the menu.
|
||||
5. Use Disk Utility to format the machine's drive as "APFS (Encrypted)".
|
||||
6. Install the new operating system.
|
||||
5. Use Disk Utility to delete and/or erase the hard drive including associated partitions.
|
||||
6. Use Disk Utility to create a single "APFS" drive as a "GUID Partition Table".
|
||||
7. Install the new operating system.
|
||||
|
||||
macOS Reinstall:
|
||||
1. Click the Apple icon from the operating system main menu.
|
||||
2. Select the "Restart..." menu option.
|
||||
3. Hold down the COMMAND+R keys before the Apple logo appears.
|
||||
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.
|
||||
macOS Boot Disk Recovery:
|
||||
1. Start/restart the machine.
|
||||
2. Hold down the COMMAND+R keys before the Apple logo appears.
|
||||
3. Wait for the macOS installer to load from the recovery partition.
|
||||
4. 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).
|
||||
|
||||
=== https://support.apple.com/en-us/HT208198[Startup Security Utility]
|
||||
|
||||
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:
|
||||
@@ -206,6 +168,13 @@ link:https://www.alchemists.io/projects/mac_os-config[macOS Config] project for
|
||||
|
||||
== Troubleshooting
|
||||
|
||||
* When using link:https://pi-hole.net[Pi-hole], you might need to temporarily disable prior to
|
||||
upgrading as you might experience various errors with Apple not being able to detect an internet
|
||||
connection which prevents the installer from working.
|
||||
* When using the boot disk and the installer fails in some catestrophic manner, reboot the machine
|
||||
into recovery mode (i.e. `COMMAND + R`) to download and install the last operating system used.
|
||||
Alternatively, you can also use `COMMAND + OPTION + R` to attemp to download the latest operating
|
||||
system.
|
||||
* When using the boot disk, you might experience a situation where you see a black screen with a
|
||||
white circle and diagonal line running through it. This means macOS lost or can’t find the boot
|
||||
disk for some reason. To correct this, shut down and boot up the system again while holding down
|
||||
@@ -213,13 +182,16 @@ link:https://www.alchemists.io/projects/mac_os-config[macOS Config] project for
|
||||
happen a few times before releasing the keys. This will clear the system NVRAM/PRAM. At this point
|
||||
you can shut down and restart the system following the boot disk instructions (the boot disk will
|
||||
be recognized now).
|
||||
* Sometimes, when installing XCode development tools (i.e. the `t` option), not all of the macOS
|
||||
headers will be installed. This can cause issues with compiling and building native packages. For
|
||||
example: `fatal error: 'stdio.h' file not found`. This can happen due to an intermittent bug with
|
||||
the XCode installer. To fix this, you’ll need to install this package:
|
||||
`/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg`. Depending on
|
||||
your system, the version might differ, so look for a `*.pkg` in the
|
||||
`/Library/Developer/CommandLineTools/Packages` folder.
|
||||
|
||||
== Development
|
||||
|
||||
To contribute, run:
|
||||
|
||||
[source,bash]
|
||||
----
|
||||
git clone https://github.com/bkuhlmann/mac_os.git
|
||||
cd mac_os
|
||||
----
|
||||
|
||||
== Versioning
|
||||
|
||||
|
||||
@@ -11,14 +11,14 @@ printf " 1. Insert the USB boot disk into the machine to be upgraded.\n"
|
||||
printf " 2. Reboot the machine.\n"
|
||||
printf " 3. Hold down the OPTION key before the Apple logo appears.\n"
|
||||
printf " 4. Select the USB boot disk from the menu.\n"
|
||||
printf " 5. Use Disk Utility to format the machine's drive as \"APFS (Encrypted)\".\n"
|
||||
printf " 6. Install the new operating system.\n"
|
||||
printf "\nmacOS Reinstall:\n"
|
||||
printf " 1. Click the Apple icon from the operating system main menu.\n"
|
||||
printf " 2. Select the \"Restart...\" menu option.\n"
|
||||
printf " 3. Hold down the COMMAND+R keys before the Apple logo appears.\n"
|
||||
printf " 4. Wait for the macOS installer to load from the recovery partition.\n"
|
||||
printf " 5. Use the dialog options to launch Disk Utility, reinstall the system, etc.\n"
|
||||
printf " 5. Use Disk Utility to delete and/or erase the hard drive including associated partitions.\n"
|
||||
printf " 6. Use Disk Utility to create a single \"APFS\" drive as a \"GUID Partition Table\".\n"
|
||||
printf " 7. Install the new operating system.\n"
|
||||
printf "\nmacOS Boot Disk Recovery:\n"
|
||||
printf " 1. Start/restart the machine.\n"
|
||||
printf " 2. Hold down the COMMAND+R keys before the Apple logo appears.\n"
|
||||
printf " 3. Wait for the macOS installer to load from the recovery partition.\n"
|
||||
printf " 4. Use the dialog options to launch Disk Utility, reinstall the system, etc.\n"
|
||||
|
||||
printf "\nCreating macOS boot disk...\n"
|
||||
|
||||
|
||||
@@ -24,9 +24,9 @@ jobs:
|
||||
- run:
|
||||
name: Ruby Install
|
||||
command: |
|
||||
curl https://cache.ruby-lang.org/pub/ruby/${CI_RUBY_VERSION::-2}/ruby-$CI_RUBY_VERSION.tar.bz2 > ../ruby-$CI_RUBY_VERSION.tar.gz
|
||||
cd ..
|
||||
tar --extract --bzip2 --verbose --file ruby-$CI_RUBY_VERSION.tar.gz
|
||||
curl https://cache.ruby-lang.org/pub/ruby/${CI_RUBY_VERSION::-2}/ruby-$CI_RUBY_VERSION.tar.gz > ruby-$CI_RUBY_VERSION.tar.gz
|
||||
tar --extract --gzip --verbose --file ruby-$CI_RUBY_VERSION.tar.gz
|
||||
cd ruby-$CI_RUBY_VERSION
|
||||
./configure
|
||||
make
|
||||
@@ -48,7 +48,8 @@ jobs:
|
||||
name: Bundler Install
|
||||
command: |
|
||||
gem update --system
|
||||
bundle install --path vendor/bundle
|
||||
bundle config set path "vendor/bundle"
|
||||
bundle install
|
||||
|
||||
- type: cache-save
|
||||
name: Bundler Store
|
||||
|
||||
@@ -39,6 +39,7 @@ process_option() {
|
||||
bin/setup_software
|
||||
clean_work_path;;
|
||||
'R')
|
||||
caffeinate_machine
|
||||
bin/restore_backup;;
|
||||
'c')
|
||||
verify_homebrew_formulas
|
||||
|
||||
@@ -5,7 +5,7 @@ set -o errexit
|
||||
set -o pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
export MAC_OS_BOOT_DISK_CREATOR="/Applications/Install macOS Catalina.app/Contents/Resources/createinstallmedia"
|
||||
export MAC_OS_BOOT_DISK_CREATOR="/Applications/Install macOS Big Sur.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"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
verify_homebrew_formulas() {
|
||||
printf "Checking Homebrew formulas...\n"
|
||||
|
||||
local applications="$(brew list)"
|
||||
local applications="$(brew list --formulae)"
|
||||
|
||||
while read line; do
|
||||
if [[ "$line" == "brew install"* ]]; then
|
||||
@@ -29,7 +29,7 @@ export -f verify_homebrew_formulas
|
||||
verify_homebrew_casks() {
|
||||
printf "\nChecking Homebrew casks...\n"
|
||||
|
||||
local applications="$(brew list --cask)"
|
||||
local applications="$(brew list --casks)"
|
||||
|
||||
while read line; do
|
||||
if [[ "$line" == "brew cask install"* ]]; then
|
||||
|
||||
Reference in New Issue
Block a user