Streetwalker wrote:Why not make a pull request to Swiss instead of writing an entirely new program then?
The largest reason is that I'm not comfortable working in C (as a software developer, it's a language I haven't worked with in 15 years), so having a separate application allows for more amateur code to be used than I'd feel comfortably proposing for a more polished project like Swiss. It's not entirely new, though, this is a fork of brosexecconf, though extensively modified at this point. Other reasons, however, include specialization. I'd imagine it wouldn't be that hard to get Swiss loading a boot.cli file, but Swiss wouldn't have an easy way to swap between different versions of GBI as gbiloader's menu provides, Swiss is slower to load since it's a bunch larger (Extrems tells me I could get it smaller if I switched away from posix file operations, but it's not exactly bloated at 94KB), Swiss doesn't seem to allow configuration changes if its loaded from a read-only medium (gbiloader always looks for its config on SD even if its DOL is on a DVD or elsewhere), and I've got some other GBI-specific ideas that wouldn't make sense for Swiss (GBI config profiles changeable via the boot menu for example). Basically, I wanted something more tailored and specialized, so I looked for existing code to use as a base, and made this. I fully realize that Extrems will probably make gbiloader largely pointless in the future as he adds better configuration support to GBI, but that'd be great.
Streetwalker wrote:Also, be careful with dolxz, it can cause a few issues, like not being able to load from Qoob flash. You should keep releasing both.
I've included both DOL/GCI files compressed with dolxz (94/97 KB) as well as an uncompressed DOL (187KB) in the release package, so people have the choice to use other compression types if they want, or none at all. I only included a dolxz copy of Swiss for the custom build, but since gbiloader only loads DOLs (and other files) from SD cards, you would never be using gbiloader to load Swiss from Qoob flash. The goal was to let you boot gbiloader itself however you want (burned DVD, SDML disc, Swiss boot disc, modchip flash, memory card exploit), but then have everything it loads be from an SD card, since SDGecko type products are super cheap.
Streetwalker wrote:For the infinite boot loop, you should just use a different file name than Swiss. iplboot uses ipl.dol for example.
I think you've misunderstood the problem. If you use Swiss to autoboot gbiloader (say for example a Swiss boot disc), then you must name gbiloader "boot.dol" on the SD card. If you then use gbiloader to start Swiss, then Swiss will turn around and load boot.dol, which is gbiloader, which will then in turn remember your preference to autoboot Swiss, and so on. You can easily escape this infinte loop (hold down "Y" and gbiloader will give you the menu to pick what it starts), but it basically means that gbiloader cannot load Swiss if it was itself loaded from Swiss.
This is only a problem if you load gbiloader from Swiss. If you use any other method to load gbiloader, then you're going to have named gbiloader something else, or gbiloader itself won't be on the SD card, and you won't have an issue. My solution to this problem has been to include a custom build of Swiss that has autoboot disabled (so two copies of Swiss are involved), but I'm open to other solutions. This was just the easiest way I could think of to solve the problem.