26.11.2019

Linux Character Device Driver For Mac

Active5 years, 1 month ago
  1. Linux Character Device Driver For Macbook Pro
  2. Device Driver Download
  3. Linux Character Device Driver For Mac
  4. Linux Character Device Driver For Macbook Air
  5. Linux Character Device Driver Example
  6. Device Driver Definition
  7. Linux Device Driver Example
  8. Computer Bus

I'm looking for an exhaustive, university-level book or guide to study in order to gain the ability of writing Mac OS X device drivers. I'm totally ignorant on this OS, but I'm already skilled on Linux.

In this video, I describe a sample device driver that I have written. Source Code: https://gitlab.com/Sp4rt4h/kernel_mod. LINUX CHARACTER DEVICE DRIVERS DEVELOPMENT. This intensive course transforms an IT-Professional or a Student into a Linux Device Driver & Kernel Developer for Character Storage devices, Block Storage devices & Network Storage devices and for those Programmers who already working on Linux, but looking for a methodical and concept clearing professional training on Linux system and kernel. What exactly is a character driver? Device driver is Integration of two pieces of code. First piece of code is how the driver services are made available to the application.(user space). How to set errno in Linux device driver? Linux: something between FIFO file and device driver. Driver provides low level device functions devices are treated as files (/dev entries) character devices are sequential (read/write one byte at a time, in linear order).

Is there any Mac OS X counterpart for book 'Linux Device Drivers'?

The best guide should introduce OS internals too, makes clear kernel space and userland differences and so on.

Thanks in advance

kent
4,1053 gold badges22 silver badges31 bronze badges
drAlberTdrAlberT
14.7k4 gold badges28 silver badges35 bronze badges

closed as off-topic by Mogsdad, EJoshuaS, robinCTS, greg-449, EdChumJan 10 '18 at 9:03

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • 'Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.' – Mogsdad, EJoshuaS, robinCTS, greg-449, EdChum
If this question can be reworded to fit the rules in the help center, please edit the question.

4 Answers

The Apple Developer Connection web site contains lots of documentation. There is a whole section on Hardware & Drivers here in particular a Getting Started document here. Probably the best overall introduction to OS X internals is Mac OS X Internals by Amit Singh.

Ned DeilyNed Deily
70.1k14 gold badges117 silver badges144 bronze badges

Amit Singh's wonderful book Mac OS X Internals: A Systems Approach has an extensive section on kernel extensions, the IOKit and drivers. It's the best general resource on OS X internals that I know of, but it doesn't cover the latest system updates; it only covers up to the 10.4 release (Tiger).

cmscms
4,9621 gold badge22 silver badges29 bronze badges

Amit Singh's book is good but as other posters noted it needs to be updated. I'm getting up to speed on IOKit and opted for another newer book OS X and iOS Kernel Programming. It doesn't have the depth of Singh's book but it has many practical examples of driver code. It is perhaps a better choice if you want get going quickly. Hp 1012 printer driver for mac.

KirkKirk

I suggest the following as it is updated to Snow Leopard and Lion: Mac OS X and iOS Internals: To the Apple's Core by Jonathon Levine: http://www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Dstripbooks&field-keywords=Mac+internals&rh=n%3A283155%2Ck%3AMac+internals

This is quite a good book regarding all aspects of Mac OS X internals.

Linux character device
user941601user941601

Not the answer you're looking for? Browse other questions tagged macosdocumentationdevice-driveriokit or ask your own question.

In Unix-likeoperating systems, a device file or special file is an interface to a device driver that appears in a file system as if it were an ordinary file. There are also special files in MS-DOS, OS/2, and Microsoft Windows. These special files allow an application program to interact with a device by using its device driver via standard input/outputsystem calls. Using standard system calls simplifies many programming tasks, and leads to consistent user-space I/O mechanisms regardless of device features and functions.

Device files usually provide simple interfaces to standard devices (such as printers and serial ports), but can also be used to access specific unique resources on those devices, such as disk partitions. Additionally, device files are useful for accessing system resources that have no connection with any actual device such as data sinks and random number generators.

There are two general kinds of device files in Unix-like operating systems, known as character special files and block special files. The difference between them lies in how much data is read and written by the operating system and hardware. These together can be called device special files in contrast to named pipes, which are not connected to a device but are not ordinary files either.

MS-DOS borrowed the concept of special files from Unix but renamed them devices.[1] Because early versions of MS-DOS did not support a directory hierarchy, devices were distinguished from regular files by making their names reserved words, chosen for a degree of compatibility with CP/M.

