Compare commits

..

15 Commits

Author SHA1 Message Date
Brooke Kuhlmann
85c85a5e80 Added version release notes 2021-01-03 16:49:15 -07:00
Brooke Kuhlmann
b83ecf6516 Removed README Startup Security Utility documentation
Added to the macOS Configuration project, instead, since it makes more
sense to keep all pre and post install steps together in one place.
2021-01-03 14:41:57 -07:00
Brooke Kuhlmann
3889930672 Added caffeination to restore process
Restoration from backup can take a while so this ensures the machine
doesn't go to sleep during this process.
2021-01-03 14:41:16 -07:00
Brooke Kuhlmann
856f51422a Updated troubleshooting documentation
Focuses on issues experienced related to the macOS Big Sur upgrade.
2021-01-03 14:31:16 -07:00
Brooke Kuhlmann
433ad04028 Updated boot disk instructions for main disk format
Necessary because installation of Big Sur doesn't seem to like password
protected APFS drives. Disk encryption will have to happen after
installation via FileVault.
2021-01-03 14:31:15 -07:00
Brooke Kuhlmann
605190577f Added version release notes 2020-12-30 10:31:46 -07:00
Brooke Kuhlmann
c9c7f46e4a Updated to Git Lint 2.0.0
Supports Ruby 3.0.0.

