Makerom: Difference between revisions

mNo edit summary
m grammar
Line 8: Line 8:
}}
}}


makerom is a tool which can be used to created [[NCCH]] and [[NCSD|CCI]] and [[CIA]] files.
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, or straight into a container format. It is also possible rebuild CXIs as easily building a CXI from an elf. As a result the are many combinations which can be used, and for simplicity specific functions will be explained by breaking them up into argument groups:
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, is a yaml configuration file, required for creating NCCH files. CIA/CCI can be created without using a RSF file, but default settings will be used.
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. However makerom can use default settings by use of the "-desc" option, which removes the requirement for specifing them in the RSF file.
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. But 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]
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, are included in the source, and are linked statically.
All additional libraries used by makerom are included in the source, and are linked statically.


== Issues ==
== Issues ==