Tutorial  Updated

L4T Ubuntu Install guide

l4t.png
This will be yet another simple guide on how to install L4T on your Switch. In case you didn't know, L4T Ubuntu is a Linux distro running a custom kernel optimized for NVIDIA Tegra devices, hereby making audio support possible without having to attach external peripherals to your Switch! You can read its full list of features here. Now you may ask, why L4T over the other Linux distributions? Well, simply because it is the most recent, relevant & maintained build, includes the previously mentioned audio support and setting it up is relatively easy (and needless to say, the older Linux distributions for the Switch are obsolete at this point). Some users out there stumbled upon difficulties in getting this to work, so in order to keep the forum clean of any unnecessary and frequent questions, people struggling with it can read through this tutorial and find their solution to their problem.(hope this will help users refraining from flooding the entire Switch Hacking section with new threads, should they need help to get Linux to work)

I will explain step-by-step how to install it, but before we begin:
General Warning
Carefully read through the guide, and if unsure what to do next, re-read it carefully and feel free to ask about any questions and concerns below.
Don't rush headlong into something and don't skip any of the steps.
As usual, neither I, nor its developer (or anyone else in the community) will be held liable for any damages involving your Switch and its accessories. You take full responsibility for your actions, so be civil and don't be rude to others.



What you'll need:
  • A functioning Nintendo Switch (assuming the SD card slot and the USB port work).
  • An USB Type-C - to A cable.
  • An SD card adapter (in case your PC/Laptop doesn't have a built in card reader, and/or is broken).
  • The Switch Dock (optional).
  • Any means of entering RCM (AutoRCM,jig,paperclip etc).
  • A SD card with a minimum capacity of 16 GB, but 32 GB is preferable.
  • The required L4T image file and the updates zip.
  • Hekate payload(versions 4.10.1 and latter), we will use it to chainload Linux.
  • TegraRCM GUI (used for injecting the payload onto your Switch).
  • Etcher or any other program that can write .img files to SD cards.
Before we begin, make sure you got everything in the aforementioned list prepared and ready.
Without further ado let's get in, so follow the steps below.

STEP 1:
First and foremost, if you have any important files on your microSD, you should back them up now.
Writing an image to a disk will overwrite any previous data on it, so copy everything yo wish to save before proceeding.

STEP 2:
Download the L4T image file here and extract it somewhere on your computer (the desktop would be a good place for ease of access).
Go over to this GitHub repo, and download the hekate release zip file from the assets down below.
You will need this additional L4T 1.3.1 update in order to fix some bugs present in the initial release. Last but not least, grab TegraRCM GUI from this website, (choose the .msi installer or the portable .zip, whichever best suits your needs).

STEP 3:
Now that you got all of the needed files mentioned above, it's time to flash the extracted "SD.img" image to your SD card. However, to do so, you'll need to have an app like Etcher installed. You may use any other similar app, but for simplicity's sake I am going to be using Etcher, which you can download from here. Y
Run the etcher setup.exe once it finishes downloading and you will be greeted by the initial installation window. Click the "I Agree" button and wait until it does its thing.
etcher instsllation.png

Etcher should automatically open after it's done installing; if not, simply launch it by double-clicking its icon on the Desktop.
Now click on the big, blue, rectangular "Select Image" button as shown, then browse to the directory where you have stored your .img file and select it.
blue ractangulat.png

By default, Etcher will detect your SD card automatically. However, if you have more than just one inserted and you want to be sure to not flash it on the wrong drive, simply click "Change" and choose whichever SD card you want to flash it to.
Click on "Flash" and wait. Do not touch your SD card and/or adapter during this process because you might accidentally disconnect it, thus interrupting the process.
It may take some time for it to flash & verify, so please be patient.
flash.png

After it's done flashing, it's time to extract the v1.2 update to its respective partition. (Do not format your SD card if windows prompts you to do so).
Etcher will split your SD card in two partitions:
usb partitions.png

Click on the FAT partition and delete the 'boot' folder and 'boot.src' files, as they will conflict with the update data.
You must extract the "bootloader" and the "l4t-ubuntu" folders, overriding any existing files if prompted to do so.

STEP 4:
Installing TegraRCM GUI :
TegraRCM is really easy and straightforward to set up; you just install the .msi version or the portable version.
Both work fine, however you need to install the libUSBK driver before you can inject a payload to your Switch.
First, get into RCM on your console. If you don't know how to do that, look up one of the many available guides on this website.
Launch TegraRCM GUI, then click on the "Settings" tab and, after that, click on the "Install Driver" button as shown below:

rcm driver.png

After a successful installation, a pop may show up, asking you to restart your PC.
Do so and your TegraRCM should be ready to inject payloads.

STEP 5:
Eject your SD card from your PC and put it back in your Switch.
Connect the console to your PC and, while in RCM, push the "hekate 4.10.1.bin" payload onto it. In case you didn't know, you can select a payload by clicking on the tiny folder icon, then browse to your destination where you saved your payloads. Select your "hekate 4.10.1.bin" payload and hit "Inject Payload".
On to the switch.
After injecting hekate, the bootloader's menu should pop up.
Choose Launch > More Configs > L4T.
IMG_20190510_203052.jpg
IMG_20190510_203127.jpg

Choose L4T and wait. During the initial setup it'll take about 2-5 minutes to bring up the terms and agreements window, so don't panic: be patient and stand still.
You should not dock your switch at this point or it might cause problems later on.
Subsequental boots will be swifter, so don't worry about that.
Now you'll have to go through the inital setup: tick the "I accept the terms of these licenses" and click on "continue". Choose your desired language, time zone and you may also optionally connect to a WI-Fi network.
Then you'll have to fill in your user credentials (username and password).
After you've set everything up, the system will install its prerequisites, which shouldn't take long.
Once all of the needed files are extracted and you are brought to the user login screen, it is suggested that you power off your Switch (hold the power button for 10 seconds to do so).
Inject Hekate and boot up L4T again.
This time however it is fine (and advisable) to have your Switch docked. Having the addition of a keyboard and mouse can be quite a convenience. You can connect them via USB using the Dock's ports.

STEP: 6
Now we should resize the system's partition using the available free space.
Press the Windows key on your keyboard and search for "Disks" (without quotes of course).
Load up the disks app and highlight the second orange square and click on it.
Click on the small wrench icon and then on "Resize...", which will pop up another window, From now on, you can select how much available free space you want to allocate to that partition by sliding it with your mouse.
IMG_20190510_212007.jpg
IMG_20190510_212027.jpg




And that's pretty much it guys. You now have Linux running on your Switch.
Though, keep in mind that Vulkan is buggy and joycons attached to the tablet don't work.
I would recommend you to run this in docked mode for an optimal experience and increased performance.
Check out this guide on how to install applications on it.

Updated guide on June 15th 2019 to add the additional 1.3.1 bug fix update.
Full 1.3.1 update change log


    • Changelog:
    • 1.3
    • Enabled all iptables and bridge stuff in kernel.
    • Added SLEEP support (press power button), note the device may randomly wake up and log out if sleep is activated while logged i n, if this happens to you please ssh in and upload the contents of /var/log/syslog .
 
Last edited by NoNAND,

tabzer

This place is a meme.
Member
Joined
Feb 15, 2019
Messages
5,844
Trophies
1
Age
39
XP
4,908
Country
Japan
the command

What command? If it's a command to install a firmware patch that alters how the hardware works, then it is permanent. Not that there are any firmware patches available, but you should ask the people who told you the command, if you don't understand what it does.
 

USUKDecks

Well-Known Member
Newcomer
Joined
Jan 18, 2020
Messages
64
Trophies
0
Age
43
XP
258
Country
United States
"they" didn't tell me, they told everybody:

https://gbatemp.net/threads/l4t-ubuntu-a-fully-featured-linux-on-your-switch.537301/

mid way down the original post:

  • NEW: To activate 2 ghz mode run
    Code:
    echo 1 | sudo tee /sys/kernel/tegra_cpufreq/overclock
    echo 2091000 | sudo tee /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq
    then run the command to force max freq if you want to use anything intensive

  • To always use 2.0ghz mode copy
    Code:
    echo 1 > /sys/kernel/tegra_cpufreq/overclock
    echo 2091000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq

    to /etc/rc.local before the exit 0 line

thats the original post, this one we're in came later done by someone else. they left out A LOT of the info from that main page.
It looks like the "run" command maybe isn't permanent and the "always" one is. But don't know. Then how is the overclock removed and put back to normal, which they don't cover.

And I understand what it does but what you're saying is that these cpu changes occur at the bios level and regardless of what you boot into, once any changes are made, the switch initially boots with those settings for everything and its not determined by what you're booting into telling the switch to "overclock" when you run it?

Cause I know for sure, its not like that for everything. I have a Pi4 with 3 different SD cards and each one will tell the cpu/gpu what speed to run when it boots up. One is stock the other 2 are not. The speed is determined by which card I put in. So technically the Pi always runs stock speed regardless which card I put in, but then a few lines in a file changes that, at boot, depending on what is on that file in the card.

So I want to know if it's definitively that way or not for the switch too.
 
Last edited by USUKDecks,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Xdqwerty
    what are you looking at?
  • BakerMan
    ReZ and Xdqwerty, please stop looking at me.
    Xdqwerty @ Xdqwerty: idk