[Details](https://www.alchemists.io/projects/git-lint/changes.html).
2020-12-29 19:33:36 -07:00
Brooke Kuhlmann
f8a779e926 Updated to Ruby 3.0.0
Includes temporary disablement of gem dependencies that require
updating to Ruby 3.0.0 first.

[Details](https://chl.li/LdWrE).
2020-12-29 10:35:38 -07:00
Brooke Kuhlmann
e6f991baca Added Circle CI explicit Bundle install configuration
Due to fixing the `vendor/bundle` path earlier (see previous commit),
we need to be explicit with the installation of gems now.
2020-12-20 07:15:38 -07:00
Brooke Kuhlmann
ae6ab46fa7 Fixed Circle CI configuration for Bundler config path
Prevents the following deprecation warning:

    [DEPRECATED] The `--path` flag is deprecated because it relies on
    being remembered across bundler invocations, which bundler will no
    longer do in future versions. Instead please use `bundle config set
    path 'vendor/bundle'`, and stop using this flag.
2020-12-19 17:10:44 -07:00
Brooke Kuhlmann
45a6c5d1b0 Added version release notes 2020-11-15 07:38:09 -07:00
Brooke Kuhlmann
1bb6ef39a5 Added macOS Big Sur support
Necessary to support the latest macOS release.
2020-11-15 07:35:58 -07:00
Brooke Kuhlmann
1416aa2f0a Updated to Git Lint 1.3.0
[Changes](https://www.alchemists.io/projects/git-lint/changes.html).
2020-11-14 17:37:33 -07:00
Brooke Kuhlmann
b6cddae599 Updated project documentation to conform to Rubysmith template
Necessary to match consistency used by the
[Rubysmith](https://www.alchemists.io/projects/rubysmith) when
building/maintaining projects.
2020-10-13 20:07:16 -06:00
Brooke Kuhlmann
e533bf04be Updated to Ruby 2.7.2
Fixes a WEBrick security flaw but also disables deprecation warnings by
default which is sad to see. We'll have to enable these ourselves if we
want to have an early warning sign of future breaking changes. 😢

[Release Notes](https://chl.li/lLaOn)
2020-10-03 08:27:07 -06:00
10 changed files with 57 additions and 60 deletions

View File

@@ -1 +1 @@
2.7.1 3.0.0

View File

@@ -1,5 +1,26 @@
= Changes = Changes
== 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) == 9.0.0 (2020-09-12)
* Fixed Homebrew cask verifier deprecation warning * Fixed Homebrew cask verifier deprecation warning

View File

@@ -51,7 +51,8 @@ an appointed representative at an online or offline event.
== Enforcement == Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community 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 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 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 This Code of Conduct is adapted from the
link:https://www.contributor-covenant.org/version/2/0/code_of_conduct.html[Contributor Covenant, 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 Community Impact Guidelines were inspired by link:https://github.com/mozilla/diversity[Mozilla's
code of conduct enforcement ladder]. code of conduct enforcement ladder].

View File

@@ -3,4 +3,4 @@
source "https://rubygems.org" source "https://rubygems.org"
gem "rake", "~> 13.0" gem "rake", "~> 13.0"
gem "git-lint", "~> 1.0" gem "git-lint", "~> 2.0"

View File

@@ -150,7 +150,7 @@ additional liability.
END OF TERMS AND CONDITIONS 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 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] compliance with the License. You may obtain a link:https://www.apache.org/licenses/LICENSE-2.0[copy]

View File

@@ -46,30 +46,18 @@ image::https://www.alchemists.io/images/screencasts/mac_os/cover.svg[Screencast,
== Requirements == 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] . link:https://developer.apple.com/xcode[Xcode]
== Setup == Setup
=== Production
To install, run: To install, run:
[source,bash] [source,bash]
---- ----
git clone https://github.com/bkuhlmann/mac_os.git git clone https://github.com/bkuhlmann/mac_os.git
cd mac_os cd mac_os
git checkout 9.0.0 git checkout 11.1.0
----
=== Development
To contribute, run:
[source,bash]
----
git clone https://github.com/bkuhlmann/mac_os.git
cd mac_os
---- ----
== Usage == Usage
@@ -140,8 +128,9 @@ macOS Boot Disk Usage:
2. Reboot the machine. 2. Reboot the machine.
3. Hold down the OPTION key before the Apple logo appears. 3. Hold down the OPTION key before the Apple logo appears.
4. Select the USB boot disk from the menu. 4. Select the USB boot disk from the menu.
5. Use Disk Utility to format the machine's drive as "APFS (Encrypted)". 5. Use Disk Utility to delete and/or erase the hard drive including associated partitions.
6. Install the new operating system. 6. Use Disk Utility to create a single "APFS" drive as a "GUID Partition Table".
7. Install the new operating system.
macOS Reinstall: macOS Reinstall:
1. Click the Apple icon from the operating system main menu. 1. Click the Apple icon from the operating system main menu.
@@ -151,32 +140,6 @@ macOS Reinstall:
5. Use the dialog options to launch Disk Utility, reinstall the system, etc. 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).
=== 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,
youll 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.
Youll 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 === Customization
All executable scripts can be found in the `bin` folder: All executable scripts can be found in the `bin` folder:
@@ -206,6 +169,12 @@ link:https://www.alchemists.io/projects/mac_os-config[macOS Config] project for
== Troubleshooting == Troubleshooting
* When using link:https://pi-hole.net[Pi-hole], make sure to temporarily disable prior to upgrading
as you might experience various errors with Apple not 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.
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 * 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 cant find the boot white circle and diagonal line running through it. This means macOS lost or cant find the boot
disk for some reason. To correct this, shut down and boot up the system again while holding down 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 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 you can shut down and restart the system following the boot disk instructions (the boot disk will
be recognized now). 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 == Development
example: `fatal error: 'stdio.h' file not found`. This can happen due to an intermittent bug with
the XCode installer. To fix this, youll need to install this package: To contribute, run:
`/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 [source,bash]
`/Library/Developer/CommandLineTools/Packages` folder. ----
git clone https://github.com/bkuhlmann/mac_os.git
cd mac_os
----
== Versioning == Versioning

View File

@@ -11,8 +11,9 @@ printf " 1. Insert the USB boot disk into the machine to be upgraded.\n"
printf " 2. Reboot the machine.\n" printf " 2. Reboot the machine.\n"
printf " 3. Hold down the OPTION key before the Apple logo appears.\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 " 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 " 5. Use Disk Utility to delete and/or erase the hard drive including associated partitions.\n"
printf " 6. Install the new operating system.\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 Reinstall:\n" printf "\nmacOS Reinstall:\n"
printf " 1. Click the Apple icon from the operating system main menu.\n" printf " 1. Click the Apple icon from the operating system main menu.\n"
printf " 2. Select the \"Restart...\" menu option.\n" printf " 2. Select the \"Restart...\" menu option.\n"

View File

@@ -24,9 +24,9 @@ jobs:
- run: - run:
name: Ruby Install name: Ruby Install
command: | 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 .. 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 cd ruby-$CI_RUBY_VERSION
./configure ./configure
make make
@@ -48,7 +48,8 @@ jobs:
name: Bundler Install name: Bundler Install
command: | command: |
gem update --system gem update --system
bundle install --path vendor/bundle bundle config set path "vendor/bundle"
bundle install
- type: cache-save - type: cache-save
name: Bundler Store name: Bundler Store

View File

@@ -39,6 +39,7 @@ process_option() {
bin/setup_software bin/setup_software
clean_work_path;; clean_work_path;;
'R') 'R')
caffeinate_machine
bin/restore_backup;; bin/restore_backup;;
'c') 'c')
verify_homebrew_formulas verify_homebrew_formulas

View File

@@ -5,7 +5,7 @@ set -o errexit
set -o pipefail set -o pipefail
IFS=$'\n\t' 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_BOOT_DISK_PATH="/Volumes/Untitled"
export MAC_OS_WORK_PATH=/tmp/downloads export MAC_OS_WORK_PATH=/tmp/downloads
export MAC_OS_CONFIG_PATH="../mac_os-config" export MAC_OS_CONFIG_PATH="../mac_os-config"