https://github.com/jrmastermodelbuilder/mindstorms-fantom-drivers-mac-install
A script to install the LEGO Mindstorms Fantom drivers on semi-modern macOS versions (through macOS 10.14 Mojave).
https://github.com/jrmastermodelbuilder/mindstorms-fantom-drivers-mac-install
installer lego lego-ev3 lego-mindstorms lego-nxt mac macos macosx script
Last synced: 12 days ago
JSON representation
A script to install the LEGO Mindstorms Fantom drivers on semi-modern macOS versions (through macOS 10.14 Mojave).
- Host: GitHub
- URL: https://github.com/jrmastermodelbuilder/mindstorms-fantom-drivers-mac-install
- Owner: JrMasterModelBuilder
- License: mpl-2.0
- Created: 2017-04-18T01:24:52.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2023-02-24T04:54:42.000Z (about 2 years ago)
- Last Synced: 2025-03-29T05:51:12.439Z (about 1 month ago)
- Topics: installer, lego, lego-ev3, lego-mindstorms, lego-nxt, mac, macos, macosx, script
- Language: Shell
- Homepage:
- Size: 8.79 KB
- Stars: 11
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# LEGO Mindstorms Fantom Drivers Mac Install Script
A script to install the LEGO Mindstorms Fantom drivers on semi-modern macOS versions (through macOS 10.14 Mojave).
Since macOS 10.15 Catalina dropped support for 32-bit, installing on newer versions of macOS is pointless.
## Overview
The trouble with the native installer package, is that the installer tries to install a legacy codeless kernel extension named `Fantom.kext`. There are several problems with this.
- `Fantom.kext` depends on the legacy 32-bit `com.apple.kernel.iokit` which has not shipped with macOS for some time.
- `Fantom.kext` has no code signature, so it cannot be loaded on 10.10+ without disabling security features.
- The installer attempts to install to `/System/Library/Extensions/Fantom.kext`, which is a directory protected by System Integrity Protection, or SIP, so it fails to even install on 10.11+ without SIP being disabled.
- It also installs an unnecessary `StartupItems` to try to load the kernel extension, which is useless since it cannot be loaded anyway.Ultimately, this kernel extension appears to be completely unnecessary, as nothing actually appears to fail without it. The other parts of the driver are however needed to communicate with the Mindstorms brick.
- `/Library/Application Support/National Instruments`
- `/Library/Frameworks/Fantom.framework`
- `/Library/Frameworks/VISA.framework`
- `/Library/Preferences/NIvisa`This script will manually install only the necessary files from the official PKG installer, preserving the correct permissions, and ignoring the useless files.
## Usage
1. Download the `legodriverinstaller.sh` script.
2. Obtain the official PKG installer file.
3. Open a terminal to the directory of the `legodriverinstaller.sh` script.
4. Give the script executable permissions so it can be run.
```bash
chmod +x ./legodriverinstaller.sh
```
5. Run the script, passing the path to the PKG installer.
```bash
sudo ./legodriverinstaller.sh 'MAC legodriver.pkg'
```
6. Profit.## License
Copyright (c) 2017 JrMasterModelBuilder
Licensed under the Mozilla Public License, v. 2.0.