Consumer Tech Sustainability

Upcycling: More from less

Faster, less energy more utility

The ethical case for hacking is clear when MacOS is running on old Intel PCs.

I realised by keeping a dedicated sat-nav alive with the latest maps, this is the case for iPhones and other precious, old gear.

Is a better UX possible on a PC?

Sustainability awareness is prevalent, yet hardware is absent from the conversation. By exploiting modern software on an old desktop, there are dramatic benefits to upcycling.

After experimentation, this PC is surprisingly cooler, yet faster:

Device Single-Core Multi-Core
iMac 12,2 3629 12844
Win10 3485 10757

General purpose computing

General purpose computing is one of the real ways we are tangibly wealthier.

We own a lot of tech. Our devices, purchased after rigorous research are often still fit for purpose long after the manufacturer's support period. We have functioning sat-nav, analogue to digital video, phones, laptops and loads of high-end consumer components – all working, prematurely upgraded.

Still-healthy consumer tech

Our buying habits hit single function device companies hard. Whilst these devices are perfectly good at their job, convergence devices are obviously of higher utility.

Recently, our sat-nav confessed to no future updates. The manufacturer has its termination on the horizon. This is unfortunate, it works well, but a sat-nav without updates is less useful.

The death of support

When companies issue the death of support, devices become ours. You can't take an EULA seriously if they are no longer applicable. As an opportunity to explore what the silicon is still capable of, I learned about broader trends. And, Apple's future business model.

A new lease of life

Setting out to keep the sat-nav up-and-running on an old desktop might seem pointless. Capacitive touch, better fidelity connectivity, Google maps. Even iOS has reasonable turn-by-turn Maps nowadays.

Originally, the desktop was running Win7. With a seamless upgrade to Win10, it is frustrating that TomTom would retire our faithful copilot.

I started to explore the options. There were some dead-ends.

Who is this guide for?

This is not a buying guide. It is aimed at those finding their way to research a viable solution.

This guide is aimed at anyone wanting an overview of the hurdles associated with upcycling to macOS.

Work through these issues. Expect problems. Record progress.

Failsafe: Windows 10 in MacOS

With Parallels 13 you can connect legacy devices to a VM. Installation isn't complicated.

First: alleviate the Transport Agent

Using the Transport Agent in Parallels 13 it's important to save mounting anything extraneous before in a VM if you think disk space and performance is going to be an issue.

To interpret disk space SpaceSniffer is clear and snappy.

To interpret disk space SpaceSniffer is clear and snappy

The cleanup:

  • Internet files: ~\AppData\Local\Microsoft\Windows\Temp
  • C:\Windows\System32\DriverStore @1.8gb
    • Driver staging (see below): pnputil.exe -d oem.inf
  • C:\Windows\Installer @1.2gb
  • C:\Windows\winsxs\Backup @1gb
  • C:\CrystalDiskMark00D02362 @1gb
  • C:\Windows\Microsoft.NET @800mb
  • C:\Windows\System32\config @600mb
  • C:\Windows\SoftwareDistribution @600mb
  • C:\ProgramData\Microsoft\Search @370mb
  • C:\ProgramData\Skype @326mb

Be aware that Windows duplicates system files across the drive.

The "Application Data" folder, it is still a Junction, and it is only a pointer to another folder. Source

Running CCleaner portable isn't that helpful – but the GUI can purge some entries quasi-automatically.

Painless extraction

Applications and their registry entries can be hard to completely remove. Revo does a great job to scan and catch detritus. Most of the installed software isn't required to run in the VM. So should be uninstalled.

Uninstalled with Revo: * Atom * Apple Application Support * Cyberlink DVD player
* Easeus Partition * Foxit ~user\AppData\Local\Temp @1gb
* iTunes/iCloud * Simplenote * Scratch * Opera * Windows Live Essentials * ...and after migrating the VM: Parallels transport agent

Driver staging

Corroborate relevant drivers with DriverView.

Removing a bloated driver repository in Windows can be key to reclaiming disk space.

You can also take this opportunity to interpret what is actually happening on Windows with pnputil.exe -d oem.inf or the GUI: driverstoreexplorer.

You'll need an elevated command prompt.

This process reclaimed ~90gb of disk space for Parallels.

