Das IOS ist Bestandteil des Wii-Systems. Es handelt viele wichtige Funktionen der Konsole. Im Laufe der Updates von Nintendo wurde stetig neue IOS hinzugefügt, um die Funktionalität zu steigern. Es ist davon auszugehen, dass IOS soviel bedeutet wie Input-Output-System. Es gibt mehrere IOS; im Prinzip kann man salopp sagen, dass sie ihre Arbeit "teilen" (Arbeitsteilung). So hat jedes IOS seinen Aufgabenbereich. Beispiel: IOS38 ist das "WiiSpeak" IOS. Es handelt das I/O-System für die Kommunikation via WiiSpeak in Spielen wie z.B. Animal Crossing - Let's go to the City. Ein IOS hat eine bestimmte Ordnerstruktur/hierarchie. Sie ist immer so und kann durch unsignierten Code via HomebrewChannel modifiziert werden, was äußerst gefährlich ist, denn bestimmte IOS stellen die Basis für ein funktionierendes System Menu dar: wenn da was falsch läuft kommt es zu einem Brick! IOS laufen auf dem Coprocessor "Starlet" und werden von fast allen Anwendungen auf der Wii genutzt. Es gibt nur wenige Ausnahmen. . Dieser wurde von Segher benannt; einem Mitglied aus Team Twiizer. Nintendo hat damit nichts zu tun. Die Struktur ist wie folgt in einem "Linux-ähnlichen" System in einer /dev/ Struktur angeordnet und demnach auch klassifiziert:
FFS
* /dev/boot2
* /dev/flash
* /dev/fs
ES
* /dev/aes
* /dev/es
* /dev/hmac
* /dev/sha
DIP
* /dev/di
ETH
* /dev/net/usbeth/top
KBD
* /dev/usb/kbd
KD
* /dev/net/kd/request
* /dev/net/kd/time
NCD
* /dev/net/ncd/manage
* /dev/net/wd/top (Yes, this is actually created by NCD, not WD)
OH0/1
* /dev/usb/ehc
* /dev/usb
* /dev/usb/oh0
* /dev/usb/oh1
SDI
* /dev/sdio/slot0
SO
* /dev/net/ip/top - TCP/IP Socket operations
* /dev/net/ip/bottom
* Opens /dev/net/wd/top
* Opens /dev/net/usbeth/top
SSL
* /dev/net/ssl
STM
* /dev/stm/eventhook
* /dev/stm/immediate
WD
* /dev/net/wd/command
* /dev/listen ("Indication RM")
* Opens /dev/wl0
* Opens /dev/stm/immediate
WL
* /dev/wl0
* Opens /dev/listen
Diese Anordnung ist wirklich einzigartig und somit auch gewissermaßen von Nintendo "patentiert". Jede "Kategorie" hat ihre eigenen Zuständigkeitsbereiche; um nur ein paar gute Beispiele zu geben:
FFS: das FileSystem. Für den korrekten Bootvorgang der Wii zuständig.
ES: Installieren/Löschen von Savegames, VC Games, und Channels jeglicher Art (siehe auch Fakesigning). das ES_ System hat einen eigenen Befehlssatz und somit einen eigenen Errorcode Satz.
DIP: U.a. zuständig für das Abspielen von DVDs/Spielen. Durch das [lexicon]cIOS[/lexicon] wird hier gepatcht; die DI Module werden verändert mit Werten, die es erlauben Backups abzuspielen, also keine WODs (=Wii Optical Discs, sprich Original Gepresste Spiele), sondern normale DVD-R Rohlinge.
IOS
haben eine eingebauten elf loader der die elf Content des
IOS lädt die ersten IOS hatten nur ein Content
die neueren mehrere .Dieser loader enthält meistens auch den Kern des
IOS (0xFFFF000 - 0xFFFFFFFF)(in elf Format) die anderen Content
sind im MEM2 und haben eingeschränkte rechte.(elf können mit readelf aus
devkitpro analysiert werden (Achtung ARM elf32 typ)) außerdem haben diese Starter
eine 15 Byte großen Header.(elf ist ein offizielles Format skyfree.org/linux/references/ELF_Format.pdf)
FFS
* /dev/boot2
* /dev/flash
* /dev/fs
ES
* /dev/aes
* /dev/es
* /dev/hmac
* /dev/sha
DIP
* /dev/di
ETH
* /dev/net/usbeth/top
KBD
* /dev/usb/kbd
KD
* /dev/net/kd/request
* /dev/net/kd/time
NCD
* /dev/net/ncd/manage
* /dev/net/wd/top (Yes, this is actually created by NCD, not WD)
OH0/1
* /dev/usb/ehc
* /dev/usb
* /dev/usb/oh0
* /dev/usb/oh1
SDI
* /dev/sdio/slot0
SO
* /dev/net/ip/top - TCP/IP Socket operations
* /dev/net/ip/bottom
* Opens /dev/net/wd/top
* Opens /dev/net/usbeth/top
SSL
* /dev/net/ssl
STM
* /dev/stm/eventhook
* /dev/stm/immediate
WD
* /dev/net/wd/command
* /dev/listen ("Indication RM")
* Opens /dev/wl0
* Opens /dev/stm/immediate
WL
* /dev/wl0
* Opens /dev/listen
Diese Anordnung ist wirklich einzigartig und somit auch gewissermaßen von Nintendo "patentiert". Jede "Kategorie" hat ihre eigenen Zuständigkeitsbereiche; um nur ein paar gute Beispiele zu geben:
FFS: das FileSystem. Für den korrekten Bootvorgang der Wii zuständig.
ES: Installieren/Löschen von Savegames, VC Games, und Channels jeglicher Art (siehe auch Fakesigning). das ES_ System hat einen eigenen Befehlssatz und somit einen eigenen Errorcode Satz.
DIP: U.a. zuständig für das Abspielen von DVDs/Spielen. Durch das [lexicon]cIOS[/lexicon] wird hier gepatcht; die DI Module werden verändert mit Werten, die es erlauben Backups abzuspielen, also keine WODs (=Wii Optical Discs, sprich Original Gepresste Spiele), sondern normale DVD-R Rohlinge.
IOS
haben eine eingebauten elf loader der die elf Content des
IOS lädt die ersten IOS hatten nur ein Content
die neueren mehrere .Dieser loader enthält meistens auch den Kern des
IOS (0xFFFF000 - 0xFFFFFFFF)(in elf Format) die anderen Content
sind im MEM2 und haben eingeschränkte rechte.(elf können mit readelf aus
devkitpro analysiert werden (Achtung ARM elf32 typ)) außerdem haben diese Starter
eine 15 Byte großen Header.(elf ist ein offizielles Format skyfree.org/linux/references/ELF_Format.pdf)
22,401 times viewed