Can't get past login on Jetson TX1

I am trying to get going with my new Jetson TX1 running without success. I tried connecting it to my ViewSonic VG2228wm-LED but did not get a signal. Then I tried an Adafruit 7" 800x480 HDMI Backpack + AR1100 Touch Controller and it did begin to boot. But after entering the login, it executed a few commands and then restarts. Can’t get past the login to a command line.

I just retried with my ViewSonic monitor and I now have a signal, but am having the same problem of a reboot every time I enter the correct login information.

An interesting development: the only reason the ViewSonic works is if I first connect the 7" display, disconnect, and then connect to the ViewSonic. If I then reset the TX1, the ViewSonic will not display. At first it appears to get a signal since the blue light turns on in the front, but then the blue light turns yellow indicating no signal. The blue/yellow cycle continues indefinitely without displaying anything. But if I then reconnect to the 7" it shows fine, and will again if connected to the ViewSonic. Very odd…

The best way to see what’s going on is generally a serial console (the more you develop on a Jetson, the more useful this becomes). See:
http://elinux.org/Jetson/TX1_Serial_Console

Note that when a Jetson first arrives, the operating system is purely Ubuntu. Running the installer completes the hardware-accelerated nVidia-specific file install, and may improve monitor function. The script is at “/home/ubuntu/NVIDIA-INSTALLER/installer.sh”, and is run with “cd ~/NVIDIA-INSTALLER ; sudo ./installer.sh”. This is of course a problem if you need the video to work to do this, and the video won’t work until you do this. Typically ssh or serial console is required in that case (these methods avoid having to use the graphical desktop). Flashing the Jetson will also complete the nVidia-specific file install.

I am having two problems, one is with the display and one with rebooting. I assume the serial console is an effort to fix the display problem until the full install is complete. I do have a work-around to get the display working, but continue to have the problem of the Jetson rebooting immediately after login. I assume using a serial console would not fix this problem, right? I can’t get to a command line to run the script you mention. Will running the serial console fix the login issue?

Also, what do you mean by “flashing” the Jetson?

The serial console is essentially a terminal which works even without graphics or network support. As a result, this also means that as the system crashes (or in your case reboots) you will be able to see messages as to the cause. Serial console implies that if anything from the graphical environment causes the reboot, this can be avoided while figuring out what is going on. Serial console is always logged in…there is no issue with login causing reboot if login is from serial console…you can run the final install script via serial console under almost any failure condition, so this is indeed one of several ways to finish that install (and probably the simplest). Think of it as the Jetson dealing only with characters sent to it, and any keyboard or display interface running on a separate machine which offloads those functions.

A JTX1 arrives with L4T R23.1. Flash completely installs a new version of L4T. R23.2 fixes many bugs, R24.1 is available for some new 64-bit functionality. You will probably want to be able to flash R23.2 even if you do not develop your own software on Jetson. This is done by putting the Jetson in recovery mode (hold down recovery button and either turn the system on or reset) over the micro-USB cable…the desktop Linux host runs the flash software (“driver package” plus sample rootfs…or the bundled installer, JetPack).

