.. include:: /substitutions.rst .. index:: single: linux-quickstart .. _linux-quickstart: Linux Quickstart ================ This quickstart guide is for using Jupiter Nano with Linux, and assumes you are familiar with Linux and Internet networking. If not, please see :ref:`linux-jupiter-nano`. Creating a Bootable Micro SD Card - Linux ----------------------------------------- Download this disk image and burn it to your Micro SD card using `Balena Etcher `_. `Jupiter Nano Debian Linux image `_ Connecting to Jupiter Nano -------------------------- Jupiter Nano has been tested on macOS and Linux. If you have problems, please contact the `Jupiter Nano mailing list `_. #. Install the Micro SD Card. #. Plug in the Micro USB cable to the Jupiter Nano Console port. #. Start a serial terminal: .. code-block:: bash $ picocom --imap lfcrlf -b 115200 /dev/ttyACM0 (Or use whatever device your serial terminal is on your machine.) #. You should see the system booting (click the image to enlarge it): .. image:: ../images/jn-initial-boot.png :width: 950 :alt: Jupiter Nano Linux initial boot screen |br| #. Log in .. code-block:: bash Login: debian Password: password You should see something like this: .. image:: ../images/jn-login-screen.png :width: 950 :alt: Jupiter Nano login screen |br| #. Do something: .. code-block:: bash $ ls -FA / Networking Using Ethernet over USB ---------------------------------- These instructions have only been tested on Linux. On macOS and Windows you will need to do something similar to what is in the netusb.sh script. If you get a script running for these platforms, please contribute it to the `Jupiter Nano Tools repository `_ via a pull request! #. Plug a Micro USB cable to the Jupiter Nano Native port (keep the Console cable plugged in) #. Using the Jupiter Nano console session, start the network: .. code-block:: bash $ sudo /usr/bin/netup.sh This will bring up the ``usb0`` USB Ethernet Gadget interface, give it an IP number of ``10.0.0.2``, and set the default route to ``10.0.0.1``. #. On your Linux workstation, set up the network there (replace ``wlp0s20f3`` with the name of the network interface that you use to connect to the Internet): .. code-block:: bash $ cd jupiter-nano-tools $ sudo ./scripts/netusb.sh wlp0s20f3 usb0 on This brings up the ``usb0`` USB Ethernet Gadget interface on your local machine, gives it the IP address of ``10.0.0.1``, and sets up routing to the Internet. #. Then you can do: .. code-block:: bash $ ping 10.0.0.2 $ ssh debian@10.0.0.2 #. On the Jupiter Nano console or ssh session, you should be able to do the following: .. code-block:: bash $ ping 10.0.0.2 $ ping 8.8.8.8 $ ping www.google.com