HomePod (B238) prelinkedkernel unpacked…

HomePod (codename B238) is using a prelinkedkernel with 157 kexts in it. I extracted them all. Here’s the full list:

AGXFirmwareKextG4P.kext
AGXG4P.kext
ASPSupportNodes.kext
AUC.kext
AppleA7IOP.kext
AppleAE2Audio.kext
AppleARMIISAudio.kext
AppleARMPMU.kext
AppleARMPlatform.kext
AppleAVEH7.kext
AppleBCMWLANBusInterfacePCIe.kext
AppleBCMWLANCore.kext
AppleBSDKextStarter.kext
AppleBSDKextStarter.kext/PlugIns/AppleBSDKextStarterVPN.kext
AppleBluetooth.kext
AppleBluetoothDebug.kext
AppleBluetoothDebugService.kext
AppleCycloneErrorHandler.kext
AppleD2186PMU.kext
AppleDiagnosticDataAccessReadOnly.kext
AppleDialogPMU.kext
AppleEffaceableBlockDevice.kext
AppleEffaceableStorage.kext
AppleEmbeddedAudio.kext
AppleEmbeddedAudio.kext/PlugIns/AppleCX21810Audio.kext
AppleEmbeddedAudio.kext/PlugIns/AppleNitrogenAudio.kext
AppleEmbeddedLightSensor.kext
AppleEmbeddedNewAccelerometer.kext
AppleEmbeddedPCIE.kext
AppleEmbeddedTempSensor.kext
AppleEmbeddedUSB.kext
AppleEmbeddedUSBHost.kext
AppleExternalAmpController.kext
AppleFSCompressionTypeZlib.kext
AppleH6CameraInterface.kext
AppleH7ADBE0.kext
AppleHIDKeyboard.kext
AppleHIDKeyboardEmbedded.kext
AppleInterruptController.kext
AppleJPEGDriver.kext
AppleM2ScalerCSC.kext
AppleM68Buttons.kext
AppleMatch.kext
AppleMobileApNonce.kext
AppleMobileFileIntegrity.kext
AppleMultitouchSPI.kext
AppleNANDConfigAccess.kext
AppleOnboardSerial.kext
ApplePMGR.kext
ApplePeppyDriver.kext
AppleS5L8920XPWM.kext
AppleS5L8940XDWI.kext
AppleS5L8940XI2C.kext
AppleS5L8960X.kext
AppleS5L8960XDART.kext
AppleS5L8960XGPIOIC.kext
AppleS5L8960XUSB.kext
AppleS5L8960XWatchDogTimer.kext
AppleSEPCredentialManager.kext
AppleSEPKeyStore.kext
AppleSEPManager.kext
AppleSamsungPKE.kext
AppleSamsungSPI.kext
AppleSamsungSerial.kext
AppleSynopsysMIPIDSI.kext
AppleSynopsysOTGDevice.kext
AppleT7000.kext
AppleT7000CLPC.kext
AppleT7000PCIe.kext
AppleT7000PMGR.kext
AppleT7000SOCTuner.kext
AppleT7000SmartIO.kext
AppleUSBAudio.kext
AppleUSBCDC.kext
AppleUSBCommon.kext
AppleUSBDeviceAudioController.kext
AppleUSBDeviceMux.kext
AppleUSBDeviceNCM.kext
AppleUSBECM.kext
AppleUSBEthernet.kext
AppleUSBEthernetDevice.kext
AppleUSBEthernetHost.kext
AppleUSBHSIC.kext
AppleUSBHostT7000.kext
AppleUSBNCM.kext
AppleUSBNetworking.kext
AppleVXD393.kext
EncryptedBlockStorage.kext
FairPlayIOKit.kext
HFS.kext
IO80211Family.kext
IOAVFamily.kext
IOAcceleratorFamily.kext
IOAcceleratorFamily2.kext
IOAccessoryManager.kext
IOAudio2Family.kext
IOAudioCodecs.kext
IOCECFamily.kext
IOCryptoAcceleratorFamily.kext
IODARTFamily.kext
IOHDCPFamily.kext
IOHDIXController.kext
IOHDIXController.kext/PlugIns/AppleDiskImagesFileBackingStore.kext
IOHDIXController.kext/PlugIns/AppleDiskImagesKernelBacked.kext
IOHDIXController.kext/PlugIns/AppleDiskImagesRAMBackingStore.kext
IOHDIXController.kext/PlugIns/AppleDiskImagesReadWriteDiskImage.kext
IOHDIXController.kext/PlugIns/AppleDiskImagesUDIFDiskImage.kext
IOHIDFamily.kext
IOHIDFamily.kext/PlugIns/IOHIDEventDriver.kext
IOHIDFamily.kext/PlugIns/IOHIDEventDriverSafeBoot.kext
IOImageLoader.kext
IOMobileGraphicsFamily.kext
IONetworkingFamily.kext
IOPCIFamily.kext
IOReportFamily.kext
IOSerialFamily.kext
IOSkywalkFamily.kext
IOSlaveProcessor.kext
IOSlowAdaptiveClockingFamily.kext
IOStorageFamily.kext
IOStreamFamily.kext
IOSurface.kext
IOTextEncryptionFamily.kext
IOTimeSyncFamily.kext
IOUSBDeviceFamily.kext
IOUSBHostFamily.kext
IOUSBHostFamily.kext/PlugIns/AppleUSBEHCI.kext
IOUSBHostFamily.kext/PlugIns/AppleUSBHostCompositeDevice.kext
IOUSBHostFamily.kext/PlugIns/AppleUSBHostMergeProperties.kext
IOUSBHostFamily.kext/PlugIns/AppleUSBHostPacketFilter.kext
IOUSBHostFamily.kext/PlugIns/AppleUSBHostUserClient.kext
IOUSBHostFamily.kext/PlugIns/AppleUSBHub.kext
IOUSBHostFamily.kext/PlugIns/AppleUSBOHCI.kext
IOUserEthernet.kext
IOgPTPPlugin.kext
L2TP.kext
LSKDIOKit.kext
LSKDIOKitMSE.kext
Libm.kext
LightweightVolumeManager.kext
PPP.kext
PPTP.kext
ProvInfoIOKit.kext
RTBuddy.kext
Sandbox.kext
System.kext/PlugIns/BSDKernel.kext
System.kext/PlugIns/IOKit.kext
System.kext/PlugIns/Libkern.kext
System.kext/PlugIns/MACFramework.kext
System.kext/PlugIns/Mach.kext
System.kext/PlugIns/Private.kext
System.kext/PlugIns/Unsupported.kext
apfs.kext
corecapture.kext
corecrypto.kext
mDNSOffloadUserClient-Embedded.kext
pthread.kext

Some of the filenames may lead to something that you didn’t know already. For example. AppleCX21810Audio.kext points to the Conexant CX21810 codec.

I also extracted the kernel. A branch of the High Sierra (v17.0.0) codebase. Three days newer than the currently available High Sierra Developer Preview (17A315i).

Note: The prelinkedkernel is LZSS compressed, and you need to skip the first 51 bytes!

Advertisements

2 thoughts on “HomePod (B238) prelinkedkernel unpacked…

  1. Nice job.
    So they ported macOS to A8 chip.
    Only a matter of time before we see MacBook’s with AXX chips.
    Better start off-loading remaining INTC stock slowly 🙂

  2. The first thing that came into my mind
    When I read: AppleEmbeddedAudio.kext / PlugIns / AppleCX21810Audio.kext

    Was that it was a conexant codec, just below you confirmed it.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s