Archive for October, 2019

Bringing back 32-bit apps to life

I have found out that 32-bit apps support in Catalina was disabled but not completely removed

Current state is enough to run some console 32-bit apps in catalina

to have it run this command:

sudo nvram boot-args=”no32exec=0″

if one wants more, like gui app, need to use some libs from mojave probably.

next is some output from console

$ uname -a

Darwin Macs-Mac-Pro.local 19.0.0 Darwin Kernel Version 19.0.0: Wed Sep 25 20:18:50 PDT 2019; root:xnu-6153.11.26~2/RELEASE_X86_64 x86_64

$ file EfiDecompress.macosx

EfiDecompress.macosx: Mach-O executable i386

$ ./EfiDecompress.macosx

EfiDecompress v1.1 -Efi File Decompress Utility

Copyright (c) 2005-2006 Intel Corporation. All rights reserved.

Usage: EfiDecompress Inputfile Outputfile

$ otool -L EfiDecompress.macosx


/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.3)

$ file /usr/lib/libSystem.B.dylib

/usr/lib/libSystem.B.dylib: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit dynamically linked shared library x86_64] [i386:Mach-O dynamically linked shared library i386]

/usr/lib/libSystem.B.dylib (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64

/usr/lib/libSystem.B.dylib (for architecture i386): Mach-O dynamically linked shared library i386

$ nvram boot-args

boot-args no32exec=0


here is how one can try to run 32-bit gui app, can’t say it’s working very well

DYLD_ROOT_PATH=/Volumes/Macintosh\ SSD/ ./CrossOver


DYLD_ROOT_PATH should specify root volume for macos mojave

Sometimes Mac break

Yeaterday I booted old Catalina DP on MY NMP, it showed update – DP beta 11.
I thought, ok, lets see.

Update got downloaded… reboot…. firmware update… reboot… mac is dead.

Mac doesn’t boot anymore.
It just starts up, no bootchime (and I have it disabled anyway), after like 5 mins it lights up connected display, displaying black screen on it (even tho at proper resolution)

That’s it, no boot, wait many hours, nothing changes.

PRAM reset – didn’t help. SMC reset – didn’t help..

A secret way to do pram reset – didn’t help. (take out cmos battery, it clears RTC, mac will boot in “EFI_BOOT_WITH_DEFAULT_PARAMETERS” mode next time, ignoring NVRAM on startup, at least in PEI mode)

Cool update I thought. At least I can swap ssd to macmini and get my data back.

The final solution was to get access to eeprom, it’s on bottom pcb, inside NMP.

Using CH341A/AsProgrammer (thanks Alex for CH341A), I was able to read and write the EEPROM chip with main bios rom.

I tried to make pram reset in hard way, wiping out content of two VSS partitions inside efi ( they hold nvram arguments).
That helped, mac booted.

Appearently it’s a bug in new fw of parsing some nvram params.

Apple, Wanna that firmware ? I still have that dump.

P.S. this is how mac looked for few days, still can boot it this way. bios rom IC is on the other side of pcb you can see.