Archive
Creating macOS installer disk images for VMware Fusion and ESXi with create_macos_vm_install_dmg
I’ve had a tool available for a while named create_vmware_osx_install_dmg, but it looks like it has reached the end of the road with macOS 10.12.3. The reason for this is because macOS 10.12.4 has introduced a change that prevents the addition of third-party packages to the OS installer. create_vmware_osx_install_dmg uses the addition of a third-party installer package, so unfortunately this tool cannot be used to generate 10.12.4 or later OS installers.
That said, I still want to be able to create macOS installer disk images for VMware Fusion and ESXi, so I’ve forked create_vmware_osx_install_dmg into a new script named create_macos_vm_install_dmg. create_macos_vm_install_dmg will generate stock OS installer disk images for the following OS versions:
- Mac OS X 10.7.x
- OS X 10.8.x
- OS X 10.9.x
- OS X 10.10.x
- OS X 10.11.x
- OS X 10.12.x
This script does not use a third-party package, so it is able to build a macOS 10.12.4 installer disk image. For more details, see below the jump.
Third-party installer packages may not be installable by the macOS 10.12.4 OS installer
With the release of macOS 10.12.4, it appears that Apple has made a change to the OS installer that blocks the installation of third-party packages which have been added to the OS installer. In my testing, I’ve verified the following tools are affected:
Note: There may be others, this list is what I’ve tested.
In each case, the OS install process proceeds without issues until the OS installer tries to install the third party installer package. At that point, the installation process fails and displays the message shown below:
The package "Package Name Goes Here" is not signed. Quit the installer to restart your computer and try again.
The error message displayed is misleading however, as this message may also appear if the package has been signed with a Developer ID Installer certificate.
In testing done by myself and others, we have found that there is one circumstance where you can still add a third-party installer package:
- If you are building a NetInstall NetBoot set using System Image Utility
- If the package is signed with a Developer ID Installer certificate.
Otherwise, the only installer packages I’ve seen which install correctly are packages which have been signed by Apple itself.
For more details, see below the jump.
Disabling iCloud Desktop and Documents syncing
As part of my pre-release testing of macOS Sierra, I tested iCloud Desktop and Documents syncing and decided I was not going to use it because of the problems I found. However, at that time I could not find a way to disable only iCloud Desktop and Documents without having to disable iCloud Drive entirely.
As part of the release of macOS 10.12.4, Apple has made available a profile option that allows for the specific disabling of iCloud Desktop and Documents syncing without needing to block iCloud Drive.
For more details, see below the jump.
Creating multiline login banners
In a number of Mac environments, there is a need or requirement for a login banner (otherwise known as a lock message). This message appears in the following locations:
- FileVault 2 pre-boot login screen
- OS login window
- Screensaver lock window
Brevity is best, as staying within a maximum of three lines permits the banner text to be displayed consistently in all three locations. Exceeding the three-line limit may result in the text being cut off and not fully displayed.
You can set this banner text from the command line using the following defaults command, which should be run with root privileges:
/usr/bin/defaults write /Library/Preferences/com.apple.loginwindow LoginwindowText "My Login Window Text Goes Here"
Being able to consistently set when lines begin and end can be challenging though, as the defaults command is not able to interpret a newline command natively. However, it is possible to set a multi-line login banner and be able to consistently set when lines begin and end. For more details, see below the jump.
Downloading individual Slack emoji using Safari
Thanks to participating in multiple Slack instances, I’ve been in the position more than once where I’ve wanted specific emoji available in one Slack to also be available in another Slack instance. While Slack themselves provide a stock set of emoji for all Slack instances, custom emoji can help you express yourself better. For example, one of my favorites on the MacAdmins Slack instance is :headdesk:, represented by this animated emoji.
While there are solutions to moving emoji en masse, I usually just want to selectively download emojis as I see them. Fortunately, there’s a relatively straightforward way to do that using Safari. For more details, see below the jump.
Disabling login to the root account by changing the root account’s user shell
While discussing various issues with a colleague, he mentioned that he was seeing the root account enabled on several machines where it should not have been. In general, the root account on macOS is not needed for system administration and should be disabled so he asked if there was a way to use the dsenableroot command to disable the root account without also needing to provide a password.
Unfortunately, disabling the root account by using the dsenableroot -d command does require providing a password as part of the command.
However, it is possible to disable logins to the root account without using the dsenableroot -d command. For more details, see below the jump.
Creating a Jamf Pro Cloud Distribution Point using Amazon Web Services
In a number of environments, Mac admins are transitioning from hosting their Mac-supporting services in on-site datacenters to now hosting them with various cloud service providers. These service providers can include Jamf Cloud, Amazon Web Services, Akamai or Rackspace.
For Mac admins using Jamf Pro, one way to start this transition is to use a Cloud Distribution Point (CDP). This allows a Jamf Pro server to use several specific cloud services’ content delivery networks to host installers and (if applicable) in-house developed applications and eBooks.
For my own needs, I was looking into setting up a CDP on Amazon Web Services (AWS). Jamf provides some documentation on how to set a CDP up with AWS, but doesn’t provide specific guidance. After some research and testing though, I was able to figure out the process for Jamf Pro 9.97x. For more details, see below the jump.
Resizing a virtual machine’s boot drive to use all available space
Every so often, it’s necessary to resize the boot drive of an existing virtual machine. The process of resizing the VM’s boot disk from outside the VM is usually pretty straightforward:
1. Shut down the VM
2. Go into the VM’s drive settings
3. Resize it to the desired size
4. Power on the VM.
However, when the VM boots up, the disk space used by the OS won’t have changed.
However, the OS can detect that there is available unallocated disk space that it isn’t using.
Fortunately, this is a correctable condition and the fix can be applied without needing to shut down the VM or boot from another drive. For more details, see below the jump.
Recent Comments