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

  • anon5621@lemmy.ml
    link
    fedilink
    arrow-up
    14
    ·
    8 hours ago

    Webcamera also should not work btw, cause it need firmware which is not part of linux-firmware package also webcamera need color correction files ,I wrote 2 scripts which fix it,if u need webcamera let me know

      • anon5621@lemmy.ml
        link
        fedilink
        arrow-up
        9
        ·
        5 hours ago

        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 ."