117 lines
3.5 KiB
Text
117 lines
3.5 KiB
Text
+-----------------------------------------------------------------------
|
|
| Running ${PKGSTEM} on OpenBSD
|
|
+-----------------------------------------------------------------------
|
|
|
|
Utilities
|
|
=========
|
|
|
|
cd_disect Display SCSI / ATAPI device information
|
|
cd_sessions Optical device sessions report
|
|
mmc_format Format optical media
|
|
newfs_udf Format a filesystem
|
|
udfclient Read or write to a filesystem
|
|
udfdump Display contents of a filesystem
|
|
|
|
Issuing any command without options will produce a usage summary.
|
|
|
|
Considerations
|
|
==============
|
|
|
|
Special files and links
|
|
-----------------------
|
|
|
|
* All links will be followed and files replicated when copied to
|
|
a UDF filesystem, whether hard or symbolic links.
|
|
|
|
* Block, character, FIFO, and socket special files are not
|
|
supported.
|
|
|
|
UDF on disk drives
|
|
------------------
|
|
|
|
OpenBSD disklabels are not used on storage media. OpenBSD will create
|
|
an in-memory virtual "a" partition when natively mounting UDF filesystems
|
|
read-only on 2048-byte block devices or images; see Interoperability with
|
|
mount_udf(8) below.
|
|
|
|
MBRs are not used, the filesystem begins at LBA 0. Raw partition "c"
|
|
should be used if writing directly to a drive instead of an image file.
|
|
If the drive contains prior data, zero the leading sectors before use as
|
|
shown in the first command below.
|
|
|
|
# dd if=/dev/zero of=/dev/rsd9c count=63
|
|
# newfs_udf -L shared.drive /dev/rsd9c
|
|
# udfclient -W /dev/rsd9c
|
|
|
|
While it is possible to direct a filesystem image to a disklabel
|
|
partition, there would be no interoperability with other OSes.
|
|
|
|
Interoperability with mount_udf(8)
|
|
----------------------------------
|
|
|
|
Kernel recognition (virtual partition "a") and mounting r/o with
|
|
mount_udf() currently requires a 2048-byte logical block size, to
|
|
map a filesystem image to an optical drive's sector size.
|
|
|
|
This precludes direct use with sd(4) devices, and may prevent
|
|
interoperability with other OSes. The OSTA specification
|
|
requires a logical blocksize equal to the media sector size, and
|
|
the filesystem does not include a Virtual Allocation Table
|
|
required for -R media.
|
|
|
|
If you wish to use mount_udf(), include '-b 2048' with both
|
|
the newfs_udf and udfclient utilities.
|
|
|
|
UDF root directory
|
|
------------------
|
|
|
|
The UDF root directory is named with colon separated strings.
|
|
|
|
"<volume set>:<primary volume>:<logical volume>:<additional tag>"
|
|
|
|
The udfclient requires a 'cd' into this root directory before you can
|
|
read or write files and directories. Spaces will require quoting the
|
|
string between " " characters.
|
|
|
|
udfclient interactive commands
|
|
------------------------------
|
|
|
|
These are ftp-like, with some differences. Use the 'help' command at
|
|
the "UDF>" prompt to display a summary.
|
|
|
|
Of particular value is a 'get' or 'put' of a directory. This will copy
|
|
the entire structure in or out of the filesystem.
|
|
|
|
Example
|
|
=======
|
|
|
|
$ cd /tmp
|
|
$ mkdir test.directory
|
|
$ touch test.directory/{a,b,c,d}
|
|
$ dd if=/dev/zero of=test.iso bs=10m count=10
|
|
$ newfs_udf -S test -P test -L test test.iso
|
|
$ udfclient -W test.iso
|
|
.
|
|
.
|
|
.
|
|
UDF> ls
|
|
Directory listing of /
|
|
drwxrwxrwx -1 -1 40 test:test:test:fileset
|
|
UDF> cd test:test:test:fileset
|
|
UDF working directory is /test:test:test:fileset
|
|
Current FS working directory /tmp
|
|
UDF> put test.directory
|
|
A total of 0 kb transfered at an overal average of 0 kb/sec
|
|
UDF> get test.directory new.directory
|
|
new.directory/a ...
|
|
new.directory/b ...
|
|
new.directory/c ...
|
|
new.directory/d ...
|
|
A total of 0 kb transfered at an overal average of 115 kb/sec
|
|
UDF> quit
|
|
.
|
|
.
|
|
.
|
|
$ ls new.directory
|
|
a b c d
|
|
$
|