|
|
(7 intermediate revisions by 3 users not shown) |
Line 1: |
Line 1: |
| {{stub}} | | {{stub}} |
| '''/dev/boot2''' can presumably be written to to install a new boot2. '''THIS HAS NOT BEEN VERIFIED, DO NOT RELY ON THIS TO INSTALL A CUSTOM BOOT2.''' | | '''/dev/boot2''' can be written to to install a new [[boot2]].{{check}} '''THIS HAS NOT BEEN VERIFIED, DO NOT RELY ON THIS TO INSTALL A CUSTOM BOOT2.''' |
|
| |
|
| This accepts the following commands: open, close, read, write, seek, ioctl, ioctlv | | This accepts the following commands: open, close, write, ioctl |
|
| |
|
| IOCTL example:
| | == /dev/boot2 IOS_Ioctl == |
| | | {| class="wikitable" |
| 14 ioctl(0,4,12 return -101)
| | ! Number |
| | | ! In |
| ioctlv 4,12,14 last only in IOS56+
| | ! Out |
| | | ! Description |
| | |
| == /dev/boot2 IOS_Ioctlv == | |
| These ioctlvs do not seem to exist in [[IOS9]]; they may have been added later, or the person writing this may have been confused, since all 3 FS devices register to the same message queue.
| |
| | |
| {| class="wikitable" style="margin: 1em auto 1em auto" | |
| ! style="vertical-align: top;" |number
| |
| ! style="vertical-align: top;" |name | |
| ! style="vertical-align: top;" |in count | |
| ! style="vertical-align: top;" |out count | |
| ! style="vertical-align: top;" |vec entry target
| |
| ! style="vertical-align: top;" |vec entry size [bytes]
| |
| ! style="vertical-align: top;" |libogc prototype
| |
| ! style="vertical-align: top;" |Description | |
| |-
| |
| | style="vertical-align: top;" rowspan="3" |0xC
| |
| | style="vertical-align: top;" rowspan="3" |?
| |
| | style="vertical-align: top;" rowspan="3" |1
| |
| | style="vertical-align: top;" rowspan="3" |2
| |
| | style="vertical-align: top;" |?
| |
| | style="vertical-align: top;" |0x40
| |
| | style="vertical-align: top;" rowspan="3" |No
| |
| | style="vertical-align: top;" rowspan="3" |?
| |
| |-
| |
| |?
| |
| |0x4
| |
| |-
| |
| |?
| |
| |0x4
| |
| |-
| |
| | style="vertical-align: top;" "rowspan="3" |0x4
| |
| | style="vertical-align: top;" "rowspan="3" |?
| |
| | style="vertical-align: top;" |1/2
| |
| | style="vertical-align: top;" |1/2
| |
| | style="vertical-align: top;" "rowspan="3" |?
| |
| | style="vertical-align: top;" "rowspan="3" |0x40
| |
| | style="vertical-align: top;" "rowspan="3" |No
| |
| | style="vertical-align: top;" "rowspan="3" |Can be used with 1 In and 1 Out or 2 In and 2
| |
| |-
| |
| |?
| |
| |0x4
| |
| |-
| |
| |? (only if you use 2 In/Out)(if this is 0 it is the same as use only 1 in and Out)
| |
| |0x4
| |
| |-
| |
| |? (only if you use 2 In/Out)
| |
| |Different each time(0xD* 2.in)
| |
| |- | | |- |
| | style="vertical-align: top;" |0xE | | | 1 or 2 |
| | style="vertical-align: top;" |?
| | | - |
| | style="vertical-align: top;" |minimal 1
| | | - |
| | style="vertical-align: top;" |0 | | | Writes the new blockmap for the newly written boot2 |
| | style="vertical-align: top;" |?
| |
| | style="vertical-align: top;" |? | |
| | style="vertical-align: top;" |No | |
| | style="vertical-align: top;" |?
| |
| |- | | |- |
| | | 3 |
| | | 4 bytes: boot2 size |
| | | - |
| | | Copies the main boot2 over to the backup copy. |
| |} | | |} |
|
| |
|
| == /dev/boot2 error codes == | | == /dev/boot2 error codes == |
|
| |
|
| Note: POSIX is a standardized system that helps maintain compatibility between many different operating systems. So, each error code shown below has a given POSIX equivalent (not known yet). Other OS's many have different error code numbers, but if their POSIX equivalent is the same, they mean the same thing.
| | See also: [[:/dev/flash]] |
|
| |
|
| {| class="wikitable" | | {| class="wikitable" |
| |- | | |- |
| ! Error code | | ! Error code |
| ! POSIX equivalent
| |
| ! Notes | | ! Notes |
| |- | | |- |
| | -101 | | | -4 |
| | ? | | | Invalid argument |
| | This can refer to: Invalid Wrong IN or OUT size, wrong size for a part of the vector, vector alignment problems, non-existant ioctl, or wrong structure.
| |
| |- | | |- |
| |- | | |- |
| | -102 | | | -5 |
| | ? | | | Open: Handle is already open |
| | ?
| | Ioctl 3: Boot2 is too large, seemingly |
| |-|-
| |
| | -104
| |
| | ?
| |
| | ?
| |
| |-|-
| |
| | -106
| |
| | ?
| |
| | ?
| |
| |-|-
| |
| | -107
| |
| | ?
| |
| | ?
| |
| |-|-
| |
| | -108
| |
| | ?
| |
| | ?
| |
| |- | | |- |
| |- | | |- |