Desired outcome

With a pile of spare components, I wanted the upgrade to free up devices and simplify.

Proof of concept: 120GB SSD:

  • macOS booting in from a conservative partition
  • Parallels 13 + Windows7 VM legacy devices
  • Clover boot loader, stable UEFI

Hybrid PC running macOS: 500GB SSD:

  • macOS booting as the main OS
    • iTunes, FaceTime & day-to-day work files
    • Parallels 13 with Microsoft Office
  • Working sat-nav and other legacy devices
  • Clover boot loader, stable UEFI
  • Return the proof of concept 120GB SSD into a portable again.
  • Optional dual boot (Intel VT-x Windows10 VM preferable).

Backup HDD:

  • Backup working Windows10 partition
  • Backup Windows7 VM
  • Bootable macOS image

Initial research

Priorities

First choice is "High Sierra", as stability tops bleeding-edge problems. Although Catalina looks interesting, I was already in unknown territory.

Display

Expecting the graphics card to be an issue, I looked into people's experience.

AMD Radeon HD 5700 Series

  • 68B8
  • 2010/03/26
  • GDDR5, 1024 MB

This research yielded some known issues:

  • https://www.reddit.com/r/hackintosh/comments/67pc5b/sierra_doesnt_fully_recognise_my_radeon_hd_5750/

...and for networking:

  • RTL81xx networking: http://lnx2mac.blogspot.com/p/realtekrtl81xx-osx-driver.html

Involuntary APFS upgrade

High Sierra installs to to an APFS partition by default. Therefor the Clover boot loader requires APFS.efi in EFI/CLOVER/drivers64UEFI.

Sans-APFS is complicated.

What is APFS?
  • the primary file system for 64bit environments.
  • introduced in 2017 to iOS 10.3 and later to macOS.
  • uses TRIM command by default, for performance/management
  • Clones allow revision via efficient deltas
  • Snapshots for instancing
  • native encryption
  • large file ceiling
  • Crash consistency – by writing new metadata records, referencing new entries and releasing old ones.
  • Checksums. Read about the detail.
What is Clover?
  • a bootloader for PCs running macOS.
  • the accompanying configurator helps iterate through Config.plist settings.
  • ideal for UEFI devices

First attempt

The machine

ASUS P8P67m, i7 2700K, 8GB RAM on a 120GB Corsair SSD.

The process

MacOS High Sierra 10.13.1 (17B1003)

Some system configuration in the UEFI (which replaces the BIOS) is required.

The Unibeast 8.3.2, installation helped me establish a sense of what to expect.

Unibeast

MultiBeast is an all-in-one post-installation tool Source

Unibeast simplifies setup choices and a destination target. It hides complexity with a cutesy interface. I recommended reading the text summary of the Clover settings applied at the end. Especially, if you're unfamiliar with the Clover configurator.

Making a Unibeast installer

  • Wipe the USB key from Terminal: sudo diskutil partitionDisk /dev/disk2 GPT JHFS+ macos R Source
  • This avoids errors such as: On "unibeast" "apfs.efi failed" during rewrite.
  • Copy Multibeast onto the USB device.
  • Initial settings:

    • Choose High Sierra from x (if from x).
    • UEFI boot mode
    • no legacy ATI <4xxx

High Sierra sources

Unibeast relies on the source being downloaded to the official location: /Applications/High Sierra.app from:

High Sierra on macOS

  • or a myriad of unsupported sources.
  • or by connecting to the repository with an unverified utility.

High Sierra

System & Multibeast config

disable USB 3.0 in BIOS

Before booting into the installer, some specifics are recommended that change from board to board. Hit DEL key on POST to change into Advanced Mode.

Manually tweak the UEFI settings:

  • VT-d, disabled
  • CFG-Lock, disabled
  • Secure Boot Mode, disabled
  • Type, Other OS
  • IO Serial Port, disabled
  • XHCI Handoff, Enabled
  • To avoid conflict, disable USB 3.0 in BIOS for the install (AWARD BIOS conditional: 6 series or x58), Source.
  • For installation, the SSD should be connected to the SATA Intel controllers (grey):

