Background
I have an embedded Android device device that uses the U-Boot bootloader. The system also uses the Busybox suite.
I have access to the U-Boot shell through a UART port and can dump, modify, and upload a new filesystem but I have no terminal access to the OS. One limitation I have with U-Boot is that the saveenv command has been disabled however, the setenv command seems to work for the current boot session.
The bootargs U-Boot variable is currently set to storagemedia=nand (there is no console= setting).
So far I have tried using echo on various serial ports and modifying the inittab file to setup a TTY shell for the UART port.
My attempts to setup a TTY shell
::respawn:/sbin/getty -L serial 115200 -n -l /bin/autologin
::respawn:/sbin/getty -L serial0 115200 -n -l /bin/autologin
::respawn:/sbin/getty -L s0 115200 -n -l /bin/autologin
::respawn:/sbin/getty -L console 115200 -n -l /bin/autologin
The original Line in the inittab file (doesn't work)
# [THE ORIGINAL LINE]
ttyFIQ0::respawn:/sbin/getty -L ttyFIQ0 0 vt100 #
Regardless of what I do, the last few lines I receive from the UART port are:
## Booting Android Image at 0x62ce3248 ...
Kernel load addr 0x62ce3a48 size 4400 KiB
## Flattened Device Tree blob at 61f00000
Booting using the fdt blob at 0x61f00000
XIP Kernel Image ... OK
CACHE: Misaligned operation at range [62ce3a48, 6312f888]
Loading Device Tree to 60ff1000, end 60fff36c ... OK
Adding bank: 0x60000000 - 0x61000000 (size: 0x01000000)
Adding bank: 0x61200000 - 0x70000000 (size: 0x0ee00000)
Starting kernel ...
After the Starting kernel ... message, I receive nothing indicating that a TTY shell is running even though, the OS boots and runs perfectly. If I type anything into the terminal after the Starting kernel ... message has been received, the OS freezes.
Question
How do I setup a TTY shell for the Operating System that will use the UART port so that I can finally interact with the embedded device OS through a terminal?
Starting kernel... message, ..." - That message is from U-Boot. You seem to be asking the wrong questions. What indication is there that the kernel actually boots successfully? Perhaps there are no terminals with any shell simply because the kernel has not booted successfully??? Perhaps you need to reconsider your choice of "noconsole=setting" in thebootargsvariable (assuming the kernel has been configured to support a serial or network console). You might even need to use earlycon or earlyprintk to learn what is going on.console). The convention for naming device nodes for a serial terminal has the formttySn, such asttyS0orttyS1.console=setting in the bootargs variable.