Manuelles Anwenden der Mac-Firmware-Updates

3

Vor kurzem wurde eine wichtige Änderung bezüglich der Installation der Mac-Firmware eingeführt.

Apple bietet keine aktuellen Standalone-Firmware-Aktualisierungsprogramme mehr an. ( Ältere Firmwares sind noch verfügbar. (Beachten Sie den Zusatz: "Dieser Artikel wurde archiviert und wird von Apple nicht mehr aktualisiert.")

Stattdessen muss man diesen Rat beachten: Aktualisieren Sie MacOS auf einem Mac in Ihrer Institution:

Wenn Sie der Systemadministrator Ihres Unternehmens oder Ihrer Bildungseinrichtung sind, verwenden Sie diese Methoden, um macOS High Sierra zu aktualisieren.

Bei der Aktualisierung oder Aktualisierung von macOS empfiehlt Apple kein monolithisches System-Imaging.

Monolithisches System-Imaging kann nur zur erneuten Installation von macOS verwendet werden, nicht zum Upgrade auf eine neue macOS-Version.   Wenn Sie versuchen, ein monolithisches Systemabbild zu verwenden, erforderliche Firmware-Updates fehlen bei der Installation. Dadurch wird der Mac in einem nicht unterstützten und instabilen Zustand betrieben. Sie können Systemabbilder verwenden, um das vorhandene Betriebssystem auf einem Mac neu zu installieren.

Das scheint zu bedeuten, dass die Antwort hier gegeben ist: Kann die MacBook-Firmware erneut installiert werden? ist möglicherweise nicht mehr für Firmware-Upgrades (für APFS erforderlich) in macOS High Sierra 10.13 verfügbar innerhalb das Installationsprogramm für High Sierra und dass sie nur angewendet werden während der Installationsprozess.

Wie können diese Firmware-Updates aus dem Installationsprogramm oder dem System extrahiert und manuell angewendet werden? Gibt es andere Auslöser, um die neueste Firmware auf betroffenen Macs anzuwenden?

LangLangC
quelle

Antworten:

4

Es ist erforderlich, das Installationsprogramm für macOS High Sierra zu erhalten. Sobald dies in / Applications verfügbar ist, können Sie das folgende Skript verwenden, um die Firmware-Daten zu extrahieren und Skripts zu installieren, um ein eigenständiges Firmware-Installationspaket zu erstellen:

#!/bin/sh
# Based on investigations and work by Pepijn Bruienne
# Expects a single /Applications/Install macOS High Sierra*.app on disk    
#
# 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 copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

IDENTIFIER="com.foo.FirmwareUpdateStandalone"
VERSION=1.0

# find the Install macOS High Sierra.app and mount the embedded InstallESD disk image
echo "Mounting High Sierra ESD disk image..."
/usr/bin/hdiutil mount /Applications/Install\ macOS\ High\ Sierra*.app/Contents/SharedSupport/InstallESD.dmg

# expand the FirmwareUpdate.pkg so we can copy resources from it
echo "Expanding FirmwareUpdate.pkg"
/usr/sbin/pkgutil --expand /Volumes/InstallESD/Packages/FirmwareUpdate.pkg /tmp/FirmwareUpdate

# we don't need the disk image any more
echo "Ejecting disk image..."
/usr/bin/hdiutil eject /Volumes/InstallESD

# make a place to stage our pkg resources
/bin/mkdir -p /tmp/FirmwareUpdateStandalone/scripts

# copy the needed resources
echo "Copying package resources..."
/bin/cp /tmp/FirmwareUpdate/Scripts/postinstall_actions/update /tmp/FirmwareUpdateStandalone/scripts/postinstall
# add an exit 0 at the end of the script
echo "" >> /tmp/FirmwareUpdateStandalone/scripts/postinstall
echo "" >> /tmp/FirmwareUpdateStandalone/scripts/postinstall
echo "exit 0" >> /tmp/FirmwareUpdateStandalone/scripts/postinstall
/bin/cp -R /tmp/FirmwareUpdate/Scripts/Tools /tmp/FirmwareUpdateStandalone/scripts/

# build the package
echo "Building standalone package..."
/usr/bin/pkgbuild --nopayload --scripts /tmp/FirmwareUpdateStandalone/scripts --identifier "$IDENTIFIER" --version "$VERSION" /tmp/FirmwareUpdateStandalone/FirmwareUpdateStandalone.pkg

# clean up
/bin/rm -r /tmp/FirmwareUpdate
/bin/rm -r /tmp/FirmwareUpdateStandalone/scripts

Dies ist Teil der Skripte, die möglicherweise für macOS-Administratoren von Interesse sind von dem Munki-Projekt .

LangLangC
quelle
1
Großartige Forschung hier. Wir planen, die vollständigen Installationsprogramme an alle Macs zu verteilen (lokale Caching-Server mit 5 oder mehr Macs in einem Netzwerksegment zu nutzen) und dann die StartOSinstall-Helfer mit Skripts zu versehen.
bmike