Remove TX2 GUI initilization

we are using fresh Tx2 som on Tx2 EVK,now we have to use HDMI cable, key board and mouse to initialize the device first time using GUI only we cannot use this technique in production.

how we can initialize this TX2 Som using command line.

can you please help me on this.

One choice is to set up a TX2 the way you want, perhaps even with package updates, and flash via a clone.

Another choice might be to set up the image prior to flash using QEMU. This script would show how to do that:

Note that this script can be edited or otherwise modified. One reason might be that you could use the script on a loopback mounted clone to change passwords (there is a timezone and first boot setup which is not related to passwords, and perhaps you want to comment that out if you are editing passwords on a clone…that first boot is already completed for a clone which has had its first login).

It seems the primary reason why there is no longer a default user name/pass is to comply with laws in California. I don’t know the exact law, but you might consider not setting the same password on every unit (especially if it will go to California).

Also, serial console works for first boot setup without mouse/keyboard, but of course you need a host PC with a keyboard.

so on first bootup after flashing new image i got below mesg

Model: NVIDIA P2771-0000-500
DRAM: 3.8 GiB
MC: Tegra SD/MMC: 0, Tegra SD/MMC: 1
*** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
Net: eth0: ethernet@2490000
Hit any key to stop autoboot: 0
MMC: no card present
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1…
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
857 bytes read in 112 ms (6.8 KiB/s)
1: primary kernel
Retrieving file: /boot/initrd
5565615 bytes read in 192 ms (27.6 MiB/s)
Retrieving file: /boot/Image
34265096 bytes read in 855 ms (38.2 MiB/s)
append: console=ttyS0,115200 androidboot.presilicon=true firmware_class.path=/etc/firmware root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8

Flattened Device Tree blob at 80000000

Booting using the fdt blob at 0x80000000
reserving fdt memory region: addr=80000000 size=10000
Using Device Tree in place at 0000000080000000, end 000000008005de75

Starting kernel …

[ 0.000000] Booting Linux on physical CPU 0x100
[ 0.000000] Linux version 4.9.140 (d221626@PC-D221626) (gcc version 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Lina0
[ 0.000000] Boot CPU: AArch64 Processor [411fd073]
[ 0.000000] OF: fdt:memory scan node memory@80000000, reg size 16416,
[ 0.000000] OF: fdt: - 80000000 , 70000000
[ 0.000000] OF: fdt: - f0200000 , 85600000
[ 0.000000] OF: fdt: - 175e00000 , 200000
[ 0.000000] OF: fdt: - 176600000 , 200000
[ 0.000000] OF: fdt: - 177000000 , 200000
[ 0.000000] earlycon: uart8250 at MMIO32 0x0000000003100000 (options ‘’)
[ 0.000000] bootconsole [uart8250] enabled
[ 0.000000] Found tegra_fbmem2: 00800000@9607d000
[ 0.000000] Found lut_mem2: 00002008@9607a000
[ 3.627776] cgroup: cgroup2: unknown option “nsdelegate”
[ 4.507083] using random self ethernet address
[ 4.512183] using random host ethernet address
[ 4.827041] using random self ethernet address
[ 4.831580] using random host ethernet address
[ 6.624112] Please complete system configuration setup on desktop to proceed…
[ 153.992929] CPU1: shutdown
[ 154.077956] CPU2: shutdown

how to remove these mesg " Please complete system configuration setup on desktop to proceed…" without using desktop,how can remove these mesg from console and boot automatically every time i flash new image.

The standard way of doing this would be to have the serial console connected during flash. When flash completes the unit will self-reboot, and serial console will allow you to complete those steps without monitor/keyboard on the Jetson.

FYI, there are legal reasons (California law) to not provide a default login for more recent releases. Older releases did have a default. You can create a first boot setup in the image which will be flashed prior to ever flashing by use of QEMU, but if you plan to distribute a commercial project, then be very careful about creating default user name/password combinations. For setting up the image with all of that complete prior to flash, see:

so means you are saying that on latest SDK32.4.3,every time we have to flash new image we need to setup user/password by Desktop GUI we cannot get directly default user login prompt in console???

You can use serial console. If serial console fails, then there is a bug. If you want to set up a user name/pass prior to flash, then use the script here:

so this script will also work with latest SDK 32.4.3 and after using this script it will not ask for initial user/password setting on first boot and i will get login prompt directly after each flash of new image?

The script emulates running on a Jetson using the “Linux_for_Tegra/rootfs/” content as if it is a running system. It then runs the commands equivalent to having completed first boot. The image generated for flash is derived from this, and the changes to first boot via that script propagate into the newly flashed Jetson. So yes, this is equivalent to no longer needing first boot setup (in reality you still do first boot setup, but the first boot is on the host PC instead of being on the Jetson).

NOTE: If you want a different user name/pass and have used the script once, then you will have to add commands to change the existing user name/pass. Otherwise you’d end up with a lot of extra login names and passwords. The existing script appends a new user rather than editing an existing user.