Ok, I see. I have successfully attached a serial console and started the TX1 with Ethernet connected. It runs through a mass of output during boot up, but always ends with an error of a non-existent directory. A portion of the output appears below. Suggestions?

  • Starting Mount filesystems on boot [ OK ]
  • Starting Signal sysvinit that the rootfs is mounted [ OK ]
  • Starting Clean /tmp directory [ OK ]
  • Starting Populate and link to /run filesystem [ OK ]
  • Stopping Populate and link to /run filesystem [ OK ]
  • Starting Clean /tmp directory [fail]
  • Stopping Clean /tmp directory [ OK ]
  • Stopping Track if upstart is running in a container [ OK ]
  • Starting Initialize or finalize resolvconf [ OK ]
  • Starting set console keymap [ OK ]
  • Starting Signal sysvinit that virtual filesystems are mounted [ OK ]
  • Starting Signal sysvinit that virtual filesystems are mounted [ OK ]
  • Starting Bridge udev events into upstart [ OK ]
  • Stopping set console keymap [ OK ]
  • Starting Signal sysvinit that local filesystems are mounted [ OK ]
  • Starting D-Bus system message bus [fail]
  • Starting NFSv4 id <-> name mapper [ OK ]
  • Starting device node and kernel event manager [ OK ]
  • Starting Signal sysvinit that remote filesystems are mounted [ OK ]
  • Starting NVIDIA specific init script [ OK ]
  • Starting load modules from /etc/modules [ OK ]
  • Starting cold plug devices [ OK ]
  • Starting NVIDIA specific init script [fail]
  • Stopping Mount filesystems on boot [ OK ]
  • Stopping load modules from /etc/modules [ OK ]
  • Starting flush early job output to logs [ OK ]
  • Starting NVIDIA specific first-boot script [fail]
  • Stopping flush early job output to logs [ OK ]
  • Stopping NVIDIA specific first-boot script [ OK ]
  • Stopping rpcsec_gss daemon [ OK ]
  • Starting system logging daemon [ OK ]
  • Stopping cold plug devices [ OK ]
  • Stopping NVIDIA bluetooth/wifi init script [ OK ]
  • Starting userspace bootsplash [ OK ]
  • Starting configure network device security [ OK ]
  • Starting enable remaining boot-time encrypted block devices [ OK ]
  • Stopping userspace bootsplash [ OK ]
  • Starting Send an event to indicate plymouth is up [ OK ]
  • Stopping Send an event to indicate plymouth is up [ OK ]
  • Starting System V initialisation compatibility [ OK ]
  • Starting configure virtual network devices [ OK ]
    /etc/init.d/rc: 121: /etc/init.d/rc: /etc/rcS.d/S25brltty: Permission denied
    /etc/init.d/rc: 121: /etc/init.d/rc: /etc/rcS.d/S26cryptdisks-early: Permission denied
    /etc/init.d/rc: 121: /etc/init.d/rc: /etc/rcS.d/S55urandom: Permission denied
    /etc/init.d/rc: 121: /etc/init.d/rc: /etc/rcS.d/S70x11-common: Permission denied
  • Stopping System V initialisation compatibility [ OK ]
    /etc/init.d/rc: 121: /etc/init.d/rc: /etc/rc2.d/S20kerneloops: Permission denied
    /etc/init.d/rc: 121: /etc/init.d/rc: /etc/rc2.d/S20rsync: Permission denied
    /etc/init.d/rc: 121: /etc/init.d/rc: /etc/rc2.d/S20speech-dispatcher: Permission denied
    /etc/init.d/rc: 121: /etc/init.d/rc: /etc/rc2.d/S23ntp: Permission denied
    /etc/init.d/rc: 121: /etc/init.d/rc: /etc/rc2.d/S50saned: Permission denied
    /etc/init.d/rc: 121: /etc/init.d/rc: /etc/rc2.d/S70pppd-dns: Permission denied
    /etc/init.d/rc: 121: /etc/init.d/rc: /etc/rc2.d/S99ondemand: Permission denied
    /etc/init.d/rc: 121: /etc/init.d/rc: /etc/rc2.d/S99rc.local: Permission denied
  • Starting System V runlevel compatibility [ OK ]
  • Starting Restore Sound Card State [ OK ]
  • Starting OpenSSH server [ OK ]
  • Starting Restore Sound Card State [fail]
  • Starting anac(h)ronistic cron [fail
    buntu 14.04.1 LTS tegra-ubuntu ttyS0

tegra-ubuntu login: ubuntu (automatic login)

  • Starting crash report submission daemon [ OK ]
    Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.10.67-g458d45c aarch64)

  • Documentation: https://help.ubuntu.com/
    find: `/var/lib/apt//lists/’: No such file or directory
    /usr/lib/update-notifier/update-motd-updates-available: 39: /usr/lib/update-notifier/update-motd-updates-available: cannot create /var/lib/update-notifier/updates-available: Directory nonexistent
    cat: /var/lib/update-notifier/updates-available: No such file or directory
    run-parts: /etc/update-motd.d/90-updates-available exited with return code 1
    /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: 39: /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: cannot create /var/lib/ubuntu-release-upgrader/release-upgrade-available: Directory nonexistent
    /usr/
    Ubuntu 14.04.1 LTS tegra-ubuntu ttyS0

tegra-ubuntu login: ubuntu (automatic login)

Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.10.67-g458d45c aarch64)

  • Documentation: https://help.ubuntu.com/
    find: `/var/lib/apt//lists/’: No such file or directory
    /usr/lib/update-notifier/update-motd-updates-available: 39: /usr/lib/update-notifier/update-motd-updates-available: cannot create /var/lib/update-notifier/updates-available: Directory nonexistent
    cat: /var/lib/update-notifier/updates-available: No such file or directory
    run-parts: /etc/update-motd.d/90-updates-available exited with return code 1
    /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: 39: /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: cannot create /var/lib/ubuntu-release-upgrader/release-upgrade-available: Directory nonexistent
    /usr/lib/update-notifier/upda
    Ubuntu 14.04.1 LTS tegra-ubuntu ttyS0

