grub2: Vendor power-on keys
1
1 10 Using GRUB with vendor power-on keys
1 ***************************************
1
1 Some laptop vendors provide an additional power-on button which boots
1 another OS. GRUB supports such buttons with the 'GRUB_TIMEOUT_BUTTON',
1 'GRUB_TIMEOUT_STYLE_BUTTON', 'GRUB_DEFAULT_BUTTON', and
11 'GRUB_BUTTON_CMOS_ADDRESS' variables in default/grub (⇒Simple
configuration). 'GRUB_TIMEOUT_BUTTON', 'GRUB_TIMEOUT_STYLE_BUTTON',
1 and 'GRUB_DEFAULT_BUTTON' are used instead of the corresponding
1 variables without the '_BUTTON' suffix when powered on using the special
1 button. 'GRUB_BUTTON_CMOS_ADDRESS' is vendor-specific and partially
1 model-specific. Values known to the GRUB team are:
1
1 <Dell XPS M1330M>
1 121:3
1 <Dell XPS M1530>
1 85:3
1 <Dell Latitude E4300>
1 85:3
1 <Asus EeePC 1005PE>
1 84:1 (unconfirmed)
1 <LENOVO ThinkPad T410s (2912W1C)>
1 101:3
1
1 To take full advantage of this function, install GRUB into the MBR
1 (⇒Installing GRUB using grub2-install).
1
1 If you have a laptop which has a similar feature and not in the above
1 list could you figure your address and contribute? To discover the
1 address do the following:
1 * boot normally
1 * sudo modprobe nvram
1 sudo cat /dev/nvram | xxd > normal_button.txt
1 * boot using vendor button
1 * sudo modprobe nvram
1 sudo cat /dev/nvram | xxd > normal_vendor.txt
1
1 Then compare these text files and find where a bit was toggled. E.g.
1 in case of Dell XPS it was:
1 byte 0x47: 20 --> 28
1 It's a bit number 3 as seen from following table:
1 0 01
1 1 02
1 2 04
1 3 08
1 4 10
1 5 20
1 6 40
1 7 80
1
1 0x47 is decimal 71. Linux nvram implementation cuts first 14 bytes
1 of CMOS. So the real byte address in CMOS is 71+14=85 So complete
1 address is 85:3
1