Ubuntu to me does weird things for networking, and some of it isn’t set up until the GUI runs (this is nonsense, but I guess it is to personalize wireless).
You can flash using an edited system.img.raw and tell it to default to text mode. Here is how…
“In the old days”, there was no compressed version of the image being flashed. It took a long time to flash. There was only system.img, and system.img.raw did not exist. The flash program then and now is capable of flashing correctly whether the image is compressed (sparse) or not (raw). What happened was that system.img was created uncompressed, and still is…but now system.img gets moved to the name system.img.raw, and system.img is created from this. Be careful to not overwrite your raw image if you want to edit…but it is about 15GB in size…so backups will be slow to copy.
Rename system.img.raw so flash.sh can be kept from overwriting it without copy of the entire file (edits to be explained). For example, in the bootloader subdirectory:
mv system.img.raw saved.img
cp saved.img system.img
mount -o loop ./system.img /mnt
# ...now edit extlinux.conf with your favorite editor...
# ...save the edits...
./flash.sh <b>-r</b> -S 14580MiB jetson-tx1 mmcblk0p1
The “-r” parameter tells flash to not generate a new system.img, and instead to reuse the one there now. It just happens that this is the raw image renamed to system.img and edited while it was loopback mounted. Here’s the edit info…
Within extlinux.conf there is a very long line which is the “APPEND” key/value pair. Line wrap will make it look like it isn’t one line, but it is…and it must stay one long line with space separated values. At the end of that APPEND line add a space then:
So long as that particular extlinux.conf makes it in boot should stop at console mode. It may be possible at that point to work directly on the Jetson without crashes getting in the way. Once things are fixed you could remove that edit directly on the Jetson and not worry about flash.
Incidentally, when in console mode, the reverse command to switch to graphical mode is:
sudo systemctl isolate graphical.target