tegra-ubuntu login: ubuntu (automatic login)

Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.10.67-g458d45c aarch64)

  • Documentation: https://help.ubuntu.com/
    find: `/var/lib/apt//lists/’: No such file or directory
    /usr/lib/update-notifier/update-motd-updates-available: 39: /usr/lib/update-notifier/update-motd-updates-available: cannot create /var/lib/update-notifier/updates-available: Directory nonexistent
    cat: /var/lib/update-notifier/updates-available: No such file or directory
    run-parts: /etc/update-motd.d/90-updates-available exited with return code 1
    /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: 39: /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: cannot create /var/lib/ubuntu-release-upgrader/release-upgrade-available: Directory nonexistent
    /usr/lib/update-notif
    Ubuntu 14.04.1 LTS tegra-ubuntu ttyS0

tegra-ubuntu login: ubuntu (automatic login)

Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.10.67-g458d45c aarch64)

  • Documentation: https://help.ubuntu.com/
    find: `/var/lib/apt//lists/’: No such file or directory
    /usr/lib/update-notifier/update-motd-updates-available: 39: /usr/lib/update-notifier/update-motd-updates-available: cannot create /var/lib/update-notifier/updates-available: Directory nonexistent
    cat: /var/lib/update-notifier/updates-available: No such file or directory
    run-parts: /etc/update-motd.d/90-updates-available exited with return code 1
    /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: 39: /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: cannot create /var/lib/ubuntu-release-upgrader/release-upgrade-available: Directory nonexistent
    /usr/lib/update-notif
    Ubuntu 14.04.1 LTS tegra-ubuntu ttyS0

tegra-ubuntu login: ubuntu (automatic login)

Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.10.67-g458d45c aarch64)

  • Documentation: https://help.ubuntu.com/
    find: `/var/lib/apt//lists/’: No such file or directory
    /usr/lib/update-notifier/update-motd-updates-available: 39: /usr/lib/update-notifier/update-motd-updates-available: cannot create /var/lib/update-notifier/updates-available: Directory nonexistent
    cat: /var/lib/update-notifier/updates-available: No such file or directory
    run-parts: /etc/update-motd.d/90-updates-available exited with return code 1
    /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: 39: /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: cannot create /var/lib/ubuntu-release-upgrader/release-upgrade-available: Directory nonexistent
    /usr/lib/update-notif
    Ubuntu 14.04.1 LTS tegra-ubuntu ttyS0

tegra-ubuntu login: ubuntu (automatic login)

Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.10.67-g458d45c aarch64)

  • Documentation: https://help.ubuntu.com/
    find: `/var/lib/apt//lists/’: No such file or directory
    /usr/lib/update-notifier/update-motd-updates-available: 39: /usr/lib/update-notifier/update-motd-updates-available: cannot create /var/lib/update-notifier/updates-available: Directory nonexistent
    cat: /var/lib/update-notifier/updates-available: No such file or directory
    run-parts: /etc/update-motd.d/90-updates-available exited with return code 1
    /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: 39: /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: cannot create /var/lib/ubuntu-release-upgrader/release-upgrade-available: Directory nonexisten
    Ubuntu 14.04.1 LTS tegra-ubuntu ttyS0