In some Unix-like systems, most device files are managed as part of a virtual file system traditionally mounted at /dev, possibly associated with a controlling daemon, which monitors hardware addition and removal at run time, making corresponding changes to the device file system if that's not automatically done by the kernel, and possibly invoking scripts in system or user space to handle special device needs. The FreeBSD and DragonFly BSD implementations have named the virtual device file system devfs and the associated daemondevd. Linux primarily uses a user space implementation known as udev, but there are many variants. Darwin, and operating systems such as macOS based on it, have a purely kernel-based device file system.

In Unix systems which support chroot process isolation, such as Solaris Containers, typically each chroot environment needs its own /dev; these mount points will be visible on the host OS at various nodes in the global file system tree. By restricting the device nodes populated into chroot instances of /dev, hardware isolation can be enforced by the chroot environment (a program can not meddle with hardware that it can neither see nor name—an even stronger form of access control than Unix file system permissions).

MS-DOS managed hardware device contention (see TSR) by making each device file exclusive open. An application attempting to access a device already in use would discover itself unable to open the device file node. A variety of device driver semantics are implemented in Unix and Linux concerning concurrent access.[2]

  • 1Unix and Unix-like systems
    • 1.6devfs

Unix and Unix-like systems[edit]

Linux Character Device Driver For Macbook Pro

A simplified structure of the Linux kernel. File systems are implemented as part of the I/O subsystem.

Device nodes correspond to resources that an operating system's kernel has already allocated. Unix identifies those resources by a major number and a minor number,[3] both stored as part of the structure of a node. The assignment of these numbers occurs uniquely in different operating systems and on different computer platforms. Generally, the major number identifies the device driver and the minor number identifies a particular device (possibly out of many) that the driver controls:[4] in this case, the system may pass the minor number to a driver. However, in the presence of dynamic number allocation, this may not be the case (e.g. on FreeBSD 5 and up).

As with other special file types, the computer system accesses device nodes using standard system calls and treats them like regular computer files. Two standard types of device files exist; unfortunately their names are rather counter-intuitive for historical reasons, and explanations of the difference between the two are often incorrect as a result.

Character devices[edit]

Character special files or character devices provide unbuffered, direct access to the hardware device. They do not necessarily allow programs to read or write single characters at a time; that is up to the device in question. The character device for a hard disk, for example, will normally require that all reads and writes are aligned to block boundaries and most certainly will not allow reading a single byte.

Device Driver Download

Character devices are sometimes known as raw devices to avoid the confusion surrounding the fact that a character device for a piece of block-based hardware will typically require programs to read and write aligned blocks.

Block devices[edit]

Block special files or block devices provide buffered access to hardware devices, and provide some abstraction from their specifics.[5] Unlike character devices, block devices will always allow the programmer to read or write a block of any size (including single characters/bytes) and any alignment. The downside is that because block devices are buffered, the programmer does not know how long it will take before written data is passed from the kernel's buffers to the actual device, or indeed in what order two separate writes will arrive at the physical device. Additionally, if the same hardware exposes both character and block devices, there is a risk of data corruption due to clients using the character device being unaware of changes made in the buffers of the block device.

Most systems create both block and character devices to represent hardware like hard disks. FreeBSD and Linux notably do not; the former has removed support for block devices,[6] while the latter creates only block devices. In Linux, to get a character device for a disk one must use the 'raw' driver, though one can get the same effect as opening a character device by opening the block device with the Linux-specific O_DIRECT flag.

Pseudo-devices[edit]

Device nodes on Unix-like systems do not necessarily have to correspond to physical devices. Nodes that lack this correspondence form the group of pseudo-devices. They provide various functions handled by the operating system. Some of the most commonly used (character-based) pseudo-devices include:

  • /dev/null – accepts and discards all input written to it; provides an end-of-file indication when read from
  • /dev/zero – accepts and discards all input written to it; produces a continuous stream of Null characters (zero-value bytes) as output when read from
  • /dev/full – produces a continuous stream of Null characters (zero-value bytes) as output when read from, and generates a 'disk full' error when attempting to write to it
  • /dev/random – when read, it produces as output a variable-length stream of numbers from the kernel's cryptographically secure pseudorandom number generator. Its exact behavior varies by implementation, and sometimes variants such as /dev/urandom or /dev/arandom are also provided.

