I purchased hardware for the serial console on my nVidia Jetson TK1.

1.jpeg 2.jpeg

reference sheet

Sabrent USB 3.0 to Serial (9-Pin) DB-9 RS-232 Converter Cable (CB-DB9P) 10-Feet Straight Through Serial Cable - M/F (MXT10010)

Bargain Cable DB9 Female / DB9 Female Null Modem Mini Adapter



Although the community has made significant advances in the past few years (e.g. device tree), most ARM devices require a custom-built kernel for that particular device. In practicality, this means the only way to upgrade is to build your own kernel. If you have any interesting in running a modern distirbution on an ARM device, like I do, then you don’t really have any choice but to keep the system’s kernel up-to-date.

But what does this have to do with a serial console?

Unlike x86, where BIOS + VGA is responsible for console output, with ARM the kernel is solely responsible for video. So what happens if you get some of the details wrong and your kernel doesn’t know how to output anything to video? You get a black screen with no information to help you troubleshoot. This is where a serial console comes into the picture.

Since serial console is one of the first things the kernel has access to, and is (relatively) easy to configure, it’s an extremely useful tool for troubleshooting the exact sort of problem that would otherwise leave you with a blank screen and not much else.

After connecting the TK1 to my computer, opening a serial console with minicom is trivial.

$ minicom -D /dev/ttyUSB0