Makerom: Difference between revisions
mNo edit summary |
m grammar |
||
Line 8: | Line 8: | ||
}} | }} | ||
makerom is a tool which can be used to | makerom is a tool which can be used to create [[NCCH]], [[NCSD|CCI]], and [[CIA]] files. | ||
== Using Makerom == | == Using Makerom == | ||
=== Command line === | === Command line === | ||
Since CCI and CIA are NCCH containers, makerom was built so CXIs could be built stand alone | Since CCI and CIA are NCCH containers, makerom was built so CXIs could be built stand alone or straight into a container format. It is also possible rebuild CXIs from an ELF file. As a result there are many combinations which can be used; for simplicity, specific functions will be explained by breaking them up into argument groups: | ||
'''Creating CXIs from scratch:''' | '''Creating CXIs from scratch:''' | ||
Line 48: | Line 48: | ||
=== Creating RSF files === | === Creating RSF files === | ||
Inspired by Nintendo's format for their makerom, | Inspired by Nintendo's format for their makerom, a yaml configuration file is required for creating NCCH files. CIA/CCI can be created without using a RSF file, but default settings will be used. | ||
For CXI, RSF files can be used to specify permissions, and access control settings. | For CXI, RSF files can be used to specify permissions, and access control settings. Makerom can use default settings by use of the "-desc" option, which removes the requirement for specifying them in the RSF file. | ||
Sample RSF to be used with "-desc": [https://gist.githubusercontent.com/3DSGuy/83e12e0ae3dcccb9827f/raw/sample0.rsf download] | Sample RSF to be used with "-desc": [https://gist.githubusercontent.com/3DSGuy/83e12e0ae3dcccb9827f/raw/sample0.rsf download] | ||
Line 57: | Line 57: | ||
=== Creating ELF files === | === Creating ELF files === | ||
ELF files created using the official SDK can be used with makerom. | ELF files that are created using the official SDK can be used with makerom. ELF files created using [https://github.com/smealum/ctrulib ctrulib] can be used, provided they are linked with this linker script: [https://gist.github.com/yellows8/6da7984a80a825b10294 download] | ||
== Compiling Source == | == Compiling Source == | ||
Line 64: | Line 64: | ||
For Linux, gcc/g++/make must be installed. | For Linux, gcc/g++/make must be installed. | ||
All additional libraries used by makerom | All additional libraries used by makerom are included in the source, and are linked statically. | ||
== Issues == | == Issues == |