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