[OnePlus 7 & 7 Pro Cross Device Development] one_minus:
Hrm, got past that, but now, bootkali doesn't detect root.

Tried formatting data / following install process again with Magisk 19.3 instead, and the 'greyscreen' no longer occurs, but 'bootkali' in su terminal still can't detect root, which means nothing else works.

I definitely have root. So says Magisk and root checker. Looks like somebody earlier in the thread had a similar problem, but theirs seems to have been due to using the TMO release of the 7 Pro.

I'm using a GM1917 (oneplus intl unlocked), so this puzzles me.

Base ROM is 9.5.13.GM21AA, Kali version is nethunter-oneplus7-oos-pie-kalifs-full-2019.4.zip (per OP), Magisk, again, is now 19.3, if that helps.

Will gather log 4 hints

---------- Post added at 08:00 AM ---------- Previous post was at 07:28 AM ----------

Okay, I've gotten to the point that I've isolated (at least the first) problem to the bundled Busybox installation. 'which' picks up that there's a busybox binary, but it doesn't appear to actually do anything... which is a problem, because the root checker part of 'bootkali' needs to process the output of the 'id' command with it, per source: https://gitlab.com/kalilinux/nethun...04420b3fb8bf445f/assets/scripts/bootkali_init

Screenshot follows, will see if there's a better way to get busybox in place.

https://imgur.com/a/wE4dbae

---------- Post added at 08:09 AM ---------- Previous post was at 08:00 AM ----------

One thing I find interesting; the script appears to be looking for two bundled nethunter-installed busybox paths before it would find my seemingly nonfunctional but extant busybox path.

Something wrong with my installation, maybe, or irrelevant?

===

if [ -x /system/xbin/busybox_nh ]; then

busybox=/system/xbin/busybox_nh

elif [ -x /sbin/busybox_nh ]; then

busybox=/sbin/busybox_nh

elif [ -x /system/xbin/busybox ]; then

>>	busybox=/system/xbin/busybox << This one is what the 'which' command finds, above two don't exist when checked manually.

elif [ -x /data/local/bin/busybox ]; then

busybox=/data/local/bin/busybox

elif [ -x /system/bin/busybox ]; then

busybox=/system/bin/busybox

elif [ -x /su/bin/busybox ]; then

busybox=/su/bin/busybox

else

echo "Busybox not found! Install it, dummy!"

log "Busybox not found! Install it, dummy!"

exit 1

fi

===

---------- Post added at 08:58 AM ---------- Previous post was at 08:09 AM ----------

Okay, I got busybox updated and functional via magisk's busybox module (nice little feature).

Not quite the end of the line, however. Bootkali still fails. I actually ran a quickly mocked up version of their root checker, and it works fine; output of 'id' command is processed to be 0, and the flow control works as expected, with the expected result:

https://imgur.com/a/NsnG1yO

Seems like the bootkali script is broken, for me. Would like to get a good look at it, at a minimum. Should I try another version of the Kali Nethunter app? I don't see it in the flashable zip file in OP.

---------- Post added at 09:46 AM ---------- Previous post was at 08:58 AM ----------

https://imgur.com/a/jWI5GVB So, I copied the bootkali_init script up to the root check, ran the copied /truncated script... and it passes without issue. Not sure what's going on here; maybe bootkali is calling a different function, not the one from bootkali_init? Grr.. gonna step away from this for a bit.

Edit: I realized after taking the screen that my edited version doesn't call the function, only defines it. But another edited version that does call the function, still passes.

It seems something done before the actual function all in the original script is messing things up for me. Will debug later.

If anyone knows what might be going on here, I'd appreciate the time-save.

---------- Post added at 10:16 AM ---------- Previous post was at 09:46 AM ----------

So, it looks like bootkali_init actually calls the root checker function AFTER mounting the kali chroot, and at that point, /system/xbin/busybox_nh exists, is assigned as a higher priority $busybox value, and produces no output as the result of the root checker function (which, should not be occurring if it's got a working cut command in it)

I've got to circle back to the idea of some issue being present in my bundled chroot busybox installation, for now.