Jetson TK1 GUI not Loading but booting properly!

My jetson tk1 L4T 19.2 board had the problem of logging out abruptly which many people have been having. Yesterday I downloaded Teamviewer, just the .deb, i hadn’t installed it yet and it suddenly went blank(Black).

When i restarted, it started loading usually and even displayed the nVidia logo but after that the screen goes blank.

If i press Ctrl + Alt + F1 it shows the command line. I tried running the following code which was of no use:

sudo apt-get install --reinstall unity
sudo apt-get install --reinstall ubuntu-desktop

I tried this too:

sudo nvidia-xconfig

when i write startx it says the following in the log file /var/log/Xorg.1.log, some X11 paths are missimg:

[  2863.853]
X.Org X Server 1.15.1
Release Date: 2014-04-13
[  2863.854] X Protocol Version 11, Revision 0
[  2863.854] Build Operating System: Linux 3.2.0-60-highbank armv7l Ubuntu
[  2863.854] Current Operating System: Linux tegra-ubuntu 3.10.24-g6a2d13a #1 SMP PREEM$
[  2863.854] Kernel command line: fbcon=map:1 tegraid=40.1.1.0.0 mem=1862M@2048M memtyp$
[  2863.855] Build Date: 30 July 2014  12:24:34AM
[  2863.855] xorg-server 2:1.15.1-0ubuntu2.1 (For technical support please see http://w$
[  2863.855] Current version of pixman: 0.30.2
[  2863.856]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[  2863.856] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[  2863.857] (==) Log file: "/var/log/Xorg.1.log", Time: Fri Sep  5 17:07:01 2014
[  2863.857] (==) Using config file: "/etc/X11/xorg.conf"
[  2863.858] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[  2863.858] (==) ServerLayout "Default Layout"
[  2863.859] (**) |-->Screen "Default Screen" (0)
[  2863.859] (**) |   |-->Monitor "DSI-0"
[  2863.859] (**) |   |-->Device "Tegra0"
[  2863.859] (**) |-->Input Device "Keyboard0"
[  2863.859] (**) |-->Input Device "Mouse0"
[  2863.859] (==) Automatically adding devices
[  2863.859] (==) Automatically enabling devices
[  2863.859] (==) Automatically adding GPU devices
[  2863.859] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[  2863.859]    Entry deleted from font path.
[  2863.859] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[  2863.859]    Entry deleted from font path.
[  2863.859] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[  2863.859]    Entry deleted from font path.
[  2863.859] (==) FontPath set to:
        /usr/share/fonts/X11/misc,
        /usr/share/fonts/X11/Type1,
        built-ins
[  2863.859] (==) ModulePath set to "/usr/lib/arm-linux-gnueabihf/xorg/extra-modules,/u$
[  2863.860] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' $
[  2863.860] (WW) Disabling Keyboard0
[  2863.860] (WW) Disabling Mouse0
[  2863.860] (II) Loader magic: 0xb6754f10
[  2863.860] (II) Module ABI versions:
[  2863.860]    X.Org ANSI C Emulation: 0.4
[  2863.860]    X.Org Video Driver: 15.0
[  2863.860]    X.Org XInput driver : 20.0
[  2863.860]    X.Org Server Extension : 8.0
[  2863.861] Initializing built-in extension Generic Event Extension
[  2863.861] Initializing built-in extension SHAPE
[  2863.861] Initializing built-in extension MIT-SHM
[  2863.861] Initializing built-in extension XInputExtension
[  2863.861] Initializing built-in extension XTEST
[  2863.861] Initializing built-in extension BIG-REQUESTS
[  2863.862] Initializing built-in extension SYNC
[  2863.862] Initializing built-in extension XKEYBOARD
[  2863.862] Initializing built-in extension XC-MISC
[  2863.862] Initializing built-in extension SECURITY
[  2863.862] Initializing built-in extension XINERAMA
[  2863.862] Initializing built-in extension XFIXES
[  2863.862] Initializing built-in extension RENDER
[  2863.862] Initializing built-in extension RANDR
[  2863.862] Initializing built-in extension COMPOSITE
[  2863.862] Initializing built-in extension DAMAGE
[  2863.863] Initializing built-in extension MIT-SCREEN-SAVER
[  2863.863] Initializing built-in extension DOUBLE-BUFFER
[  2863.863] Initializing built-in extension RECORD
[  2863.863] Initializing built-in extension DPMS
[  2863.863] Initializing built-in extension Present
[  2863.863] Initializing built-in extension DRI3
[  2863.863] Initializing built-in extension X-Resource
[  2863.863] Initializing built-in extension XVideo
[  2863.864] Initializing built-in extension XVideo-MotionCompensation
[  2863.864] Initializing built-in extension SELinux
[  2863.864] Initializing built-in extension XFree86-VidModeExtension
[  2863.864] Initializing built-in extension XFree86-DGA
[  2863.864] Initializing built-in extension XFree86-DRI
[  2863.864] Initializing built-in extension DRI2
[  2863.864] (WW) "dri" will not be loaded unless you've specified it to be loaded else$
[  2863.864] (II) "glx" will be loaded. This was enabled by default and also specified $
[  2863.864] (WW) "xmir" is not to be loaded by default. Skipping.
[  2863.864] (II) LoadModule: "extmod"
[  2863.864] (II) Module "extmod" already built-in
[  2863.865] (II) LoadModule: "glx"
[  2863.865] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[  2863.904] (II) Module glx: vendor="X.Org Foundation"
[  2863.904]    compiled for 1.15.1, module version = 1.0.0
[  2863.904]    ABI class: X.Org Server Extension, version 8.0
[  2863.904] (==) AIGLX enabled
[  2863.904] Loading extension GLX
[  2863.904] (II) LoadModule: "nvidia"
[  2863.905] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[  2863.905] (II) Module nvidia: vendor="NVIDIA Corporation"
[  2863.905]    compiled for 4.0.2, module version = 1.0.0
[  2863.905]    Module class: X.Org Video Driver
[  2863.905] (II) NVIDIA dlloader X Driver  19.2  Release Build  (integ_stage_rel)  (bu$
[  2863.905] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[  2863.905] (--) using VT number 8
[  2863.944] (WW) Falling back to old probe method for NVIDIA
[  2863.944] (II) Loading sub module "fb"
[  2863.944] (II) LoadModule: "fb"
[  2863.945] (II) Loading /usr/lib/xorg/modules/libfb.so
[  2863.945] (II) Module fb: vendor="X.Org Foundation"
[  2863.945]    compiled for 1.15.1, module version = 1.0.0
[  2863.945]    ABI class: X.Org ANSI C Emulation, version 0.4
[  2863.945] (WW) Unresolved symbol: fbGetGCPrivateKey
[  2863.945] (II) Loading sub module "wfb"
[  2863.945] (II) LoadModule: "wfb"
[  2863.945] (II) Loading /usr/lib/xorg/modules/libwfb.so
[  2863.945] (II) Module wfb: vendor="X.Org Foundation"
[  2863.945]    compiled for 1.15.1, module version = 1.0.0
[  2863.945]    ABI class: X.Org ANSI C Emulation, version 0.4
[  2863.945] (II) Loading sub module "ramdac"
[  2863.945] (II) LoadModule: "ramdac"
[  2863.945] (II) LoadModule: "ramdac"
[  2863.946] (II) Module "ramdac" already built-in
[  2863.951] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[  2863.951] (==) NVIDIA(0): RGB weight 888
[  2863.951] (==) NVIDIA(0): Default visual is TrueColor
[  2863.951] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[  2863.952] (**) NVIDIA(0): Enabling 2D acceleration
[  2863.952] (EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X
[  2863.952] (EE) NVIDIA(0):     log file that the GLX module has been loaded in your X
[  2863.952] (EE) NVIDIA(0):     server, and that the module is the NVIDIA GLX module. $
[  2863.952] (EE) NVIDIA(0):     you continue to encounter problems, Please try
[  2863.952] (EE) NVIDIA(0):     reinstalling the NVIDIA driver.
[  2864.020] (II) NVIDIA(0): NVIDIA GPU GK20A (GK20A) at SoC (GPU-0)
[  2864.020] (--) NVIDIA(0): Memory: 1048576 kBytes
[  2864.020] (--) NVIDIA(0): VideoBIOS:
[  2864.020] (--) NVIDIA(0): Valid display device(s) on GK20A at SoC
[  2864.020] (--) NVIDIA(0):     DFP-0 (connected)
[  2864.020] (--) NVIDIA(0):     DFP-1 (connected)
[  2864.020] (--) NVIDIA(0): DFP-0: Internal Single Link TMDS
[  2864.020] (--) NVIDIA(0): DFP-1: Internal Single Link TMDS
[  2864.020] (**) NVIDIA(0): Option "Ignore"
[  2864.020] (**) NVIDIA(0): Ignoring display device DFP-0
[  2864.020] (**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for displ$
[  2864.020] (**) NVIDIA(0):     device DFP-1 (Using EDID frequencies has been enabled $
[  2864.020] (**) NVIDIA(0):     all display devices.)
[  2864.021] (II) NVIDIA(0): Validated MetaModes:
[  2864.021] (II) NVIDIA(0):     "DFP-1:nvidia-auto-select"
[  2864.021] (II) NVIDIA(0): Virtual screen size determined to be 1920 x 1080
[  2864.022] (WW) NVIDIA(0): Unable to get display device DFP-1's EDID; cannot compute $
[  2864.023] (WW) NVIDIA(0):     from DFP-1's EDID.
[  2864.023] (==) NVIDIA(0): DPI set to (75, 75); computed from built-in default
[  2864.023] (--) Depth 24 pixmap format is 32 bpp
[  2864.029] (EE)
Fatal server error:
[  2864.029] (EE) AddScreen/ScreenInit failed for driver 0
[  2864.029] (EE)
[  2864.030] (EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
[  2864.030] (EE) Please also check the log file at "/var/log/Xorg.1.log" for additiona$
[  2864.030] (EE)
[  2864.143] (EE) Server terminated with error (1). Closing log file.

Any help is greatly appreciated!

Probably not related, but I’d start by verifying the nVidia specific files are still ok:
sha1sum -c /etc/nv_tegra_release

@linuxdev I entered the command. This is the output. it says libglx.so Failed. Can this be the problem?

/usr/lib/arm-linux-gnueabihf/tegra/libnvdc.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvrm_graphics.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvmm_contentpipe.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvwinsys.so: OK
<a target='_blank' rel='noopener noreferrer' href=''></a>/usr/lib/arm-linux-gnueabihf/tegra/libnvapputil.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvmm.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvodm_imager.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvomxilclient.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvmmlite_utils.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvparser.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvmm_parser.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvrm.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvtvmr.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvmmlite_video.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvtestresults.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvmmlite_audio.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvodm_query.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libtegrav4l2.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvmmlite.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvavp.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvmm_utils.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvmm_camera.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvos.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libjpeg.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvmm_writer.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvddk_2d_v2.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvddk_vic.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvtestio.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvsm.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvtnr.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvmmlite_image.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvomx.so: OK
/usr/lib/arm-linux-gnueabihf/tegra/libnvfusebypass.so: OK
/usr/lib/xorg/modules/extensions/libglx.so: FAILED
/usr/lib/xorg/modules/drivers/nvidia_drv.so: OK
sha1sum: WARNING: 1 computed checksum did NOT match

Not guaranteed to be the problem, but highly likely (I’d bet a small amount of money on it). libglx.so is used in hardware accelerated programs (OpenGL). If your system never tries to use OpenGL it will work…trying to use hardware accel without the lib being there will cause it to fail. All kinds of apps use acceleration, even some screen savers. Possibly TeamViewer does.

FYI, there was probably an external package apt-get download which overwrote libglx.so. I’m not positive, but I seem to recall in R19.3 it was fixed so the apt-get packages would not overwrite this. The file itself is available from the L4T files as part of the “apply_binaries.sh” script. You only need to fix one file without reinstalling L4T, and can ignore the other files apply_binaries.sh installs.

libglx.so file source most likely will be from L4T R19.3, and this libglx.so should work…but since you have R19.2, there is a tiny possibility the R19.3 version will fail (my assumption is you never downloaded R19.2, and R19.2 is no longer available). I’m thinking changes between R19.2 and R19.3 won’t matter. Try it, it won’t hurt even if it fails. First save your current libglx.so somewhere until you are satisfied a replacement works. Download L4T (currently R19.3) driver package from:
https://developer.nvidia.com/linux-tegra-rel-19

By manually extracting just libglx.so you won’t need the others like you would for a full flash. View the contents of driver package file nvidia_drivers.tbz2 in the nv_tegra subdirectory, e.g., “bzcat nvidia_drivers.tbz2 | tar --list”, note libglx.so is provided.

Unpack this nvidia_drivers.tbz2, either in whole or just the one file. You should now have the nVidia-specific files. You will find libglx.so in subdirectory “usr/lib/xorg/modules/drivers/”. This is the new location for R19.3, and why package update doesn’t overwite this in R19.3 (they cheated and moved the file! sneaky, love it)…and also why apt-get package update causes failure in R19.2 (EDIT: I thought these were different paths but they are actually the same). Thus you have to copy from the R19.3 driver package subdirectory into the Jetson at “/usr/lib/xorg/modules/extensions/”, which is a slightly different path. Reboot and see if it works. Should it work, just save a safe copy of this file.

Yeah you are right i never downloaded the R19.2 but should i just Flash the kernel to R19.3 instead. I have an old webcam and i want to do some image processing but its driver is not supported. I am a little new to Linux though i have been using it for about 3 years now. I have no experience in flashing the kernels also, so how should i go about it? I’ll try doing your method first though before i go about changing the kernel.

Thanks a lot linuxdev! Mycommendations to you :)

You should try flashing Grinch kernel.

I do recommend R19.3 over R19.2, and going to u-boot at the same time. But…the kernel itself is not the problem and flashing a kernel without the libglx.so will not fix anything. A complete flash though would install this one file (in addition to many others). Copying the one file though is certainly faster, and if you go to R19.3, you’ll have to download the drivers file anyway.

yeah I would like to do a complete flash and yeah i think i am close to finding a driver for my cam too. But before i do that i would try your method and tell the results by tomorrow. And by the way, as i told before i am new to this, can you direct me to how to complete flash the kernel? i am not able to find a nVidia authentic instruction. And is R19.3 released by nVidia or does it matter if its not?

A hot topic…so many have come to forums to get flash info. Earlier published instructions have changed slightly, so most of nVidia official docs are correct, but some parts are deprecated. E.G., there was a one time execution of a file in an ubuntu subdirectory after first boot…this is no longer required and that one-time file doesn’t exist in R19.3. And yes, R19.3 has been released for a while now, I don’t even think R19.2 is available (shown as Linux for Tegra R19). Basic download location:
https://developer.nvidia.com/jetson-tk1-support
…this includes some documentation as well. You have to log in to access most of it.

Update comes in basically three flavors: Kernel, boot loader, and root file system (rootfs). Full flash upgrading to R19.3 basically means rootfs, in which case a kernel update comes with it; default R19.3 flash upgrade allows you to pick u-boot instead of fastboot, but fastboot is the default…you should probably pick u-boot since it can simplify so much.

Gotchas are best known ahead of time: (1) You must preserve file permissions during all unpack and flash procedures…this means you must be root or have root authority (sudo), and it also means your host file system must support linux permissions. If you use a windows or Mac file system on your linux host, the flash will fail. (2) You must have /dev/loop0, and it must be available…if this already exists and it isn’t used by something else, you’re ready; use “losetup --find” as root and it will report your first unused loop device and also create it if it isn’t there…doing as non-root will report device, but will NOT create it. Look for /dev/loop0 and you are all set. Most instructions from the nVidia page are now ready.

Unpack files, including driver package and sample rootfs. Run apply_binaries.sh. You’re ready to flash (from the host side at least…plug in the mini-B USB cable to host and Jetson, hold recovery button down on Jetson, plug in power…Jetson is now in recovery mode). Not sure if the regular USB cable is also required, won’t hurt to connect it.

Typical command line:
flash.sh -S 14 GiB -L bootloader/u-boot.bin jetson-tk1 mmcblk0p1

…this uses optional u-boot instead of fastboot. Had fastboot been used, you’d need to specify -k 6. U-boot looks for zImage in /boot instead of partition 6.

This process takes a long time. It creates an image file the same size as your Jetson system, so around 15 or 16 GB; it then populates it with kernel and rootfs on loopback…this can take quite some time, even an hour or more.

Thank you Linuxdev. I am going to try it now. Didn’t get time in the morning. I am going to do this from my Windows laptop running ubuntu in virtual box and usb drives assigned. I will follow the instructions given in the web here https://developer.nvidia.com/sites/default/files/akamai/mobile/docs/l4t_quick_start_guide.txt and will create loop0 as you said. But i find the instructions confusing. Can you elaborate about the cabling?

But the code given in the site is:

sudo ./flash.sh -S 8GiB ${BOARD} mmcblk0p1  #This will take about 30 minutes or more.

What should i do?

This might be a stupid question but are all the commands run on the host system or tk1 board? i am talking about these commands:

sudo tar xpf ${RELEASE_NAME}
   cd Linux_for_Tegra/rootfs/
   sudo tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R19.3.0_armhf.tbz2
   cd ../
   sudo ./apply_binaries.sh

If you ask me it would be wonderful if someone uploaded a video for flashing the kernel.

Thanks in advance.
Edit:
I found out that the steps are to be performed on the Host PC but is it necessary to have the serial cable plugged in?

The 8GiB size is minimal and will leave little to work with. 14GiB will use the whole eMMC disk. The sample they give is outdated, and at one time may have been enough (don’t forget that L4T runs on more than Jetson and has been evolving several years).

Their sample also assumes fastboot rather than u-boot. Every fastboot kernel install will be a flash from the host. If instead you use u-boot you can simply copy new zImage kernels to /boot and edit a boot menu…you even get to multiboot multiple kernels with u-boot (all independent of host with no flash required).

All of those commands are on the host from the L4T directory where you have the flash.sh script unpacked…rootfs, kernel, bootloader, and nv_tegra are subdirectories from that directory. You would not be able to run these from the Jetson itself, at least not successfully…one of the files is the size of the entire eMMC disk, another a copy of the files on that disk, others are x86 executables (not ARMv7).

I got my Jetson TK1 board in May, so I was excited to see that there was a new version of L4T (Tegra124_Linux_R19.3.0_armhf.tbz2). I was looking for a more stable video driver.

While the driver doesn’t seem much better, I was able to update my board without any trouble on 2014-08-12. All these steps were accomplished directly logged into the board. Most of these steps are found on the Nvidia support page. Below is my condensed version.

Updating Drivers on an Existing Target System

These instructions are for the situation where there was a previous release or driver package loaded onto a target board and that target device is booted.

  1. Make sure the board has an internet connection via ethernet
  2. Log into the Jetson TK1 board.
  3. From the nvidia.com links with wget, download the NVIDIA Tegra Linux driver release and the additional support packages.
wget \
http://developer.nvidia.com/sites/default/files/akamai/mobile/files\
/L4T/Tegra124_Linux_R19.3.0_armhf.tbz2
  1. Become root and extract the release.
$ sudo su
$ tar xvjf Tegra124_Linux_R19.3.0_armhf.tbz2
  1. Set the LDK_ROOTFS_DIR variable to point to the root ‘/’ directory.
$ export LDK_ROOTFS_DIR=/
$ echo ${LDK_ROOTFS_DIR}
  1. Change into the Linux_for_Tegra directory and run the script to install the NVIDIA drivers onto your target board.
$ cd Linux_for_Tegra
$ ./apply_binaries.sh
  1. Confirm success
$ sha1sum -c /etc/nv_tegra_release

If the driver update is successful, you will see a line similar to:

/usr/lib/xorg/modules/drivers/nvidia_drv.so: OK

If the file is missing or unreadable, you will see a line similar to:

sha1sum: /usr/lib/xorg/modules/drivers/ nvidia_drv.so: No such file or directory
/usr/lib/xorg/modules/drivers/ nvidia_drv.so: FAILED open or read

If the file is not the same as the existing file, you will see a line similar to:

/usr/lib/xorg/modules/drivers/ nvidia_drv.so: FAILED

I hope that is clear and helpful. Good luck! Oh, and a final note: do keep that sha1sum check around. I’ve discovered that an Ubuntu update can break your system libraries. Today, it overwrote GLX.so, and that’s how I found my way back here ;)

Having the mini-B USB plugged in is mandatory. I’m not sure if any other cables are actually required, probably not…but I happen to have had the others plugged in while flashing so I can’t guarantee it.

I doubt the serial cable needs to be plugged in because there is no option for setting up serial port for flash, e.g., no need to say 115200 bps or 8N1. The thing about the mini-B USB cable is that plugging in “type B” is what causes the Jetson to become a device to be programmed instead of a host doing things…combined with power on and the recovery button held in to enter the right software to drive the device mode. So the USB mini-B and recovery button are the key to flashing the Jetson.

Wait, in the instructions, it says that i need to connect it, then switch on and go to reset recovery by holding force recovery and tapping reset button. What should i do?

Thanks in advance!

The serial cable is used for serial console. It never hurts to have this connected, and anything referring to information provided by the serial console would need this connected. I do not believe this cable directly alters anything in actual flash.

Flash and recovery mode use the mini-B USB connector though…this particular USB cable must be attached for flashing. All flash data and flash commands go through this cable if and only if in recovery mode (outside of recovery mode a mini-A USB cable could be used and the port would become ordinary USB). Whether or not you observe serial console messages concerning the flash or any boot depends on serial console connection. The flash script itself should show information for flash.

FYI, holding recovery button down during a reset event starts recovery mode. Cycling power by any means, or hitting the reset button, causes a reset event, so basically it is just saying reboot or boot while holding the recovery button down. Entering recovery mode does not cause any change to the Jetson unless the flash program is also run…feel free to observe console messages entering recovery mode and simply disconnect power or reboot to skip actual flash.

Hey linuxdev, i Booted while pressing the force recovery button how do i know that i have entered the recovery mode? I held force recovery button and pressed reset button, just as you said but the usual loading screen didn’t appear, actually my monitor is not getting any input from the board though the power led is on and the fan too. Is this what’s supposed to happen?

Note: when i used lsusb command it showed Nvidia Corp.

I have set up everything else and even checked for loop0 as you said. this is the only thing remaining.

And i have decided to make the flash size 14580MiB as its given in eLinux web site:http://elinux.org/JetsonTK1

Thanks in Advance!

When you’re in recovery mode, there is no output on the screen.

Whether the flash script lets you flash is probably the indicator. Your Jetson is no longer a computer per se when in recovery mode…serial port has not been set up like u-boot for fastboot would set it. Even with u-boot and fastboot video output does not work until the kernel gets to that point…and of course recovery means you never even got to u-boot or fastboot. So what you saw is the correct behavior…its the bare metal set up only to absorb what flash tells it to absorb.

lsusb showing nVidia indicates that the USB correctly became a device instead of a host…it’s just a device type only the flash script understands. Looks like you are ready to flash.

Okay now its getting frustrating. I successfully flashed the board (Ah, finally!) and it took some time but it booted into the usual GUI, i ran update and upgrade. I then installed chromium browser. Then it prompted saying that new Ubuntu updates were available and i installed them. Then i had to restart, which is usual, after which it booted this way:

The row of console lines dropped down as usual. But in middle it paused for some time then all the fonts shrunk in thickness and the same problem reappeared. my GUI is not loading again.
With the sha1sum it again says that libglx.so failed.

Ill try replacing the file myself. Ill try flashing again if that doesn’t work. But why is this happening again and again?

Your package updates are overwriting libglx.so. Your system is compiled against nVidia’s hardware accelerated libraries, and require this one. Since you’ve flashed, you have libglx.so on your host in the sample rootfs, as well as loopback mountable system.img. Just copy it over to Jetson with scp, and keep a backup of this file.