About
Yanu is a Nintendo Switch ROM updater made to be compatible with Skyline. The supported platforms currently consist of Android w/Termux, Linux and Windows.
The software is to act as sort-of a band-aid until Skyline supports Updates/DLCs natively.
Warning - Doesn't support DLCs.
Precompiled binaries are available from the GitHub releases page.
Supported File Types
- NSP
- XCI
- NSZ
Note - Support for others might be added.
Installation
Android w/Termux
Check out Video Tutorial by Zerokimchi for Android. (outdated command in the video)
- Download & Install
Termux
from F-droid. - Copy-paste the following in
Termux
and hit enter:
bash <(curl -L https://raw.githubusercontent.com/nozwock/yanu/main/scripts/yanu-bootstrap-termux.sh)
Relevant resources:
- MiXplorer XDA Forum
- MiXplorer GDrive download link
Linux
- Make sure dependencies required to build hactool/hacPack are installed on your system.
git gcc make binutils libjpeg
- Download & give executable permission to
yanu
:chmod +x yanu-x86_64-unknown-linux-musl
Windows
- Just download & run.
Note
Since the builds are not code-signed, some AVs might false positively flag the program as malicious.
Not much can be done about it since I'm not willing to pay for those expensive certs.
Use these with common sense if you're paranoid ig 😩 -
Usage (CLI only)
View CLI help with:
yanu --help
For updating a ROM:
yanu --keyfile '/path/to/keyfile' update --base '/path/to/base' --update '/path/to/update'
Set a new Roms Directory
(Used in update-prompt
) with:
yanu config --roms-dir '/new/path/here'
For unpacking ROMs:
yanu unpack --base '/path/to/base' --update '/path/to/update'
OR, for only unpacking a single ROM:
yanu unpack --base '/path/to/base'
For repacking unpacked ROM data:
yanu repack --controlnca './base+update.bylies/patchdata/123456.nca' --romfsdir './base+update.bylies/romfs' --exefsdir './base+update.bylies/exefs'
Note
- The above examples were for *nix systems, adapt them appropriately for Windows (Replacing
/
with\
and with proper path to the executable).- Control NCA is usually the NCA around ~1MiB in size.
- Yanu will only accept Control Type NCA, so you can atleast figure out the Type by trial & error incase it's too hard to guess.
Directories Used
Used for | Windows | Linux |
---|---|---|
Keys | %USERPROFILE%\.switch |
$HOME/.switch |
Cache | %LOCALAPPDATA%\com.github.nozwock.yanu |
$HOME/.cache/com.github.nozwock.yanu |
Config | %APPDATA%\com.github.nozwock.yanu |
$HOME/.config/com.github.nozwock.yanu |
Special Thanks
- hactool, hacPack, hac2l and hactoolnet used internally for the heavy lifting.
- @Pipetto-crypto for the
aarch64-linux
hac2l
binary. - Willfaust's script for reference.