diff --git a/firmware/Makefile b/firmware/Makefile index 0f4fc79..9e8e772 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -1,12 +1,21 @@ SHELL = /bin/bash -DMG=osxupd10.11.2.dmg +DMG:=osxupd10.11.2.dmg OSX_DRV:=AppleCameraInterface -RANGE=420107885-421933300 -URL=https://support.apple.com/downloads/DL1849/en_US/$(DMG) +OSX_DRV_DIR:=System/Library/Extensions/AppleCameraInterface.kext/Contents/MacOS -FILE=./System/Library/Extensions/AppleCameraInterface.kext/Contents/MacOS/$(OSX_DRV) -FW_DIR=/usr/lib/firmware/facetimehd +RANGE:=420107885-421933300 + +URL:=https://support.apple.com/downloads/DL1849/en_US/$(DMG) +FILE:=$(OSX_DRV_DIR)/$(OSX_DRV) + +ifneq ("$(wildcard /usr/lib/firmware)", "") + FW_DIR_BASE:="/usr/lib/firmware" +else + FW_DIR_BASE:="/lib/firmware" +endif + +FW_DIR:="$(FW_DIR_BASE)/facetimehd" all: $(OSX_DRV) @./extract-firmware.sh -x "$(OSX_DRV)" @@ -14,14 +23,14 @@ all: $(OSX_DRV) $(OSX_DRV): @# Ty to wvengen, see: https://github.com/patjak/bcwc_pcie/issues/14#issuecomment-167446787 @echo "Dowloading the driver, please wait..." - @(curl -s -L -r "$(RANGE)" "$(URL)" | xzcat -q | cpio --format odc -i -d "$(FILE)") &> /dev/null || true + @(curl -s -L -r "$(RANGE)" "$(URL)" | xzcat -q | cpio --format odc -i -d "./$(FILE)") &> /dev/null || true @mv "$(FILE)" . - @rm -Rf "./System" + @rmdir -p "$(OSX_DRV_DIR)" install: @echo "Copying firmware into '$(DESTDIR)/$(FW_DIR)'" - @mkdir -p "$(DESTDIR)/$(FW_DIR)" - @cp -f "firmware.bin" "$(DESTDIR)/$(FW_DIR)" + @install -dm755 "$(DESTDIR)/$(FW_DIR)" + @install -m644 "firmware.bin" "$(DESTDIR)/$(FW_DIR)/firmware.bin" .PHONY: clean clean: diff --git a/firmware/extract-firmware.sh b/firmware/extract-firmware.sh index 408b300..de07fd2 100755 --- a/firmware/extract-firmware.sh +++ b/firmware/extract-firmware.sh @@ -200,7 +200,7 @@ decompress_dmg() msg2 "Extracting upadate package..." tail -c +189001729 "5.hfs" | head -c 1469917156 > OSXUpd.xar rm -f "5.hfs" - exit 1 + msg2 "Uncompressing XAR archive..." xar -x -f "OSXUpd.xar" rm -f "OSXUpd.xar"