Do beware that any ssh related connection may be seeing a different key (and thus think man-in-the middle) and refuse connection. For WiFi I don’t know if there is anything similar, e.g., maybe something in the router needs to be cleared/rebooted.
I too prefer Fedora, that is what my PC runs. When I use the Jetson I almost always use "ssh -Y " and display on my desktop (simplified because I have ssh login via keys set up).
The correct way to add a repo in Ubuntu is probably with the “apt-add-repository”, but I tend to find the information and simply edit “/etc/apt/sources.list” with vi. The trick is to know which repository. You’ll find the existing sources.list, by default, has most of what you’d want if you simply uncomment the correct lines in it…this is what I did. Uncomment and “sudo apt update”.
I have never set up a repository, but I’d expect Packages.gz to be a list of packages the repo has available. In the case of a Jetson where the CUDA or various other “local” repositories go into “/var/” there will be a Packages.gz which goes with it…this is not a web repository, but a file-based local repository. This is what the CUDA repo “.deb” puts in place (along with adding an entry in “/etc/apt/sources.list”).
I’ve not used dpkg-scanpackages, but it looks like it would go something like (this is probably how the Packages.gz was created for the cuda-repo deb):
dpkg-scanpackages /some/dir/which/has/deb/packages > Packages
gzip -9 Packages
Here’s the part you may find of interest. You can flash just ordinary Ubuntu and get most of what you need in terms of boot file and hidden partition infrastructure. Then add an alternate entry for a Fedora boot in “/boot/extlinux/extlinux.conf” naming your different rootfs (such as the SD card at “/dev/mmcblk1p1”) and then this alternate entry would not need anything in its own “boot” directory. This sounds confusing, but here is a bit of a clarification…
During boot several partitions and device tree content (within partitions) set up the board for U-Boot (some setup differs depending on carrier board). U-Boot eventually reads the “/boot” partition of mmcblk0p1 (eMMC, though this could be changed) to see extlinux.conf and to see any files referred to in extlinux.conf. For a TX1 or TX2 under R28.1 or newer this means basically only the Image file of the kernel is read there (don’t bother with zImage, uImage, or any other format…just Image).
You might see references to dtb files or initrd files, but these typically are not used and are a leftover artifact of older versions (you will find dtb has migrated into partitions and the initrd is normally 0 bytes). So if you copy the default entry into a new entry and name “root=/dev/mmcblk1p1” instead of “mmcblk0p1”, then your rootfs will be on SD card. No flashing is required there…it is just a pure copy of the sample rootfs onto the first GPT partition of the SD card which was formatted as ext4 (without 64-bit extensions in most cases would be preferable…in some cases 64-bit extensions will break things, but typically only if it is the “/boot” partition). “/boot” of the SD card will be ignored, everything else will come from the SD card.
If you installed normally to eMMC and have edited extlinux.conf, then on your host you might mount your SD card on “/mnt”, and then as root do something like:
cp -adpR /where/ever/fedora/root/is /mnt
If you are dealing with a live running system you have to not copy pseudo files, e.g., “/sys” and “/proc” are not real files so you wouldn’t want to copy them…when the system is turned off those go away. Otherwise it is just a recursive copy operation.