When smart bios gets anoying

We recently got some new hardware which has some nice logic in the bios which says "if I have a mbr and no one has pressed F12 to select network boot, then silently boot from the default boot device". This is not the behaviour I am used, normally if the default boot device is set to network and there are no offers then boot from the next device in the boot list. Unfortunatley the default boot device on these machines is hard coded to the disk!, this is really annoying when your trying to jumpstart the system remotely and have no physical access.

There are 2 options since Solaris with grub is installed on the system, we can wipe the boot record and force a boot from the default device or modify the grub menu.
Wiping the mbr - pro: easily done, cons if something goes wrong theres no way back
Modify Grub - pro: can revert back to default os, cons need hands on if things go wrong

This assumes you have a tftp server configured for jumpstart and are using dhcp, all you do is add the following to the menu on the system to be reinstalled in /boot/grub/menu.lst. Typically I place the entry below the timeout entry ie as the first entry and set the default boot entry to 0

#
# default menu entry to boot
default 0
#
# menu timeout in second before default OS is booted
# set to -1 to wait for user input
timeout 10
#

dhcp
root (nd)
kernel  /I86PC.Solaris_11-15/multiboot kernel/unix - install dhcp  -B console=keyboard,install_config=IP_INSTALL_SERVER:/PATH_TO_JUMPSTART_CONFIG/MACHINE_NAME,sysid_config=IP_INSTALL_SERVER:/PATH_TO_JUMPSTART_CONFIG/MACHINE_NAME,install_media=IP_INSTALL_SERVER:/PATH_TO_INSTALL_MEDIA/OS_BUILD,install_boot=IP_INSTALL_SERVER:/PATH_TO_INSTALL_MEDIA/OS_BUILD/boot
module /I86PC.Solaris_11-15/x86.miniroot

The entries for kernel and module can be found in the menu.lst.MAC-ADDRESS on your tftp server after running add_install_client. The above entry is used when you have a jumpstart profile, to use an interactive install (why?) the entries would be as follows
#
# default menu entry to boot
default 0
#
# menu timeout in second before default OS is booted
# set to -1 to wait for user input
timeout 10
#
dhcp
root (nd)
kernel  /I86PC.Solaris_11-15/multiboot kernel/unix - install dhcp 
module /I86PC.Solaris_11-15/x86.miniroot

Simply what happens is, dhcp tell grub to configure the network device based on the dhcp settings. We set the root filesystem to be the network devices tftp directory. Load the kernel from the directory with the args of install and dhcp .

note
this will only work if you have a network device which is supported by the mini root.

Comments:

Post a Comment:
Comments are closed for this entry.
About

nickyv

Search

Archives
« April 2014
MonTueWedThuFriSatSun
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Today