I've set up my cross-compile build environment successfully (on macOS), and can build a basic PPC binary (based on ppcskel) that flashes the drive light. It runs correctly if I:
- save it as bootmii/ppcboot.elf
- select it from the SD loader built into BootMii
I've also compiled bootmii-utils, and the client seems to run correctly, automatically detecting my USB Gecko:
% ./bootmii -p blink.elf
bootmii client v0.1
coded by dhewg, #wiidev efnet
using /dev/tty.usbserial-GECKUSB0
sending PPC upload request
sending file size (3632 bytes)
sending data.
done.
Despite appearing to succeed, nothing happens, and I remain at the BootMii screen able to navigate the menu with the face buttons.
Additional context:
- BootMii installed as boot2
- BootMii 1.5, installed via HackMii Installer 1.2
- USB Gecko serial output working correctly (although I can't use it simultaneously when trying to send a binary, since the
bootmii terminal app says the "gecko_open: Resource busy unable to open the device"
Full USB Gecko log:
BootMii v1.5
Copyright (C) 2008-2010 Team Twiizers.
All rights reserved. Redistribution or sale is prohibited.
ARMBOOT header (@0x28700):
Header size: 00000010
Loader size: 00003cd0
ELF size: 00027674
Argument: 00000001
ELF at 0x2c3e0
Trying to mount SD...
sdhc_bus_power(1)
sdhc_bus_clock(25000)
CID: mid=03 name='SDSU04G' prv=128.5 psn=0028d529 mdt=10/2008
csd: 00 40 0e 00 32 5b 59 00 00 1d 8a 7f 80 0a 40 40
sdmmc: sdhc mode, c_size=7562, card size = 3872256k
sdmmc_select: resp=700
Trying to open SD:/bootmii/armboot.bin
Trying to read ARMBOOT header to 0x10407c00
ARMBOOT header (@0x10407c00):
Header size: 00000010
Loader size: 000004d0
ELF size: 00008774
Argument: 00000000
ELF at 0x104080e0
Total ARMBOOT size: 0x8c54
Trying to read ARMBOOT to 0x10407c00
ARMBOOT read
Launching ARMBOOT @ 0x10407c10
mini 0.4-1-gbefb loading
Initializing exceptions...
Configuring caches and MMU...
MEM: cleaning up
MEM: unprotecting memory
MEM: mapping sections
MEM: enabling caches
MEM: enabling MMU
MEM: init done
IOSflags: 0000ff91 00000000 00000000
00000000 00000000 cafebabe
Interrupts initialized
crypto support initialized
NAND initialized.
found valid boot2 blockmap at page 0xbf, submap 0, generation 4
found valid boot2 blockmap at page 0x13f, submap 0, generation 11
found valid boot2 blockmap at page 0x1bf, submap 0, generation 5
boot2 blocks: 03 04 05 06 07
boot2 title key: 180d129b36dbc2b9094f77a34e7000f6
boot2 content size: 0x2b354 (padded: 0x2b360)
boot2 copy 0 loaded to 0x13f01e80
Initializing IPC...
Initializing SDHC...
sdhc_bus_power(1)
sdhc_bus_clock(25000)
CID: mid=03 name='SDSU04G' prv=128.5 psn=0028d529 mdt=10/2008
csd: 00 40 0e 00 32 5b 59 00 00 1d 8a 7f 80 0a 40 40
sdmmc: sdhc mode, c_size=7562, card size = 3872256k
sdmmc_select: resp=700
Mounting SD...
Trying to boot:/bootmii/ppcboot.elf
LOAD 0x80 @0x00003400 [0x140]
LOAD 0x1c0 @0x00004000 [0x4d060]
ELF load done, booting PPC...
disabling EXI now...
PPC booted!
Going into IPC mainloop...
sdhc_bus_power(1)
sdhc_bus_clock(25000)
CID: mid=03 name='SDSU04G' prv=128.5 psn=0028d529 mdt=10/2008
csd: 00 40 0e 00 32 5b 59 00 00 1d 8a 7f 80 0a 40 40
sdmmc: sdhc mode, c_size=7562, card size = 3872256k
sdmmc_select: resp=700
cache init ok
cache init ok
cleared 1 pending power IRQs and 1 pending eject IRMini version: 1.3
I've set up my cross-compile build environment successfully (on macOS), and can build a basic PPC binary (based on ppcskel) that flashes the drive light. It runs correctly if I:
I've also compiled bootmii-utils, and the client seems to run correctly, automatically detecting my USB Gecko:
Despite appearing to succeed, nothing happens, and I remain at the BootMii screen able to navigate the menu with the face buttons.
Additional context:
bootmiiterminal app says the "gecko_open: Resource busy unable to open the device"Full USB Gecko log: