A utility to streamline updates of Swiss on GameCube SD cards.
It automatically downloads the latest (or a tagged) release asset, extracts the correct payloads, and installs them onto an SD card.
Updating Swiss manually requires downloading release archives, extracting the correct files, and merging folders.
This script automates that process with a single command.
-
Fetches latest (or
--tag/--previous-release) Swiss fromemukidid/swiss-gc. -
Devices:
- picoboot: installs
ipl.doland merges Apploader payload. - picoloader: extracts GEKKOBOOT (Picoloader) to install
ipl.dolandswiss/, then merges Apploader payload. - gcloader: installs
boot.isofrom the GCLoader package and merges Apploader payload.
- picoboot: installs
-
Apploader is always refreshed: removes
/swiss/patches/apploader.imgfirst, then merges new one. -
--hide-filesusesfatattrto hide:*.dol,*.ini,*.cli,GBI,MCBACKUP,swiss(recursive). -
Cubeboot (OffBroadway) support for picoboot via
--cubeboot. -
Cubiboot (makeo) support for picoboot & picoloader via
--cubiboot:- Installs
cubiboot.dolas/ipl.doland places Swiss DOL as/swiss-gc.dol. - When
--cubibootis not passed on these devices,/swiss-gc.dolis removed before proceeding.
- Installs
- Python 3.8+
- Internet access
- Optional:
py7zrif you want to install from a.7zSwiss release asset (pip install py7zr) - Optional
--hide-filesflag: applies FAT hidden attributes withfatattr. fatattris packaged for Debian/Ubuntu and is also available in the AUR.
No install required—run the script directly:
python3 swiss_gc_fetcher.py --helpPicoboot (standard):
python3 swiss_gc_fetcher.py --sd-root /media/SDCARD --device picobootPicoboot + CUBEBOOT (OffBroadway -> /ipl.dol, Swiss -> /boot.dol):
python3 swiss_gc_fetcher.py --sd-root /media/SDCARD --device picoboot --cubeboot --forcePicoboot + CUBIBOOT (makeo -> /ipl.dol, Swiss -> /swiss-gc.dol):
python3 swiss_gc_fetcher.py --sd-root /media/SDCARD --device picoboot --cubiboot --forcePicoloader (GEKKOBOOT -> /ipl.dol + /swiss/):
python3 swiss_gc_fetcher.py --sd-root /media/SDCARD --device picoloader --forcePicoloader + CUBIBOOT (makeo -> /ipl.dol + /swiss-gc.dol):
python3 swiss_gc_fetcher.py --sd-root /media/SDCARD --device picoloader --cubiboot --forceGCLoader (/boot.iso):
python3 swiss_gc_fetcher.py --sd-root /media/SDCARD --device gcloader --forceHide files/folders (requires fatattr):
python3 swiss_gc_fetcher.py --sd-root /media/SDCARD --device picoboot --hide-filesPinned release:
python3 swiss_gc_fetcher.py --sd-root /media/SDCARD --device picoboot --tag v0.6r1913
# or previous official: --previous-release- Mutual exclusivity:
--cubebootand--cubibootcannot be used together. - gcloader: both
--cubebootand--cubibootare ignored with a notice. - Overwrite: pass
--forceto replace existing/ipl.dol,/boot.dol,/boot.iso,/swiss-gc.dol. - Apploader: The script deletes
/swiss/patches/apploader.imgand merges the new Apploader payload every run. - Overwrite errors: re-run with
--forceor remove the files manually.
GPLv3 (same as upstream tooling).