Enable read-write access on TX2 (as a device) flashed with JP 4.2

Hi,

I want to use TX2 as a mass storage device when flashed with Jetpack (JP) 4.2

I have used the same successfully by following the threads below (For JP 3.3)

https://devtalk.nvidia.com/default/topic/1014096/jetson-tx2/how-to-set-tx2-otg-usb-as-device-mode-/post/5192587/#5192587

and

https://devtalk.nvidia.com/default/topic/1042251/jetson-tx2-otg-mount-device-read-only/

But the same does not work for TX2 flashed with JP 4.2

Am I missing something?

Thank you.

Are you trying to make the entire TX2 visible? The default setup for this is at (this is human readable and can be edited):

/opt/nvidia/l4t-usb-device-mode/nv-l4t-usb-device-mode.sh

This points to a loopback mounted 16MB filesystem within a file, “filesystem.img”. In the default setup, if you run command “lsblk -f”, then part of what you would see is this for the loopback cover of this file:

NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0          7:0    0    16M  1 loop

You can compare with:

# ls -lh /opt/nvidia/l4t-usb-device-mode/filesystem.img
-rw-r--r-- 1 root root 16M Apr 16 16:09 /opt/nvidia/l4t-usb-device-mode/filesystem.img

Depending on what you are doing you may need to point at an actual filesystem, and not a loopback covered file. This in turn can greatly increases complexity if you are to preserve permissions. What is the specific behavior you want? What do you want to see over this filesystem?

Hi,

Thank you for your response. I am trying to create around 7GB partition on the TX2 which would appear as a mass storage device on a host system when it gets connected with with it. I have created a partition and it is visible as a mass storage device as well but I cannot use the partition for creating/dumping new files on the TX2 when a mkdir or touch command is executed on the TX2’s terminal opened in the mounted directory.

Thank you.

What setup steps have you gone through? Where has the partition been mounted? When mounted, what do you see from “lsblk -f /where/ever/it/is/mounted”? Is there an entry in “/etc/fstab” for mounting, and if so, what is the specific line in fstab? If you just mount the partition somewhere manually, does the local console work as expected with that partition?

Hi,

I am trying to create a 7GB partition on Jetson TX2 with Jetpack version 4.2. My requirement is to transfer data from usb 2.0 (which is in device mode) to PC using bulk transfer.
When i try to compare with

ls -lh /opt/nvidia/l4t-usb-device-mode/filesystem.img

it gives the following output…

  1. rw-r--r-- 1 root root 16M Apr 16 16:09 /opt/nvidia/l4t-usb-device-mode/filesystem.img

I am trying to create a partition using …

dd if=/dev/zero of=/opt/nvidia/l4t-usb-device-mode/filesystem.img bs=7M count=1k
Then I make filesystem to vfat and mount it to a specified location.
When i open the terminal from the mounted directory and try to do mkdir it says the location is write-protected, is read -only.
How to give this partition read-write access??

Thanks.

To start with, is this partition an actual partition, or is it a file? If a partition, what designation, such as “/dev/mmcblk0p32”? Assuming it is “/dev/mmcblk0p32” (adjust for your actual case), what do you see from:

lsblk -f /dev/mmcblk0p32

If this is a file, then let me know for different instructions.

Note that you wouldn’t use dd to copy filesystem.img to that partition unless the two were exact matches in size. If that partition is not mounted anywhere, then are you able to mount and umount the partition? Does this work:

sudo mount /dev/mmcblk0p32 /mnt
sudo umount /dev/mmcblk0p32

Also, your dd must specify both a source and a destination. The source (input file) is the “if=” option, the destination is the “of=” option. If you are using a file and not a partition, then the file must also be writable permission for whoever it is being mounted as…there are options for this setup. I have not looked at the options to know who this file shows up for, but while testing, if and only if we are using the original “filesystem.img”, then this might be a valid temporary step for configuration of one part of the permissions:

sudo chmod ugo+rw /opt/nvidia/l4t-usb-device-mode/filesystem.img