Additionally, BSD-specific pseudo-devices with an ioctl interface may also include:

  • /dev/pf – allows userland processes to control of the PF (firewall) through an ioctl interface
  • /dev/bio – provides ioctl access to devices otherwise not found as /dev nodes, used by bioctl to implement RAID management in OpenBSD and NetBSD
  • /dev/sysmon – is used by NetBSD's sysmon_envsys framework for hardware monitoring, accessed in the userland through proplib(3) by the envstat utility[7]

Node creation[edit]

Nodes are created by the mknodsystem call. The command-line program for creating nodes is also called mknod. Nodes can be moved or deleted by the usual filesystem system calls (rename, unlink) and commands (mv, rm).

Some Unix versions include a script named makedev or MAKEDEV to create all necessary devices in the directory /dev. It only makes sense on systems whose devices are statically assigned major numbers (e.g. by means of hardcoding it in their kernel module).

Naming conventions[edit]

The following prefixes are used for the names of some devices in the /dev hierarchy, to identify the type of device:

  • lp: line printers (compare lp)
  • pt: pseudo-terminals (virtual terminals)
  • tty: terminals

Some additional prefixes have come into common use in some operating systems:

  • fb: frame buffer
  • fd: (platform) floppy disks, though this same abbreviation is also commonly used to refer to file descriptor
  • hd: (“classic”) IDE driver (previously used for ATA hard disk drive, ATAPI optical disc drives, etc.)
    • hda: the master device on the first ATA channel (usually identified by major number 3 and minor number 0)
    • hdb: the slave device on the first ATA channel
    • hdc: the master device on the second ATA channel
      • hdc1: first primary partition on this disk (example)
      • hdc5: first logical drive in the extended partition (example)
    • hdd: the slave device on the second ATA channel
  • parport, pp: parallel ports
  • NVMe driver
    • nvme0: first registered device's device controller (character device)
    • nvme0n1: first registered device's first namespace (block device)
    • nvme0n1p1: first registered device's first namespace's first partition (block device)
  • SCSI driver, also used by libATA (modern PATA/SATA driver), USB, IEEE 1394, etc.
    • sd: mass-storage driver
      • sda: first registered device
        • sda4: last partition on this disk (example)
        • sda6: second logical drive in the extended partition (example)
      • sdb, sdc, etc.: second, third, etc. registered devices
    • ses: Enclosure driver
    • sg: generic SCSI layer
    • sr: “ROM” driver (data-oriented optical disc drives; scd is just a secondary alias)
    • st: magnetic tape driver
  • tty: terminals
    • ttyS: (platform) serial port driver
    • ttyUSB: USB serial converters, modems, etc.

The canonical list of the prefixes used in Linux can be found in the Linux Device List, the official registry of allocated device numbers and /dev directory nodes for the Linux operating system.[8]

For most devices, this prefix is followed by a number uniquely identifying the particular device. For hard drives, a letter is used to identify devices and is followed by a number to identify partitions. Thus a file system may 'know' an area on a disk as /dev/sda3, for example, or 'see' a networked terminal session as associated with /dev/pts/14.

On disks using the typical PC master boot record, the device numbers of primary and the optional extended partition are numbered 1 through 4, while the indexes of any logical partitions are 5 and onwards, regardless of the layout of the former partitions (their parent extended partition does not need to be the fourth partition on the disk, nor do all four primary partitions have to exist).

Device names are usually not portable between different Unix-like system variants, for example, on some BSD systems, the IDE devices are named /dev/wd0, /dev/wd1, etc.

devfs[edit]

devfs is a specific implementation of a device file system on Unix-like operating systems, used for presenting device files. Hannspree sn10e2 drivers for mac. The underlying mechanism of implementation may vary, depending on the OS.

Maintaining these special files on a physically implemented file system (i.e. harddrive) is inconvenient, and as it needs kernel assistance anyway, the idea arose of a special-purpose logical file system that is not physically stored.

Also defining when devices are ready to appear is not entirely trivial. The 'devfs' approach is for the device driver to request creation and deletion of 'devfs' entries related to the devices it enables and disables.

Implementations[edit]