Biggest thing that helped me was making sure the drive is connected to one of the Intel controllers (grey). I'm running on 10.12.2 with no issue currently Source

  • Multibeast config:

    • Audio: ALC892.
    • USB 3.0:
    • Disk: Intel Generic
    • Misc: FakeSMC plugins
    • Network: RTL8111 v2.2.2
    • USB:
      • USBInjectAll RehabMan
      • 3rd Party USB 3.0
    • Bluetooth: Atheros
    • Core GFX fixup AKA Whatevergreen
    • SSDT: SandyBridge core i7
    • Profile: iMac 14,2
      • Recommended profile 12.2 Source

Conclusion, first attempt

This took over an hour to install... then hang. Although EFI/CLOVER/drivers64UEFI wasn't present. Read about that here.

High Sierra 10.13.6

The most straightforward installation: Obrigado amigo Maldon!

Community guide

Follow the Olarila guide. Or this one.

Caveat emptor

Olarila uploaded an unverified source.

Onboard audio

  • Audio driver (Realtek ALC892): Doesn't function.
  • patch AppleHDA kext like this.
    • the flag should be: 5 not 7.
    • reboot, although doesn't appear to work.
  • Acpi (Advanced Configuration and Power Interface):
    • FixHDA
    • SSDT: Use SystemIO

Clover Configurator

  • Follow the instructions to use AppleAlc via DPCI Manager.

  • Download: CLOVER.SERIES.CHIPSET.zip

    • Paste edited DSDT.aml
  • Load Clover Configurator

    • mount the USB's EFI
    • CLOVER.SERIES.CHIPSET.zip
  • Added iMac14,2 system info

  • Click: Apple, shut down or restart. Neither work!

SSD overheating?

  • AJA System Test is installed on x official
  • Install Intel Temp monitor
    • "SSD" "overheated" "Olarila"
    • this is unlikely as the physical disk is cold to touch.
      • RED VARS in UEFI on POST.
        • Why are mobo sensors returning extreme value if the device isn't hot?

Display tweaks

A 30" monitor has tiny system fonts, that are unreadable by default.

  • Excellent webpage zoom utility (@133% on 30" Dell monitor): https://addons.mozilla.org/en-US/firefox/addon/fixed-zoom/
  • UNTESTED system zoom utility: https://www.bresink.com/osx/0TinkerTool/download.php
    • alternatively, consider: defaults write NSGlobalDomain AppleDisplayScaleFactor 1.5or ⌘J and scaling the icons to suit. Source
    • Icons: http://osxdaily.com/2014/07/27/mac-os-x-system-icons-location/

Boot without USB key

After intallation, Olarila, High Sierra 10.13.6 boots and loads "Mac OS X" from the UEFI partition on the USB key.

How to recover POST failure

Scrambled VRAM causes POST failure (Power On Self-Test), and won't reboot. This causes an audio alert. The ASUS P6P67-m error code is: one long beep and 3 short beeps.

Don't panic.

  • You might need to clear the CMOS, simply walk through this, although a you just need a good POST.
  • OR, remove the graphics board. After I removed the Quadro FX 4600 from the PCIe slot, it was fine.
  • I confirmed everything worked by putting in an ATI card and rebooting. Good POST.
  • Remove ATI.
  • Reinsert Nvidia.
  • Nvidia booted perfectly fine after this.

How to remove "Mac OS X" from UEFI/BIOS

Use UEFI interactive shell v2.2

You'll need to familiarise yourself with the UEFI interactive shell v2.2 commands.

  • To remove "Mac OS X" you'll need to identify the device.
  • example:

    • map ls in BLK0:blank USB.
    • map ls in FS4:Recovery partition.
    • map ls in FS3:HS macOS partition.
    • map ls in FS2: looks pretty good
  • then bcfg boot rm 2 Source

  • exit

  • remove USB key and reboot.

  • now boots correctly without USB into Clover.

The process

MacOS High Sierra 10.13.1 (17B1003)

Some

Upgrade ethics

key ideas

  • sustainability in consumer tech: - strategy to keep devices healthy - the premature death of mobile (is terrible). - hackintosh for old PC gear is great - about their business model - etc... - learning outside main competency

Conclusion

Breathing life into these devices had an excellent outcome, revealing the ethical case of upcycling.