From 6c70ee57806d98f39abc218b0fe47dfcb285b343 Mon Sep 17 00:00:00 2001 From: ihaveahax Date: Sun, 11 Jan 2026 16:52:46 -0600 Subject: [PATCH] update README for the python packaging update --- README.md | 51 ++++++++++++++++++++++++--------------------------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index d5c74b6..fc5c2ae 100644 --- a/README.md +++ b/README.md @@ -12,19 +12,28 @@ Installs a title directly to an SD card for the Nintendo 3DS. Originally created 3. Extract and run ci-gui. Read `windows-quickstart.txt`. ### With installed Python -Note for Windows users: Enabling "Add Python 3.X to PATH" is **NOT** required! Python is installed with the `py` launcher by default. + +> [!NOTE] +> Windows users: Enabling "Add Python 3.X to PATH" is **NOT** required! Python is installed with the `py` launcher by default. 1. [Dump boot9.bin and movable.sed](https://ihaveamac.github.io/dump.html) from a 3DS system. -2. Download the repo ([zip link](https://github.com/ihaveamac/custom-install/archive/safe-install.zip) or `git clone`) -3. Install the packages: - * Windows: Double-click `windows-install-dependencies.py` - * Alternate manual method: `py -3 -m pip install --user -r requirements-win32.txt` - * macOS/Linux: `python3 -m pip install --user -r requirements.txt` -4. Run `custominstall.py` with boot9.bin, movable.sed, path to the SD root, and CIA files to install (see Usage section). -5. Download and use [custom-install-finalize](https://github.com/ihaveamac/custom-install/releases) on the 3DS system to finish the install. +2. Install the packages: + * Windows: `py -3 -m pip install --user --upgrade https://github.com/ihaveamac/custom-install/archive/refs/heads/python-package.zip` + * macOS/Linux: `python3 -m pip install --user --upgrade https://github.com/ihaveamac/custom-install/archive/refs/heads/python-package.zip` + +To run the GUI: +* Windows: `py -3 -m custominstall.gui` +* macOS/Linux: `python3 -m custominstall.gui` + +To run the command line version: +* Windows: `py -3 -m custominstall` +* macOS/Linux: `python3 -m custominstall` ## Setup -Linux users must build [wwylele/save3ds](https://github.com/wwylele/save3ds) and place `save3ds_fuse` in `bin/linux`. Install [rust using rustup](https://www.rust-lang.org/tools/install), then compile with: `cargo build --release --no-default-features`. The compiled binary is located in `target/release/save3ds_fuse`, copy it to `bin/linux`. +Linux users must build [wwylele/save3ds](https://github.com/wwylele/save3ds) and place `save3ds_fuse` in one of these places: +* A directory in `PATH` +* In `custominstall/bin/linux` +* Set the environment variable `CUSTOM_INSTALL_SAVE3DS_PATH` to the `save3ds_fuse` binary movable.sed is required and can be provided with `-m` or `--movable`. @@ -55,9 +64,9 @@ Use `-h` to view arguments. Examples: ``` -py -3 custominstall.py -b boot9.bin -m movable.sed --sd E:\ file.cia file2.cia -python3 custominstall.py -b boot9.bin -m movable.sed --sd /Volumes/GM9SD file.cia file2.cia -python3 custominstall.py -b boot9.bin -m movable.sed --sd /media/GM9SD file.cia file2.cia +py -3 -m custominstall -b boot9.bin -m movable.sed --sd E:\ file.cia file2.cia +python3 -m custominstall -b boot9.bin -m movable.sed --sd /Volumes/GM9SD file.cia file2.cia +python3 -m custominstall -b boot9.bin -m movable.sed --sd /media/GM9SD file.cia file2.cia ``` ## GUI @@ -66,26 +75,14 @@ A GUI is provided to make the process easier. ### GUI Setup Linux users may need to install a Tk package: - Ubuntu/Debian: `sudo apt install python3-tk` -- Manjaro/Arch: `sudo pacman -S tk` - -Install the requirements listed in "Summary", then run `ci-gui.py`. +- Arch: `sudo pacman -S tk` ## Development ### Building Windows standalone -Using a 32-bit version of Python is recommended to build a version to be distributed. - -A [virtual environment](https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/#creating-a-virtual-environment) is recommended to isolate the packages from system directories. The build script `make-standalone.bat` assumes that the dependencies are in PATH. - -Install the dependencies, plus cx-Freeze. In a virtual environment, the specific Python version doesn't need to be requested. -```batch -pip install cx-freeze -r requirements-win32.txt -``` - -Copy `custom-install-finalize.3dsx` to the project root, this will be copied to the build directory and included in the final archive. - -Run `make-standalone.bat`. This will run cxfreeze and make a standalone version at `dist\custom-install-standalone.zip` +> [!WARNING] +> This section is OUTDATED and currently does not work with the Python package setup. ## License/Credits [save3ds by wwylele](https://github.com/wwylele/save3ds) is used to interact with the Title Database (details in `bin/README`).