Operating SystemFilesystem or managing softwareStandard mount pointAuthorNotes
Linux 2.3.46pre5–2.6.17devfsd/devRichard GoochImplemented fully in the kernel. Obsolete – users are encouraged to migrate to udev and/or devtmpfs.
Linux 2.5–udev on any fs, but usually tmpfs/devGreg Kroah-Hartman, Kay Sievers and Dan StekloffImplemented largely in user space, device information is gathered from sysfs. Device files can be stored on a conventional general-purpose file system, or in a memory file system (tmpfs).
Linux 2.6.32–devtmpfs with or without udev/devKay Sievers, Jan Blunck, Greg Kroah-HartmanA hybrid kernel/userspace approach of a device filesystem to provide nodes before udev runs for the first time[9]
Solaris/devicesSun MicrosystemsIntroduced with dynamic loaded drivers in Solaris-2.1
FreeBSD 2.0–devfs/devPoul-Henning KampImplemented fully in the kernel.
DragonFly BSD 2.3.2–devfs/devAlex HornungImplemented fully in the kernel.
macOSdevfs/devApple Inc.Implemented fully in the kernel.
HP-UX B.11.31devfs/devHPImplemented fully in the kernel.
Plan 9#Bell LabsImplemented in the kernel.
RISC OSDeviceFSDevices:Acorn ComputersDeviceFS was started in 1991[10] and first appeared in RISC OS 3. It manages several device like special files, most commonly: Parallel, Serial, FastParallel, and USB. The SystemDevices module implements the pseudo devices such as: Vdu, Kbd, Null and Printer.
MS-DOS, PC DOS, DR-DOSFATDEV (and /DEV)variousAs implemented in the kernel, character devices appear in the virtual DEV directory and any disk directory. Under MS-DOS/PC DOS 2.x, the CONFIG.SYSAVAILDEV=FALSE directive can be used to force devices to exist only in DEV.
MagiC, MiNT, MultiTOSU:DEV[11][12]Application Systems Heidelberg, Eric R. Smith, Atari Corp.The special U: drive contains a virtual DEV directory, inside which one can find device files.
Windows 9xdevicesMicrosoft
Windows NT.MicrosoftThe . prefix makes supporting APIs access the Win32 device namespace instead of the Win32 file namespace. The Win32 device namespace itself lives under Devices in the NT namespace.

MS-DOS[edit]

MS-DOS borrowed the concept of special files from Unix but renamed them devices.[1] Because early versions of MS-DOS did not support a directory hierarchy, devices were distinguished from regular files by making their names reserved words. This means that certain file names were reserved for devices, and should not be used to name new files or directories.[13]The reserved names themselves were chosen to be compatible with 'special files' handling of PIP command in CP/M. There were two kinds of devices in MS-DOS: Block Devices (used for disk drives) and Character Devices (generally all other devices, including COM and PRN devices).[14] PIPE, MAILSLOT, and MUP are other standard Windows devices.[15]

DOS, TOS, OS/2, and Windows[edit]

A device file is a reserved keyword used in MS/PC DOS, Atari TOS, OS/2, and Microsoft Windows systems to allow access to certain ports and devices.

DOS uses device files for accessing printers and ports. Most versions of Windows also contain this support, which can cause confusion when trying to make files and folders of certain names, as they cannot have these names.[16] Versions 2.x of MS-DOS provide the AVAILDEVCONFIG.SYS parameter that, if set to FALSE, makes these special names only active if prefixed with DEV, thus allowing ordinary files to be created with these names.[17]

GEMDOS, the DOS-like part of Atari TOS, supported similar device names to DOS, but unlike DOS it required a trailing ':' character (on DOS, this is optional) to identify them as devices as opposed to normal filenames (thus 'CON:' would work on both DOS and TOS, but 'CON' would name an ordinary file on TOS but the console device on DOS). In MiNT and MagiC, a special UNIX-like unified filesystem view accessed via the 'U:' drive letter also placed device files in 'U:DEV'.

Linux Character Device Driver For Mac

