add a changelog entry
[debian/elilo] / docs / edd30.txt
1 Information related to EDD3.0 and ELILO
2 ---------------------------------------
3 Last updated: 02/02/14
4
5 As of elilo-3.0, the filesystem/device naming scheme takes advantage 
6 of the EDD3.0 support present in the underlying EFI/BIOS firmware layers.
7
8 The EDD3.0 support is supposedly turned on by default in all version of the
9 EFI firmware on IA-64 (and possibly IA-32). 
10
11 Support can be enabled or disabled dynamically using an EFI environment 
12 variable called "EDD30". The GUID of the variable is as follows:
13
14 #define EDD30_GUID \
15 {0x964e5b21, 0x6459, 0x11d2, { 0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}}
16
17 This is a boolean variable. When true, support is enabled. 
18 You can check if support is enabled by typing:
19
20         Shell> edd30
21         Usage edd30 [On | Off]
22         Used to support OS Loader debug
23         EDD30 DevicePath Mode is On
24
25 at this EFI shell prompt. You can enable support by forcing the variable
26 to TRUE. This can be accomplished by typing:
27
28         Shell> edd30 on
29         EDD30 DevicePath Mode is On
30
31 Alternatively an EFI application can use RT->SetVariable() to set the
32 value of the EDD30 variable.
33
34 If the variable was set to false, then to take advantage of EDD3.0 
35 support after switching the variablle to TRUE, the system MUST be 
36 rebooted as EDD affects the core of EFI naming scheme.
37
38 Elilo will check if the variable is defined and valid. If it is set
39 to true, then the device name schemes that rely on it will work properly.
40 That's the case for the 'simple' scheme. If the variable is not set to true
41 or does not exist, elilo will use a generic builtin scheme with names
42 such as dev001, dev002 and so on. The "EDD30" variable is like a system 
43 variable therefore it is expected not to be overloaded by users for others 
44 purposes.  Elilo is fully functional even when EDD30 is off.
45
46 By default, if EDD30 is off, elilo will try and set the variable to TRUE.
47 However, some controllers do not support EDD30 and forcing the variable
48 may cause problems. Therefore as of elilo-3.2, there is an option to 
49 avoid forcing the variable. In the config file, you can use 'noedd30' option
50 and on the command line, you can use the -E option.
51
52 When the variable is forced back to TRUE, th effect will only be seen after
53 a reboot. Shall you decide not to reboot immediately, elilo
54 will system still operate using the generic naming scheme.
55
56 When EDD3.0 is enabled the output of the EFI shell 'map' command looks similar
57 to this:
58
59 Device mapping table
60   fs0  : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun0,Lun0)/HD(Part1,Sig00000000)
61   fs1  : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun6,Lun0)/HD(Part1,Sig00000000)
62   fs2  : Acpi(PNP0A03,0)/Pci(3|1)/Ata(Secondary,Master)/CDROM(Entry1)
63   blk0 : Acpi(PNP0A03,0)/Pci(3|1)/Ata(Primary,Master)
64   blk1 : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun0,Lun0)
65   blk2 : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun0,Lun0)/HD(Part1,Sig00000000)
66   blk3 : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun0,Lun0)/HD(Part2,Sig00000000)
67   blk4 : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun0,Lun0)/HD(Part3,Sig00000000)
68   blk5 : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun6,Lun0)
69   blk6 : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun6,Lun0)/HD(Part1,Sig00000000)
70   blk7 : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun6,Lun0)/HD(Part2,Sig00000000)
71   blk8 : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun6,Lun0)/HD(Part3,Sig00000000)
72   blk9 : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun6,Lun0)/HD(Part3,Sig00000000)/HD(Part1,Sig00000200)
73   blkA : Acpi(PNP0A03,0)/Pci(3|1)/Ata(Secondary,Master)
74   blkB : Acpi(PNP0A03,0)/Pci(3|1)/Ata(Secondary,Master)/CDROM(Entry1)
75 Shell> 
76
77 The same system with EDD3.0 disabled will look like this:
78 Device mapping table
79   fs0  : VenHw(Unknown Device:80)/HD(Part1,Sig00000000)
80   fs1  : VenHw(Unknown Device:81)/HD(Part1,Sig00000000)
81   fs2  : VenHw(Unknown Device:FF)/CDROM(Entry1)
82   blk0 : VenHw(Unknown Device:00)
83   blk1 : VenHw(Unknown Device:80)
84   blk2 : VenHw(Unknown Device:80)/HD(Part1,Sig00000000)
85   blk3 : VenHw(Unknown Device:80)/HD(Part2,Sig00000000)
86   blk4 : VenHw(Unknown Device:80)/HD(Part3,Sig00000000)
87   blk5 : VenHw(Unknown Device:81)
88   blk6 : VenHw(Unknown Device:81)/HD(Part1,Sig00000000)
89   blk7 : VenHw(Unknown Device:81)/HD(Part2,Sig00000000)
90   blk8 : VenHw(Unknown Device:81)/HD(Part3,Sig00000000)
91   blk9 : VenHw(Unknown Device:81)/HD(Part3,Sig00000000)/HD(Part1,Sig00000200)
92   blkA : VenHw(Unknown Device:FF)
93   blkB : VenHw(Unknown Device:FF)/CDROM(Entry1)
94 Shell> 
95
96
97 EDD3.0 is an industry standard and the working draft can be downloaded from the
98 following web site:
99         http://www.t13.org/
100
101 The document reference is D1386 (Enhanced Disk Drive Services 3.0).
102