tegra-ubuntu login: ubuntu (automatic login)

Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.10.67-g458d45c aarch64)

  • Documentation: https://help.ubuntu.com/
    find: `/var/lib/apt//lists/’: No such file or directory
    /usr/lib/update-notifier/update-motd-updates-available: 39: /usr/lib/update-notifier/update-motd-updates-available: cannot create /var/lib/update-notifier/updates-available: Directory nonexistent
    cat: /var/lib/update-notifier/updates-available: No such file or directory
    run-parts: /etc/update-motd.d/90-updates-available exited with return code 1
    /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: 39: /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: cannot create /var/lib/ubuntu-release-upgrader/release-upgrade-available: Directory nonexisten
    Ubuntu 14.04.1 LTS tegra-ubuntu ttyS0

tegra-ubuntu login: ubuntu (automatic login)

Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.10.67-g458d45c aarch64)

  • Documentation: https://help.ubuntu.com/
    find: `/var/lib/apt//lists/’: No such file or directory
    /usr/lib/update-notifier/update-motd-updates-available: 39: /usr/lib/update-notifier/update-motd-updates-available: cannot create /var/lib/update-notifier/updates-available: Directory nonexistent
    cat: /var/lib/update-notifier/updates-available: No such file or directory
    run-parts: /etc/update-motd.d/90-updates-available exited with return code 1
    /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: 39: /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: cannot create /var/lib/ubuntu-release-upgrader/release-upgrade-available: Directory nonexistent
    /usr/lib/update-notif
    Ubuntu 14.04.1 LTS tegra-ubuntu ttyS0

tegra-ubuntu login: ubuntu (automatic login)

Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.10.67-g458d45c aarch64)

  • Documentation: https://help.ubuntu.com/
    find: `/var/lib/apt//lists/’: No such file or directory
    /usr/lib/update-notifier/update-motd-updates-available: 39: /usr/lib/update-notifier/update-motd-updates-available: cannot create /var/lib/update-notifier/updates-available: Directory nonexistent
    cat: /var/lib/update-notifier/updates-available: No such file or directory
    run-parts: /etc/update-motd.d/90-updates-available exited with return code 1
    /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: 39: /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: cannot create /var/lib/ubuntu-release-upgrader/release-upgrade-available: Directory nonexistent
    /usr/lib/upda
    Ubuntu 14.04.1 LTS tegra-ubuntu ttyS0

tegra-ubuntu login: ubuntu (automatic login)

Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.10.67-g458d45c aarch64)

  • Documentation: https://help.ubuntu.com/
    find: `/var/lib/apt//lists/’: No such file or directory
    /usr/lib/update-notifier/update-motd-updates-available: 39: /usr/lib/update-notifier/update-motd-updates-available: cannot create /var/lib/update-notifier/updates-available: Directory nonexistent
    cat: /var/lib/update-notifier/updates-available: No such file or directory
    run-parts: /etc/update-motd.d/90-updates-available exited with return code 1
    /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: 39: /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: cannot create /var/lib/ubuntu-release-upgrader/release-upgrade-available: Directory nonexisten
    Ubuntu 14.04.1 LTS tegra-ubuntu ttyS0