Device keyword[16]Use as inputUse as output
CONReceives typed data until ^Z (Ctrl-Z) is pressed.Prints data to the console.
PRN[18]N/APrints text to the printer, usually redirected to LPT1 or LST. Sometimes reconfigurable to other devices.[19][20][21]
AUX (not in OS/2[18])Reads data from an auxiliary device, usually a serial device like COM1. Sometimes reconfigurable to other devices.[19][20][21]Sends data to an auxiliary device, usually a serial device like COM1. Sometimes reconfigurable to other devices.[19][20][21]
NULReturns null or no data.Discards received data.
CLOCK$ (still named CLOCK in some versions of MS-DOS 2.11[22][19][20])N/AN/A
KEYBD$ (only in multitasking MS-DOS)??
KBD$ (only in OS/2[18])??
SCREEN$ (only in multitasking MS-DOS and OS/2[18])??
POINTER$ (only in OS/2[18])??
MOUSE$ (only in OS/2[18])??
$IDLE$ (only in DR-DOS (since 5.0) and Multiuser DOS (since Concurrent DOS 386) families)N/AN/A
CONFIG$ (only in MS-DOS 7.0 and higher)N/AN/A
LST (only in 86-DOS and DOS 1.x, also in Hewlett-Packard's MS-DOS 2.11 for the HP Portable Plus[19][20])Returns no data.Sends data to the line printer. (LPT2 for Hewlett-Packard's MS-DOS 2.11[19][20])
PLT (only in Hewlett-Packard's MS-DOS 2.11 for the HP Portable Plus[19][20])Returns no data.Sends data to the assigned plotter. The attached plotter device is reconfigurable.[19][20]
LPT1, LPT2, LPT3, and sometimes LPT4 (in DR-DOS 7.02 and higher and some versions of Multiuser DOS)N/ASends data to the selected parallel port.
COM1, COM2, COM3, COM4Reads data from the selected serial port.Sends data to the selected serial port.
82164A (only in Hewlett-Packard's MS-DOS 2.11 for the HP Portable Plus[19][20])Redirects to COM2.Redirects to COM2.

Using shell redirection and pipes, data can be sent to or received from a device. For example, typing the following will send the file c:data.txt to the printer:

IOCS[edit]

Linux Character Device Driver For Macbook Air

The 8-bit operating system of Sharppocket computers like the PC-E500, PC-E500S etc. consists of a BASIC interpreter, a DOS 2-like File Control System (FCS) implementing a rudimentary 12-bit FAT-like filesystem, and a BIOS-like Input/Output Control System (IOCS) implementing a number of standard character and block device drivers as well as special file devices including STDO:/SCRN: (display), STDI:/KYBD: (keyboard), COM: (serial I/O), STDL:/PRN: (printer), CAS: (cassette tape), E:/F:/G: (memory file), S1:/S2:/S3: (memory card), X:/Y: (floppy), SYSTM: (system), and NIL: (function).[23]

Linux Character Device Driver Example

See also[edit]

Device Driver Definition

References[edit]

Linux Device Driver Example

  1. ^ ab'Windows for Workgroups: How VSHARE.386 Manages File Sharing'. Support.microsoft.com. 1999-09-22. Retrieved 2014-01-22.Cite web requires website= (help)
  2. ^Corbet, Jonathan; Kroah-Hartman, Greg; Rubini, Alessandro (2005). 'Access Control on a Device File'. Linux Device Drivers, 3rd Edition. O'Reilly. Retrieved 2017-04-28. The next step beyond a single-open device is to let a single user open a device in multiple processes but allow only one user to have the device open at a time.
  3. ^Kernighan, Brian W.; Pike, Rob (1984). The UNIX Programming Environment. Prentice-Hall. p. 66. ISBN0-13-937681-X.
  4. ^Neil Brown (2010-10-27). 'Ghosts of Unix Past: a historical search for design patterns'. LWN.net. Retrieved 2014-03-30.
  5. ^'IEEE Std 1003.1, 2013 Edition'. Retrieved 2014-04-24.Cite web requires website= (help)
  6. ^'FreeBSD Architecture Handbook'. Retrieved 2013-03-07.Cite web requires website= (help)
  7. ^'usr.sbin/envstat/envstat.c'. BSD Cross Reference. NetBSD. Lay summary.
  8. ^Linux Assigned Names and Numbers Authority (2009-04-06). 'Linux allocated devices (2.6+ version)'. Linux kernel (Documentation/devices.txt). Archived from the original on 2016-04-24. Retrieved 2013-06-08.Cite uses deprecated parameter dead-url= (help)
  9. ^'Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev'. LWN. Retrieved 2009-08-10.Cite web requires website= (help)
  10. ^'Project Black change log'. Retrieved 2016-05-15.Cite web requires website= (help)
  11. ^'The drive U: in MagiC'. 2016-03-28. Archived from the original on 2017-01-15. Retrieved 2017-01-09.Cite uses deprecated parameter dead-url= (help); Cite web requires website= (help)
  12. ^'FreeMiNT-Portal - mint.doc'. 2000-04-27. Archived from the original on 2017-01-15. Retrieved 2017-01-09.Cite uses deprecated parameter dead-url= (help); Cite web requires website= (help)
  13. ^'Avoid Creating Macintosh Filenames that are NT Device Names'. Support.microsoft.com. 2006-11-01. Retrieved 2014-01-22.Cite web requires website= (help)
  14. ^'device attributes'. Stanislavs.org. Retrieved 2014-01-22.Cite web requires website= (help)
  15. ^'REG: CurrentControlSet Entries PART 2: SessionManager'. Support.microsoft.com. 2006-11-01. Retrieved 2014-01-22.Cite web requires website= (help)
  16. ^ ab'MS-DOS Device Driver Names Cannot be Used As File Names'. Revision 2.0. Microsoft. 2003-05-12. KB74496, Q74496. Archived from the original on 2012-07-21.Cite uses deprecated parameter dead-url= (help); Cite web requires website= (help)
  17. ^'Undocumented Commands'. 4dos.info. Kevtronics. 2002-04-12. Retrieved 2014-05-16.
  18. ^ abcdefIBM Operating System/2 Technical Reference - Programming Family(PDF). 1 (1st ed.). IBM. September 1987 [1986]. Archived(PDF) from the original on 2017-01-03.Cite uses deprecated parameter dead-url= (help)
  19. ^ abcdefghiHewlett-Packard - Technical Reference Manual - Portable PLUS (1 ed.). Corvallis, OR, USA: Hewlett-Packard Company, Portable Computer Division. August 1985. 45559-90001. Retrieved 2016-11-27.Cite uses deprecated parameter dead-url= (help)
  20. ^ abcdefghiHewlett-Packard - Technical Reference Manual - Portable PLUS(PDF) (2 ed.). Portable Computer Division, Corvallis, OR, USA: Hewlett-Packard Company. December 1986 [August 1985]. 45559-90006. Archived(PDF) from the original on 2016-11-28. Retrieved 2016-11-27.Cite uses deprecated parameter dead-url= (help)
  21. ^ abcPaul, Matthias R. (1997-10-02). 'Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT'. Archived from the original on 2003-10-04. Retrieved 2009-03-29.Cite uses deprecated parameter dead-url= (help); Cite web requires website= (help)[1]
  22. ^Paterson, Tim; Microsoft (2013-12-19) [1983]. 'Microsoft DOS V1.1 and V2.0: /msdos/v20source/SKELIO.TXT, /msdos/v20source/HRDDRV.ASM'. Computer History Museum, Microsoft. Retrieved 2014-03-25.Cite web requires website= (help) (Note: While the publishers claim this would be MS-DOS 1.1 and 2.0, it actually is SCP MS-DOS 1.25 and a mixture of Altos MS-DOS 2.11 and TeleVideo PC DOS 2.11.)
  23. ^Technical Reference Manual PC-E500(PDF). Sharp Corporation, Information Systems Group, Personal Equipment Division. March 1990. p. 17. Archived(PDF) from the original on 2017-03-14. Retrieved 2017-03-14.Cite uses deprecated parameter dead-url= (help)

Further reading[edit]

  • Philip Streck (2002-09-24). 'devfs for Management and Administration'. Linux Journal.
  • Daniel Robbins (2001-10-01). 'Part 4: Introduction to devfs'. Common threads: Advanced filesystem implementor's guide. IBM.
  • Daniel Robbins (2001-10-01). 'Part 5: Setting up devfs'. Common threads: Advanced filesystem implementor's guide. IBM.
  • Daniel Robbins (2001-10-01). 'Part 6: Implementing devfs (using the init wrapper)'. Common threads: Advanced filesystem implementor's guide. IBM.
  • Doug Gilbert (2001-01-22). 'DEVFS and SCSI'.Cite web requires website= (help)
  • '3.3. Device Names in devfs'. The Linux 2.4 SCSI subsystem HOWTO: Chapter 3. Names and Addresses. Linux Documentation Project.
  • 'Device File System Guide'. Gentoo Linux Documentation. Gentoo Foundation, Inc. Archived from the original on 2008-05-21. Retrieved 2008-06-19.Cite uses deprecated parameter dead-url= (help)
  • Mark Ellis (2003-09-23). 'How to use kernel module autoloading with devfs and devfsd'. Linux From Scratch Hints.
  • Martial Daumas (2003-09-18). 'How to create a basic mk_initrd command that works nice with LFS and devfs'. Linux From Scratch Hints.
  • Jeroen Coumans (2003-04-19). 'How to setup devfs with your current LFS-configuration using devfsd. How you can use devfs from scratch'. Linux From Scratch Hints.
  • Tushar Teredesai (2003-03-05). 'Using devfs and devfsd'. Linux From Scratch Hints.

Computer Bus

Retrieved from 'https://en.wikipedia.org/w/index.php?title=Device_file&oldid=907623791'