MAKEDEV.LOCAL(8)

πŸ“¦ version 11.0, in nixpkgs unstable

πŸ’… MAKEDEV.LOCAL πŸ’…

okay bestie, so this is a page from the System Manager's Manual β€” yes, the actual system manager manual, and yes you're reading it, we love a main character who self-educates πŸŽ€


✨ NAME ✨

MAKEDEV.local β€” create site-specific device special files

like, it makes your own device files. site-specific. your site. your rules. πŸ‘‘


🌸 SYNOPSIS 🌸

MAKEDEV.local [-fMsu] [-m mknod] [-p pax] [-t mtree] {all |
              site-specific-argument} [...]

look at that little syntax sandwich, so iconic πŸ”₯


πŸ¦‹ DESCRIPTION πŸ¦‹

So MAKEDEV.local is the vibe where you create site-specific device special files. Each argument can either be the word all or a site-specific argument. And here's the tea: by default there are no valid site-specific arguments, and the all argument has literally no effect β€” but you can change all that by editing the script, iykyk πŸ’…

The script lives at /dev/MAKEDEV.local. Devices get created in the current working directory, which is highkey important: in normal use, you should invoke MAKEDEV.local with /dev as the current working directory. fr fr, don't skip that.

The supported options for MAKEDEV.local are the same as for MAKEDEV(8) β€” same energy, same flags, no notes πŸ’–


πŸŽ€ FILES πŸŽ€

  • /dev β€” special device files directory (the hangout spot)
  • /dev/MAKEDEV β€” script that invokes MAKEDEV.local with the all argument
  • /dev/MAKEDEV.local β€” the script described in this man page (the star of the show ✨)

🌈 SEE ALSO 🌈

config(1), intro(4), MAKEDEV(8), mknod(8)

go read those too bestie, expanding your brain is always in season 🧚


⭐ HISTORY ⭐

The MAKEDEV.local command appeared in 4.2BSD β€” a certified vintage icon. πŸ•°οΈ

Handling of the same command line options as MAKEDEV(8), and the use of MAKEDEV(8) as a function library, was added in NetBSD 5.0. glow-up behavior honestly.


πŸ’€ NOTES πŸ’€

ngl, the relationship between MAKEDEV.local and MAKEDEV(8) is complex β€” it's giving situationship 😭 here's the breakdown:

  • If MAKEDEV(8) is invoked with the all or local argument, then it will invoke MAKEDEV.local as a child process, with options similar to those that were originally passed to MAKEDEV(8), and with the all argument. so like, parent calls child, child gets handed the same-ish flags plus all. family business.
  • MAKEDEV.local uses shell functions defined in MAKEDEV(8). This is done by loading MAKEDEV(8) using the shell . command, with the MAKEDEV_AS_LIBRARY variable set (to inform MAKEDEV(8) that it should behave as a function library, not as an independent program). so MAKEDEV_AS_LIBRARY is literally the "you're a library now bestie" flag 🫢

πŸ’œ real talk: that MAKEDEV_AS_LIBRARY variable isn't optional decoration β€” it's how MAKEDEV(8) knows to switch modes and act like a library instead of running as its own program. respect the variable.

Debian Β· August 6, 2011 β€” okay that's the whole page, you ate that, go make some device files and slay πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from