tegra-ubuntu login: ubuntu (automatic login)

Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.10.67-g458d45c aarch64)

  • Documentation: https://help.ubuntu.com/
    find: `/var/lib/apt//lists/’: No such file or directory
    /usr/lib/update-notifier/update-motd-updates-available: 39: /usr/lib/update-notifier/update-motd-updates-available: cannot create /var/lib/update-notifier/updates-available: Directory nonexistent
    cat: /var/lib/update-notifier/updates-available: No such file or directory
    run-parts: /etc/update-motd.d/90-updates-available exited with return code 1
    /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: 39: /usr/lib/ubuntu-release-upgrader/release-upgrade-motd: cannot create /var/lib/ubuntu-release-upgrader/release-upgrade-available: Directory nonexisten

The directory “/var/lib/apt//lists/” is where the package manager keeps records of what packages are installed. At startup, the system checks once to see if there are updates available, and then echos that information to any console login. Having this fail by missing directory implies a corrupted install, or a disk that was full before the package list made its way in.

I’ve never heard of this from a factory fresh Jetson. One strong possibility is that if the system was giving you trouble, and the machine ended up shutting down uncleanly (which would seem to be mandatory and involuntary under the circumstances), then the file system may have truncated data in order to keep the file system at least usable (journaling file systems guarantee an uncorrupted disk, but they do repair at the cost of data not flushed to disk pror to unclean shutdown point). Once this happens, you probably have to start thinking about flash…a brand new Jetson does not have much of anything you would want to save, and flash to R23.2 is recommended anyway (or R24.1 if you wish to work with the new 64-bit features).

Similar conditions could occur if a flash was attempted with a bad image (such as from not using root permissions to unpack a sample rootfs, using an NTFS host file system instead of native Linux file system, insufficient host disk space, or loopback failing). This is of course not the case since this is how the unit arrived from the factory.

So although you could attempt to investigate the file system issue, it is unlikely to have any benefit…having the system crash while automatically checking for package updates during login and starting to write to the package directory is so likely you might as well just flash. Everything should just work after that.

I don’t have a desktop Linux machine handy. Can I reflash from a PC? And in either case, are there instructions somewhere as to how to do it?

The JetPack installer is a front end to the basic flash via driver package plus sample rootfs…using JetPack specifically requires Ubuntu. Manually flashing without JetPack isn’t actually very hard, it’s just a case of running the “driver package” plus unpacking “sample rootfs” on a command line. Both methods use an x86_64 binary program which runs only on Linux, and is the core of flashing…so a 64-bit Linux machine is mandatory. There are people who have used a VM, but it can get a bit more complicated.

Note that a “live” Linux distribution (running from a DVD drive but not installed) could do the job if you have a hard drive partition formatted with a native Linux file system type, e.g., ext4, with enough room (perhaps 30GB of free space beyond whatever the operating system uses). That extra drive space could be a regular disk or USB or eSATA disk.

For R23.2, see:
https://developer.nvidia.com/embedded/linux-tegra-r232

For R24.1, see:
https://developer.nvidia.com/embedded/linux-tegra

Ignoring JetPack, the basic instructions are to download driver package and sample rootfs. Unpack driver package somewhere convenient. Within the driver package, the rootfs directory is for unpacking the sample rootfs (requires sudo or root authority on a native Linux file system type). After that, there is a script “apply_binaries.sh”, you run “sudo ./apply_binaries.sh” from its directory, this completes the nVidia-specific file install into the rootfs. You can then flash.

Put the Jetson in recovery mode…if turned off, hold down the recovery button and tap the power button…if already on, hold down the recovery button and tap the reset button. Connect the micro-USB cable. Verify your host can see the Jetson in recovery mode…verified if there is output from:

lsusb -d 0955:7721

Then, as root or using sudo:

./flash.sh -S 14580MiB jetson-tx1 mmcblk0p1

…this takes significant time, and eventually will reboot. If you use JetPack instead, there are more requirements, e.g., host must be Ubuntu 14.04, ethernet cable must also be attached.

If you need to know more about sudo or file unpacking, just ask.