Different OSes uses different filesystem, and interoperability is not guaranteed; even when commonly known filesystems are supported from both the source and the destination systems, the commands to access/read/write the device might not be immediatley known, generally resulting in ... frustration.
Knowing that, and experiencing the issue myself, I have found the simplest way to transfer files between different Unix/Linux flavours is the good old 'tar' command,. (yes it is a short for Tape ARchive).
How is that ? Simple, 'tar' doesn't need a filesystem to operate, it can write to any raw storage device.
In Linux, the USB stick storage will be recognised as /dev/sdX, where X is the letter indicating the real device,
usually /dev/sda is the first disk, /dev/sdb is the second and so on, and there USB sticks are treated exactly like disks.
In FreeBSD/GhostBSD, USB sticks are named differently from disks, they will be named /dev/da0, /dev/da1 and so on.
In both system you can use "dmesg | tail" after plugging in the stick to check for the correct device name.
Then you can use 'tar' along with the -f option to read/write from/to a specific device, examples:
Code: Select all
# write /home dir to a USB stick device: tar cvf /dev/sdb /home #list the content of the USB stick tar tvf /dev/sdb #extract the content of the stick into the current working directory: tar xvf /dev/sdb
Code: Select all
# write /home dir to a USB stick device: tar cvf /dev/da0 /home #list the content of the USB stick tar tvf /dev/da0 #extract the content of the stick into the current working directory: tar xvf /dev/da0
WARNING: if a USB stick is already formatted, it's content will be completely destroyed by writing using 'tar', and after completing the file transfer you may need to repartition/reformat your USB device.