102 lines
4.4 KiB
Text
102 lines
4.4 KiB
Text
Information related to EDD3.0 and ELILO
|
|
---------------------------------------
|
|
Last updated: 02/02/14
|
|
|
|
As of elilo-3.0, the filesystem/device naming scheme takes advantage
|
|
of the EDD3.0 support present in the underlying EFI/BIOS firmware layers.
|
|
|
|
The EDD3.0 support is supposedly turned on by default in all version of the
|
|
EFI firmware on IA-64 (and possibly IA-32).
|
|
|
|
Support can be enabled or disabled dynamically using an EFI environment
|
|
variable called "EDD30". The GUID of the variable is as follows:
|
|
|
|
#define EDD30_GUID \
|
|
{0x964e5b21, 0x6459, 0x11d2, { 0x8e, 0x39, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b}}
|
|
|
|
This is a boolean variable. When true, support is enabled.
|
|
You can check if support is enabled by typing:
|
|
|
|
Shell> edd30
|
|
Usage edd30 [On | Off]
|
|
Used to support OS Loader debug
|
|
EDD30 DevicePath Mode is On
|
|
|
|
at this EFI shell prompt. You can enable support by forcing the variable
|
|
to TRUE. This can be accomplished by typing:
|
|
|
|
Shell> edd30 on
|
|
EDD30 DevicePath Mode is On
|
|
|
|
Alternatively an EFI application can use RT->SetVariable() to set the
|
|
value of the EDD30 variable.
|
|
|
|
If the variable was set to false, then to take advantage of EDD3.0
|
|
support after switching the variablle to TRUE, the system MUST be
|
|
rebooted as EDD affects the core of EFI naming scheme.
|
|
|
|
Elilo will check if the variable is defined and valid. If it is set
|
|
to true, then the device name schemes that rely on it will work properly.
|
|
That's the case for the 'simple' scheme. If the variable is not set to true
|
|
or does not exist, elilo will use a generic builtin scheme with names
|
|
such as dev001, dev002 and so on. The "EDD30" variable is like a system
|
|
variable therefore it is expected not to be overloaded by users for others
|
|
purposes. Elilo is fully functional even when EDD30 is off.
|
|
|
|
By default, if EDD30 is off, elilo will try and set the variable to TRUE.
|
|
However, some controllers do not support EDD30 and forcing the variable
|
|
may cause problems. Therefore as of elilo-3.2, there is an option to
|
|
avoid forcing the variable. In the config file, you can use 'noedd30' option
|
|
and on the command line, you can use the -E option.
|
|
|
|
When the variable is forced back to TRUE, th effect will only be seen after
|
|
a reboot. Shall you decide not to reboot immediately, elilo
|
|
will system still operate using the generic naming scheme.
|
|
|
|
When EDD3.0 is enabled the output of the EFI shell 'map' command looks similar
|
|
to this:
|
|
|
|
Device mapping table
|
|
fs0 : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun0,Lun0)/HD(Part1,Sig00000000)
|
|
fs1 : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun6,Lun0)/HD(Part1,Sig00000000)
|
|
fs2 : Acpi(PNP0A03,0)/Pci(3|1)/Ata(Secondary,Master)/CDROM(Entry1)
|
|
blk0 : Acpi(PNP0A03,0)/Pci(3|1)/Ata(Primary,Master)
|
|
blk1 : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun0,Lun0)
|
|
blk2 : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun0,Lun0)/HD(Part1,Sig00000000)
|
|
blk3 : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun0,Lun0)/HD(Part2,Sig00000000)
|
|
blk4 : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun0,Lun0)/HD(Part3,Sig00000000)
|
|
blk5 : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun6,Lun0)
|
|
blk6 : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun6,Lun0)/HD(Part1,Sig00000000)
|
|
blk7 : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun6,Lun0)/HD(Part2,Sig00000000)
|
|
blk8 : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun6,Lun0)/HD(Part3,Sig00000000)
|
|
blk9 : Acpi(PNP0A03,2)/Pci(0|0)/Scsi(Pun6,Lun0)/HD(Part3,Sig00000000)/HD(Part1,Sig00000200)
|
|
blkA : Acpi(PNP0A03,0)/Pci(3|1)/Ata(Secondary,Master)
|
|
blkB : Acpi(PNP0A03,0)/Pci(3|1)/Ata(Secondary,Master)/CDROM(Entry1)
|
|
Shell>
|
|
|
|
The same system with EDD3.0 disabled will look like this:
|
|
Device mapping table
|
|
fs0 : VenHw(Unknown Device:80)/HD(Part1,Sig00000000)
|
|
fs1 : VenHw(Unknown Device:81)/HD(Part1,Sig00000000)
|
|
fs2 : VenHw(Unknown Device:FF)/CDROM(Entry1)
|
|
blk0 : VenHw(Unknown Device:00)
|
|
blk1 : VenHw(Unknown Device:80)
|
|
blk2 : VenHw(Unknown Device:80)/HD(Part1,Sig00000000)
|
|
blk3 : VenHw(Unknown Device:80)/HD(Part2,Sig00000000)
|
|
blk4 : VenHw(Unknown Device:80)/HD(Part3,Sig00000000)
|
|
blk5 : VenHw(Unknown Device:81)
|
|
blk6 : VenHw(Unknown Device:81)/HD(Part1,Sig00000000)
|
|
blk7 : VenHw(Unknown Device:81)/HD(Part2,Sig00000000)
|
|
blk8 : VenHw(Unknown Device:81)/HD(Part3,Sig00000000)
|
|
blk9 : VenHw(Unknown Device:81)/HD(Part3,Sig00000000)/HD(Part1,Sig00000200)
|
|
blkA : VenHw(Unknown Device:FF)
|
|
blkB : VenHw(Unknown Device:FF)/CDROM(Entry1)
|
|
Shell>
|
|
|
|
|
|
EDD3.0 is an industry standard and the working draft can be downloaded from the
|
|
following web site:
|
|
http://www.t13.org/
|
|
|
|
The document reference is D1386 (Enhanced Disk Drive Services 3.0).
|
|
|