I can try to allow all IOS slots, but I don't think it will work either.
In gamebooter, I changed the IOS to the requested one, at the same location where the cIOS is usually reloaded, and it didn't work.
I tried to do it later, and even right before exiting the loader. all my attempts failed.
Using 58 is another solution (58 should work with most channels).
The issue is that reloading the IOS before unmounting all devices break compatibility (the mounted IOS doesn't have usb init code). reloading after the usb is unmount, but maybe I did something wrong.
I also tried using IOS_reload() instead of the usual "safeIOSreloadkeepingrights" or something like this, because it's remounting the devices after IOS reload, and that would fail too.
it's probably possible, I didn't spend a lot of time trying to make it work. I thought it would be easy and 2 line of code would be enough.