endot

eschew obfuscation (and espouse elucidation)

Mounting USB Ext3 Partitions on OpenSolaris

[Update] It looks like this only really applies to USB flash drives.  When I mounted my actual backup drive, it showed up in prtpart.  This post was written using the root drive on my old backup server, which is a SanDisk Cruzer flash drive.


Now that I finally got my mini thumper up and online, it’s time pull everything from my previous  backup drive.  The problem is that it’s a USB drive with an ext3 partition on it.  I did a little googling and found several references to using the belenix FSWpart and FSWfsmisc packages, with this one being the most helpful.

My only problem was that when I ran prtpart, it only showed disk information for my non-USB drives.  I could see that the drive was recognized by looking in syslog:

1
2
3
4
root@silo:~# cat /var/adm/messages
Mar 14 12:03:36 silo usba: [ID 349649 kern.info]        SanDisk U3 Cruzer Micro 0774920CB281D664
Mar 14 12:03:36 silo genunix: [ID 936769 kern.info] scsa2usb0 is /pci@0,0/pci1462,7418@1d,3/storage@1
...

So, I dug around a bit, trying to look for various names in /dev/rdsk that were in the above output when I stumbled across the fact that everything in /dev/rdsk is a symlink.  So I did a quick grep:

1
2
3
4
5

root@silo:~# ls -al /dev/rdsk/ | grep /pci@0,0/pci1462,7418@1d,3/storage@1
lrwxrwxrwx   1 root root  64 2010-03-14 12:03 c11t0d0p0 -> ../../devices/pci@0,0/pci1462,7418@1d,3/storage@1/disk@0,0:q,raw
lrwxrwxrwx   1 root root  64 2010-03-14 12:03 c11t0d0p1 -> ../../devices/pci@0,0/pci1462,7418@1d,3/storage@1/disk@0,0:r,raw
....

Aha! Now I know what the device name is, so I can use prtpart to figure out what to mount:

1
2
3
4
5
6
7
8
9
10
11
root@silo:~# prtpart /dev/rdsk/c11t0d0p0 -ldevs
Fdisk information for device /dev/rdsk/c11t0d0p0

** NOTE **
/dev/dsk/c11t0d0p0      - Physical device referring to entire physical disk
/dev/dsk/c11t0d0p1 - p4 - Physical devices referring to the 4 primary partitions
/dev/dsk/c11t0d0p5 ...  - Virtual devices referring to logical partitions

Virtual device names can be used to access EXT2 and NTFS on logical partitions

/dev/dsk/c11t0d0p1      Linux native

And mount it:

1
2
3
4
root@silo:~# mkdir /mnt/linux
root@silo:~# mount -F ext2fs /dev/dsk/c11t0d0p1 /mnt/linux
root@silo:~# ls /mnt/linux/
bin  dev  etc  home  initrd  lib  lost+found  media  mnt  proc  root  sbin  sys  tmp  usr  var  www