My parents have this old 2015 MacBook Air that they wanted to use but couldn’t due to no security updates and slow running. I convinced them to let me load up fedora on it instead of junking it. They only really need it for some basic document writing, email, and web surfing so I figured this is perfect for them.
Made a bootable drive with Fedora 43 work station on it, figured gnome would be the most Apple like spin. Everything went super smooth until I realized that the WiFi drivers weren’t installed lol. I also didn’t have a Ethernet adapter for usb-a so I had to overnight it to me while my parents swore I bricked their Mac all night. Got the adapter this AM, hooked it up, installed the drivers and other necessary tweaks, and viola! This Mac has new life.
So far my parents are liking it and understanding it (even though my mom seems more excited about the snoopy wallpaper and Firefox theme, lol). Getting their emails on thunderbird was driving me crazy. Nothing to do with thunderbird, they just didn’t know their passwords smh. All in all not bad. To new Linux converts


Oh that would be great if you could. I’d appreciate it!
First one
#!/usr/bin/env bash set -euo pipefail URL="https://updates.cdn-apple.com/2019/cert/041-88431-20191011-e7ee7d98-2878-4cd9-bc0a-d98b3a1e24b1/OSXUpd10.11.5.dmg" RANGE=204909802-207733123 OSX_DRV="AppleCameraInterface" OSX_DRV_DIR="System/Library/Extensions/AppleCameraInterface.kext/Contents/MacOS" FILE="$OSX_DRV_DIR/$OSX_DRV" DRV_HASH="f56e68a880b65767335071531a1c75f3cfd4958adc6d871adf8dbf3b788e8ee1" FW_HASH="e3e6034a67dfdaa27672dd547698bbc5b33f47f1fc7f5572a2fb68ea09d32d3d" OFFSET=81920 SIZE=603715 WORKDIR=$(mktemp -d) cd "$WORKDIR" echo "Downloading macOS driver..." curl -k -L -r "$RANGE" "$URL" | xzcat -qq -Q | cpio --format odc -i -d "./$FILE" &> /dev/null || true mv "$FILE" . echo "Extracting firmware..." dd bs=1 skip=$OFFSET count=$SIZE if=./$OSX_DRV of=./firmware.bin.gz &> /dev/null gunzip ./firmware.bin.gz echo "$DRV_HASH $OSX_DRV" > firmware.sha256 echo "$FW_HASH firmware.bin" >> firmware.sha256 sha256sum -c firmware.sha256 TARGET_DIR="/lib/firmware/facetimehd" echo "Installing firmware to $TARGET_DIR (requires sudo)..." sudo mkdir -p "$TARGET_DIR" sudo cp firmware.bin "$TARGET_DIR/" echo "Done. Firmware installed."and second
#!/bin/bash set -e BOOTCAMP_ZIP_URL="https://download.info.apple.com/Mac_OS_X/031-30890-20150812-ea191174-4130-11e5-a125-930911ba098f/bootcamp5.1.5769.zip" TMPDIR=$(mktemp -d) FIRMWARE_DIR="/lib/firmware/facetimehd" DAT_FILES=( "9112_01XX.dat:1663920:33060:479ae9b2b7ab018d63843d777a3886d1" "1771_01XX.dat:1644880:19040:a1831db76ebd83e45a016f8c94039406" "1871_01XX.dat:1606800:19040:017996a51c95c6e11bc62683ad1f356b" "1874_01XX.dat:1625840:19040:3c3cdc590e628fe3d472472ca4d74357" ) for cmd in unzip unrar dd md5sum curl; do if ! command -v $cmd &> /dev/null; then echo "Missing required command: $cmd" exit 1 fi done cd "$TMPDIR" echo "Downloading Boot Camp Support Software..." curl -L -o bootcamp.zip "$BOOTCAMP_ZIP_URL" echo "Extracting Boot Camp package..." unzip bootcamp.zip cd BootCamp/Drivers/Apple/ echo "Extracting AppleCamera64.exe..." unrar x AppleCamera64.exe if [[ ! -f "AppleCamera.sys" ]]; then echo "AppleCamera.sys not found!" exit 1 fi cd "$TMPDIR" echo "Extracting calibration data..." for entry in "${DAT_FILES[@]}"; do IFS=":" read -r filename skip count expected_md5 <<< "$entry" echo "Creating $filename..." dd bs=1 skip="$skip" count="$count" if=BootCamp/Drivers/Apple/AppleCamera.sys of="$filename" status=none actual_md5=$(md5sum "$filename" | awk '{print $1}') if [[ "$actual_md5" != "$expected_md5" ]]; then echo "Checksum mismatch for $filename (expected $expected_md5, got $actual_md5)" exit 1 fi done echo "Copying .dat files to firmware directory..." sudo mkdir -p "$FIRMWARE_DIR" sudo cp *.dat "$FIRMWARE_DIR" echo "Reloading facetimehd module..." sudo modprobe -r facetimehd || true sudo modprobe facetimehd echo "Done. Please Reboot ."