Headless Installation for Jetson Nano - Forecr.io

Headless Installation for Jetson Nano

Jetson Nano

25 October 2021

In this blog post, we will explain how to make a headless installation using Ethernet on Jetson Nano after installing the Jetson OS. To learn how to install Jetson OS using SDK manager, click here. In the linked page, follow the first two steps ("Including the Image and DTB file in Jetson OS Image" & "Installing the Jetson OS") on it and return to this guide.

How to Make Headless Installation for Jetson Nano on Ubuntu Host?


When you connect your Jetson Nano to a host computer with microUSB, it appears as ACM*, * as 0 ,1, 2, etc. You can check the port name by the following command.


ls /dev/ttyACM*


Now, you need to install a serial terminal application like “screen” to serially transfer data to the Jetson Nano. 


sudo apt-get install screen


Then, connect to the Jetson Nano using “screen” by specifying its port name (/dev/ttyACM0) and speed (115200). 


sudo screen /dev/ttyACM0 115200


System configuration will start at the serial terminal as follows. If it doesn’t, press ESC a few times. Press Enter to continue.



Press Enter to accept the License Agreement.



Choose a Language, then press Enter. 



Choose a country. If your country is not in the list, choose other option. Then, press Enter to continue.



If you chose “other” as the country, choose your continent/region. Then, press Enter to continue.



Select your country. Then, press Enter to continue.



If your country is not defined in the system, you will see the following. Choose a locale of language and country. Then, press Enter to continue.



Choose Yes if you want to use the time as UTC. Choose No if you want to set your own time zone. 



Choose a full name and user name for your Jetson Nano.



Set up a password, re-enter the password for verification.



If your password is weak, you will receive the following warning. Click Enter if you want to continue with the weak password. Choose No if you want to change it.



Choose the Network type. Since we connected the network using Ethernet, choose eth0. 



After the network configuration ended, type the hostname and select the power mode.



Wait until the installation is complete.



Close the screen terminal and connect to Jetson Nano again with the same command.


sudo screen /dev/ttyACM0 115200


This time after entering the username and password, you can use your Jetson Nano.



To use your Jetson Nano over the network, use ssh after learning the IP address. 


ifconfig


Open a new terminal and connect the board by using the following command. Click yes if you receive the following warning and enter the password.


ssh nvidia@{ip-address}


You can now start using Jetson Nano even if you remove the USB cable. 


How to Make Headless Installation for Jetson Nano on Windows Host?

To complete headless installation for Jetson Nano on Windows Host, check the port name on the Device Manager / Ports. The module uses COM8 port in here.



You should use a serial terminal application for Windows such as PuTTY as in this post.

Open PuTTY, choose Serial, enter the port name (COM8) and speed (115200).



Complete the System Configuration Settings as explained before. When you connect to Jetson Nano using the puTTY again, you will access to your Jetson Nano. Enter the user name and password you specified before.



To connect the Jetson after removing the USB cable, check the IP address by running the following command.


ifconfig



Open puTTY again, choose SSH and enter the IP address.



If you receive such an alert, click Accept.



After entering username and password, you can use your Jetson Nano even after removing USB cable.


[Optional] How to Enable Auto-Login for Jetson Nano?

In headless installation, the system is installed by disabling automatic login. If you want to use your device with VNC viewer without any HDMI connection, you should enable it. To do this, type these commands in serial connection to enable automatic login and reboot the device.


sudo sed -i "s/# AutomaticLoginEnable = true/AutomaticLoginEnable = true/g" /etc/gdm3/custom.conf
sudo sed -i "s/# AutomaticLogin = user1/AutomaticLogin = $USER/g" /etc/gdm3/custom.conf
sudo reboot


To avoid kernel update with "apt upgrade" or "apt-get upgrade" commands, please follow this guide on the Jetson module.



Hint: After completing the VNC server installation from here, the default resolution comes with 640x480. To increase the resolution on that, you can increase it according to your needs with this command:


xrandr --fb {custom_resolution}

Thank you for reading our blog post.