Headless mode, how to create a default user in the sample rootfs

The jetson has no HDMI, and only UART is avaible, so headless mode is what we need.
after flash, oem-config does not display a welcome screen.
image

refer to https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/flashing.html#wwpID0EGHA

I change the nv-oem-config-uart-port=ttyTCU0, which is right because the jetson boot with the messages over the uart:
[0013.692] I> add_boot_slot_suffix: slot_suffix =
[0013.697] I> Linux Cmdline: console=ttyTCU0,115200

and re-flash, it still doesn’t work.

then I notice:

Skipping oem-config

If you don’t need to run oem-config to set up your system, you can make the first-time boot process skip it. Before you flash the Jetson device, go to \Linux_for_Tegra and enter this command:

$ rm rootfs/etc/systemd/system/default.target

it says: If you skip running oem-config, you must create a default user in the sample rootfs before you flash it.

so How to create a default user in the sample rootfs ?

and it’s better to solve: oem-config does not display a welcome screen over the uart.

thanks.

Why you asked me a question but you already posted the answer by yourself?

Just use that l4t_create_default_user.sh in your Linux_for_Tegra and it will create default user in your rootfs.

I have no answer.

where can I find the l4t_create_default_user.sh?
Linux_for_Tegra has no l4t_create_default_user.sh.

the version is 4.5.1

thanks.

???

Linux_for_Tegra/tools$ find -iname “l4t_create_default_user.sh”
./l4t_create_default_user.sh

Download 4.6 first and copy that script to your 4.5.1 and you can use it.

Ok, thanks. 4.5.1 has l4t_create_default_user.sh.
Just now, I use locate l4t_create_default_user.sh, and there is no found.

I can try skip the Skipping oem-config.
But is there any suggestion for " oem-config does not display a welcome screen"?

Do you know that which port is for ttyUSB0 on your devkit?

I mean did you ever use that things before?

jetson uart <-> usb converter <-> host

host /dev/ttyUSB0
jetson can output over the uart during boot and kernel:

[0013.692] I> add_boot_slot_suffix: slot_suffix =
[0013.697] I> Linux Cmdline: console=ttyTCU0,115200

Sorry, my fault. It should be ttyACM0 but not USB0. The default node to do the oem-config is the ttyACM0 on your host and the port is the flashing port. Not the uart port.

cat Linux_for_Tegra/rootfs/etc/nv-oem-config.conf
//# For T210, choose one tty device from ttyS0, ttyTHS1, ttyTHS2, ttyGS0
//# For T186, choose one tty device from ttyS0, ttyTHS1, ttyTHS2, ttyTHS3, ttyGS0
//# For T194, choose one tty device from ttyTCU0, ttyTHS0, ttyTHS1, ttyTHS4, ttyGS0
#nv-oem-config-uart-port=ttyGS0
nv-oem-config-uart-port=ttyTCU0

If you change it from ACM0 to USB3, how about you reflash it again and see if the oem-config will show up in ttyUSB3?

Start with clean build again.

l4t_create_default_user.sh works, thanks.

nvidia@tegra-ubuntu:~$ ls /dev/ttyT*
/dev/ttyTCU0 /dev/ttyTHS0 /dev/ttyTHS1 /dev/ttyTHS4
nvidia@tegra-ubuntu:~$ ls /dev/ACM*
ls: cannot access ‘/dev/ACM*’: No such file or directory

jetson uart <-> usb converter <-> host (/dev/ttyUSB0)
jetson micro usb <-> host

I can reflash, and jetson output over uart ok.
until now, works almostly, but " oem-config does not display a welcome screen"

thanks again.

ttyGS0 and ttyTCU0 are the node seen on the jetson.

ttyACM0 and ttyUSB3 are the node seen on host machine.

When you set ttyGS0 in the config file, the oem config will be shown on host side when host side open /dev/ttyACM0.
And the port here is the one you used to flash sdkmanager.

And for ttyTCU0, that is the micro usb port on the devkit. You need to use /dev/ttyUSB3 on host to open it.

the original Jetson AGX Xavier kit is what you said, host is /dev/ttyUSB3.

we removed the FT4232HQ(USB serial converter debug chip), and other unused interface, such as HDMI.

jetson uart <-> usb converter(external) <-> host (/dev/ttyUSB0)
jetson usb <-> host

and the host /dev/ttyUSB0 is ok, because the jetson can output the message over the uart during boot and kernel.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.