README.md
mknod64(1) - a 64-bit version of mknod(1)
Written by Robert Love

This is mknod64(1), a version of mknod(1) that uses the 64-bit dev_t with a
32:32 split as implemented in later 2.5 kernels and set via mknod64(2).

It is based on mknod(1) by David MacKenzie found in the GNU coreutils 5.0.

It is a complete replacement for the original mknod, except it currently lacks
support for specifying an initial mode (i.e., the --mode option). There is
actually no reason to have both a mknod and a mknod64. The later will suffice
for all purposes and thus should just be a future version of mknod. Until
then, we have this separate package.

REQUIREMENTS
============

Kernel 2.5.67-mm4 or later (yah, not even in Linus's 2.5 tree yet!)

Obviously glibc does not yet support this. When it does, you may uncomment
the DONT_NEED_MKNOD64_SETUP line in the Makefile.

INSTALL
=======

To build and install:
$ make clean
$ make
$ su
% make install

Alternatively, you can create an RPM package from the tarball:
$ rpmbuild -ta <tarball>
And install that:
% rpm -Uvh <rpm package>

USAGE
=====

See 'man 1 mknod64' or 'mknod64 --help'

mknod64(1) is the same as mknod(1) except (a) mode support is not yet added
and (b) the major and minor may each be a 32-bit value.

SYSCALL
=======

The new mknod64() system call is defined as:

long mknod64(const char *filename, int mode,
unsigned int devhi, unsigned int devlo)

Later 2.5 kernels support a 64-bit dev_t which is split 32:32 -- 32-bits for
the major number and 32-bits for the minor number, as represented by 'devhi'
and 'devlo', respectively.

This mknod64(1) program allows you to specify a 32-bit value and uses the
mknod64(2) system call.