Assume you are hashbanging /bin/bash at the top of your /sbin/init. Ensure that shell does not have missing dependencies and is compiled for the matching arch. It can be fiddly to supply shared object dependencies for the shell. It is easier to use a statically linked shell while bootstrapping.
Idea: create a hello world program in c, configure your make script to statically link it, make sure it is compiled for the same arch as the distro you are booting (amd64 vs x86), place that as /sbin/init, ensure execute bit is set, create a new image, boot, and see if you get output.