I read the
mknod man page, which is (as far as I can tell) what you would use to make a character device like
/dev/zero, but I don't see how you would get it to yield an infinite stream of zero bits (or another pattern). What is the procedure for creating such character devices?
I read the
mknod does is associate a device file with a device driver. There are device drivers that implement interaction with actual devices, and there are device drivers that just react to read-write requests in useful ways. If you want to you can sit down and write a driver that returns the lyrics of the Star Spangeled Banner. But it's a matter of coding, not finding the right arguments for
mknod creates the device node, but the VFS detects accesses to the device node and reroutes them to the appropriate driver within the kernel for handling. All device nodes, from
/dev/videoX are handled this way.
If you just want to re-create the
/dev/zero abilities but with a character other than zero/null, you can use
tr to change all the zero's ("\000" in octal) into something else.
So to spit out an endless stream of "a"s for example, you could do:
cat /dev/zero | tr "\000" "\141" | head -c 20 aaaaaaaaaaaaaaaaaaaa
Or skip the cat and output an M's worth (1024*1024) with
head -c 1M /dev/zero |tr "\000" "\141"
"\141" being the "a" character.
See this site http://www.asciitable.com/ for a quick short page of ASCII - Octal codes. It's actually this image here:
(I know, old "solved" question, but I found it while searching for an endless stream of different characters, so this "solves" the "how to make /dev/one or /dev/[different character]" problem.)