Date: Mon, 19 Oct 2009 11:47:13 -0400 From: Christopher Sean Hilton <chris@vindaloo.com> To: PJ <af.gourmet@videotron.ca> Cc: Polytropon <freebsd@edvax.de>, freebsd-questions@freebsd.org Subject: Re: usb key problem Message-ID: <20091019154713.GB1499@geonosis.vindaloo.com> In-Reply-To: <4AD7B8F0.20903@videotron.ca> References: <4AD79FE4.6010109@videotron.ca> <20091016012610.99efbf26.freebsd@edvax.de> <4AD7B8F0.20903@videotron.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Oct 15, 2009 at 08:06:08PM -0400, PJ wrote: > Polytropon wrote: > > On Thu, 15 Oct 2009 18:19:16 -0400, PJ <af.gourmet@videotron.ca> wrote: > > [snip...] > > Anyway, I found the solution on the web... couldn't belive it was that > simple: just ignore the crap spewed out on the screen and just mount iit > as you would any other disk. > # mount -t msdosfs /dev/da0s1 /mnt > and that's it > I don't know if it makes any difference, but I did delete everything on > the key and formatted with Fat32. That got rid of everything and only > took up 4k instead of 32 when not formatted and I could put my own label > on the disk. > Yea! > Now to see how I can use it to restore stuff. :-D The SanDisk keys include two devices, a umass disk device and and usb psuedo CD-ROM drive. The CD-ROM drive only works properly in windows. It doesn't work in FreeBSD and throws errors at key-insertion time. Downthread a poster suggested putting a FreeBSD filesystem on this drive: # newfs /dev/da0 # mount /dev/da0 /mnt The advantage to this is that you get full FreeBSD filesystem sematics from the drive. The disadvantage is that you have to make sure to umount it before unplugging it in. If you don't umount it you will be asked to fsck it on next insert. I don't find the disadvantage that heinous so I keep a few sticks around with UFS filesystems on them. If you choose to use UFS here's two things that are really helpful: Use a label so your drive doesn't appear in different places. When you make your filesystem ensure that you put a unique (to you) label on it: # newfs -L my_usb_stick /dev/da0 # mount /dev/ufs/my_usb_stick /mnt Use amd to mount the stick rather than doing it manually. Amd is designed to automatically mount and dismount transient filesystems. It was originally built with NFS filesystems involved but it adapts well to UFS filesystems on transient devices with a workaround. I use the following configuration spread through three files: $ cat /etc/amd/amd.conf [ global ] search_path = /etc/amd auto_dir = /.amd cache_duration = 30 ## log_file = syslog:daemon ## log_options = fatal,error print_pid = yes pid_file = /var/run/amd.pid restart_mounts = yes [ /media ] map_name = /etc/amd/media.map $ cat /etc/amd/media.map ## ---------------------------------------------------------------------- ## Create a map that will allow mounts of appropriately labeled ## UFS filesystems. We have to use the 'program' mount type ## because amd predates hot-pluggable removable storage. Thus amd ## will never timeout a volume that it knows is UFS. /default type:=program * rfs:=/dev/ufs/${key};fs:=${autodir}/${key};\ mount:="/sbin/mount mount -o nodev,noexec ${rfs} ${fs}";\ unmount:="/sbin/umount umount ${rfs}" $ grep "^amd" /etc/rc.conf amd_enable="YES" # Run amd service with $amd_flags (or NO). amd_flags="-F /etc/amd/amd.conf" Those three config snippets pretty much do it for me. The first sets some parameters on how amd runs. The second tells amd how to manage the /media directory which is where you usb stick(s) will show up. It also has the workaround. As noted above amd knows about UFS mounts but for some reason it never times them out. Using the 'program' filesystem gets around that. The third is the portion of /etc/rc.conf that automatically starts amd using the config above. I created a directory in /etc: /etc/amd to manage everything in one place. The mount is done without exec and without devices for security reasons. The technique works for any transient filesystem. USB, Firewire, eSata. With this configuration users can force a mount an attached the above filesystem, my_usb_stick, by doing the following: $ ls -l /media/my_usb_stick Note well that you can do this as a normal user. The filesystem will be automatically unmounted in 30 seconds. If you want to unmount the filesystem "forcefully" you can do: $ amq -u /media/my_usb_stick Again note that you don't have to transistion to root to do the unmount. This works well for me. Your mileage may vary. -- Chris
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091019154713.GB1499>