Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't load binary via USB Gecko and bootmii-utils client #3

Open
bryankeller opened this issue Jan 25, 2025 · 1 comment
Open

Can't load binary via USB Gecko and bootmii-utils client #3

bryankeller opened this issue Jan 25, 2025 · 1 comment

Comments

@bryankeller
Copy link

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
@bryankeller
Copy link
Author

Update: It works correctly from a Debian VM running on UTM. Something must be wrong with the macOS code (despite no obvious errors and the USB Gecko being detected just fine)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant