/dev/boot2

From WiiBrew
Jump to navigation Jump to search

/dev/boot2 can presumably 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

IOCTL example:

14 ioctl(0,4,12 return -101)

ioctlv 4,12,14 last only in IOS56+

/dev/boot2 IOS_Ioctl

Number In Out Description
1 Nothing Nothing Possibly writes ECC data to the main copy of boot2?
3 4 bytes: boot2 size Nothing Seems to copy the main boot2 copy over to the backup copy. Generates ECC data a second time?

/dev/boot2 IOS_Ioctlv

number name in count out count vec entry target vec entry size [bytes] libogc prototype Description
0xC ? 1 2 ? 0x40 No ?
? 0x4
? 0x4
0x4 ? 1/2 1/2 ? 0x40 No 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)
0xE ? minimal 1 0 ? ? No ?

/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.

Error code POSIX equivalent Notes
-101 ? 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 ? ?
-104 ? ?
-106 ? ?
-107 ? ?
-108 ? ?