xref: /illumos-gate/usr/src/cmd/hal/fdi/README (revision 18c2aff7)
1*18c2aff7Sartem
2*18c2aff7SartemThis file describe the layout of device information files in the hal
3*18c2aff7Sartemsource tree and their three different applications. It should serve as
4*18c2aff7Sartema brief guide for IHV's and third party open source projects on how to
5*18c2aff7Sartemintegrate with hal.
6*18c2aff7Sartem
7*18c2aff7SartemSaid third parties need to name their files in a unique manner using
8*18c2aff7Sartemthe following format: <organization>-[<model>]-[<purpose>].fdi. As a
9*18c2aff7Sartemdevice information file can be used to match several models the model
10*18c2aff7Sartemfield may be omitted (the <purpose> field may be useful if the <model>
11*18c2aff7Sartemfield is omitted). The filename of a device information file must
12*18c2aff7Sartemcontain only lowercase alphanumeric characters, the '-' and '_'
13*18c2aff7Sartemcharacters, and not any whitespace.
14*18c2aff7Sartem
15*18c2aff7SartemDevice information files are processed in the following order:
16*18c2aff7Sartem
17*18c2aff7Sartem1. Preprobing
18*18c2aff7Sartem-------------
19*18c2aff7Sartem
20*18c2aff7SartemContains device information files that are used to handle exceptional
21*18c2aff7Sartemconditions such as telling hal to ignore a device and all children
22*18c2aff7Sartem(using info.ignore), run programs to upload firmware or configure
23*18c2aff7Sartemthe device in an otherwise non-standard way that is incompatible with
24*18c2aff7Sartemprobing routines in hal (using info.callouts.preprobing) [1].
25*18c2aff7Sartem
26*18c2aff7SartemThese files are processed BEFORE the device have been been probed.
27*18c2aff7Sartem
28*18c2aff7SartemSubdirs are installed in $(sysconfdir)/hal/preprobe (e.g. /etc/hal/preprobe)
29*18c2aff7Sartem
30*18c2aff7Sartem  preprobe
31*18c2aff7Sartem  |-- 10osvendor    # From the hal tarball and/or supplied by the os vendor
32*18c2aff7Sartem  |                 # -> installs into /usr/share/hal/fdi/preprobe/10osvendor
33*18c2aff7Sartem  |-- 20thirdparty  # 3rd party projects and IHV's install here
34*18c2aff7Sartem  |                 # -> installs into /usr/share/hal/fdi/preprobe/20thirdparty
35*18c2aff7Sartem  `-- 30user        # Installed by the user/admin
36*18c2aff7Sartem                    # -> installs into /etc/hal/fdi/preprobe/
37*18c2aff7Sartem
38*18c2aff7Sartem[1] : http://lists.freedesktop.org/archives/hal/2004-August/000858.html
39*18c2aff7Sartem
40*18c2aff7Sartem2. Information
41*18c2aff7Sartem--------------
42*18c2aff7Sartem
43*18c2aff7SartemContains device information files that describe hardware such as what
44*18c2aff7Sartemkind of media a card reader uses (compact flash, memorystick etc),
45*18c2aff7Sartemwhat out-of-tree kernel drivers are needed, whether the device is a
46*18c2aff7Sartemcamera and not just a harddrive.
47*18c2aff7Sartem
48*18c2aff7SartemThese files are processed AFTER the device have been probed but before
49*18c2aff7Sartemany policy device information files.
50*18c2aff7Sartem
51*18c2aff7SartemSubdirs are installed in $(datadir)/hal/fdi (e.g. /usr/share/hal/fdi)
52*18c2aff7Sartem
53*18c2aff7Sartem  information
54*18c2aff7Sartem  |-- 10freedesktop # From the hal tarball
55*18c2aff7Sartem  |                 # -> installs into /usr/share/hal/fdi/information/10freedesktop
56*18c2aff7Sartem  |-- 20thirdparty  # 3rd party projects and IHV's install here
57*18c2aff7Sartem  |                 # -> installs into /usr/share/hal/fdi/information/20thirdparty
58*18c2aff7Sartem  `-- 30user        # Installed by the user/admin
59*18c2aff7Sartem                    # -> installs into /etc/hal/fdi/information
60*18c2aff7Sartem
61*18c2aff7Sartem
62*18c2aff7Sartem3. Policy
63*18c2aff7Sartem---------
64*18c2aff7Sartem
65*18c2aff7SartemContains device information files that describe policy for hardware
66*18c2aff7Sartemsuch as what callouts and addons to run for a device.
67*18c2aff7Sartem
68*18c2aff7SartemThese files are processed AFTER the device have been been probed and
69*18c2aff7Sartemalso AFTER the information device files have been processed
70*18c2aff7Sartem
71*18c2aff7SartemSubdirs are installed in $(sysconfdir)/hal/policy (e.g. /etc/hal/policy)
72*18c2aff7Sartem
73*18c2aff7Sartem  policy
74*18c2aff7Sartem  |-- 10osvendor    # From the hal tarball and/or supplied by the os vendor
75*18c2aff7Sartem  |                 # -> installs into /usr/share/hal/fdi/policy/10freedesktop
76*18c2aff7Sartem  |-- 20thirdparty  # 3rd party projects and IHV's install here
77*18c2aff7Sartem  |                 # -> installs into /usr/share/hal/fdi/policy/20thirdparty
78*18c2aff7Sartem  `-- 30user        # Installed by the user/admin
79*18c2aff7Sartem                    # -> installs into /etc/hal/fdi/policy
80*18c2aff7Sartem
81