При исследовании устройств полезно посмотреть, какие параметры командной строки ядра Linux были переданы u-boot при загрузке.
Выполнение cat /proc/cmdline блокируется Selinux. А в логе загрузки, который мы видим по UART - строка обрезается, и самые интересные параметры мы не видим.
Выход тут - команда "adb bugreport", которая доступна всем:
Также можно посмотреть в папку /bugreports на устройстве - там уже могут быть готовые файлы.
Далее эту командную строку можно использовать для загрузки своего ядра.
Кстати, init=/system/bin/sh на Яндекс Станции Макс не работает:
unable to stat "/proc/self/exe": No such file or directory
libc: unable to stat "/proc/self/exe": No such file or directory
libc: Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 1 (sh), pid 1 (<unknown>)
Баг в libc Андроида.
Если бы Яндекс (или китайцы, которые клепают устройства) собрали toybox со статической libc - жизнь была бы намного проще.