Ignite-UX

Booting via the network and start the restore process "quietly"

 
SOLVED
Go to solution
jamesps
Regular Advisor

Booting via the network and start the restore process "quietly"

I currently have a make_net_recovery archive which I would like to use to "ignite" another server. I am able to boot from the Ignite server successfully (boot lan.x.x.x.x install).
I created the appropriate clients/0x... directory for my new client server, added it in my exportfs.

1. How can I start and do this installation process (restore) "quietly", I would like to start the boot client process and then to not touch a thing. Where do I need to configure the appropriate entries for that?

2. Is it possible to run post-configuration scripts since I am using a make_net_recovery? Or I will need to use a make_sys_image? My situation is where I need to deploy multiple servers repeatedly and I don't "care" about the existing OS installation which I can safely discard.

Any advices will be greately appreciated. Thank you!

james
7 REPLIES 7
Mel Burslan
Honored Contributor

Re: Booting via the network and start the restore process "quietly"

James,

I have asked the same or very similar question in the past. I have received few responses but due to a change in my project, I never had a chance to try them out at the time. You can read the question and answers in this thread and try one or more if you desire.

http://forums2.itrc.hp.com/service/forums/questionanswer.do?threadId=673722

Hope this helps you.
________________________________
UNIX because I majored in cryptology...
jamesps
Regular Advisor

Re: Booting via the network and start the restore process "quietly"

Thank you Mel. I am reading everything I can and trying to put the pieces together. I have not been successful so far :)

james
thom_14
Regular Advisor

Re: Booting via the network and start the restore process "quietly"

You need to set up the restore/install parameters first, and then use bootsys to kick off the process. I think you're better off using make_sys_image as opposed to make_net_recovery.

Here's how I'm doing it, assuming system name of foo.hp.com

My /var/opt/ignite/INDEX entry:
cfg "SysImage - GoldFinger (11.11 64-bit C3000 2005-07-22)" {
description "Golden Image created with SysImage on 2005-07-22 by thom.fitzpatrick@hp.com from system
rw-apux1 C3000"
"/opt/ignite/data/Rel_B.11.11/config"
"/opt/ignite/data/Rel_B.11.11/hw_patches_cfg"
"/var/opt/ignite/data/Rel_B.11.11/GoldFinger_cfg"
"/var/opt/ignite/saved_cfgs/GoldFinger"
"/var/opt/ignite/config.local"
}

Cfg file referenced in INDEX
/var/opt/ignite/data/Rel_B.11.11/GoldFinger_cfg

sw_source "core archive" {
description = "HP-UX Core Operating System Archives"
load_order = 0
source_format = archive
source_type="NET"
post_load_script = "/opt/ignite/data/scripts/os_arch_post_l"
post_config_script = "/opt/ignite/data/scripts/os_arch_post_c"
post_config_script += "/var/opt/ignite/scripts/ignite-finish.sh"
nfs_source = "15.8.157.106:/mnt_nb/archives/golden_images"
}
sw_category "Languages" {
description = "Languages"
}
sw_category "HPUXEnvironments" {
description = "HP-UX Operating Environments"
}
init sw_sel "golden image - 32 bit OS" {
description = "SysImage - GoldFinger 11.11 32-Bit "
sw_source = "core archive"
sw_category = "HPUXEnvironments"
archive_type = gzip tar
archive_path = "/GoldFinger.gz"
impacts = "/" 19Kb
impacts = "/dev" 14Kb
impacts = "/etc" 43514Kb
impacts = "/home" 3Kb
impacts = "/opt" 3196042Kb
impacts = "/root" 148590Kb
impacts = "/sbin" 46692Kb
impacts = "/stand" 1243Kb
impacts = "/usr" 1396181Kb
impacts = "/var" 152872Kb
exrequisite += "golden image - 64 bit OS"
visible_if = can_run_32bit
} = (can_run_32bit)
init sw_sel "golden image - 64 bit OS" {
description = "SysImage - GoldFinger 11.11 64-Bit"
sw_source = "core archive"
sw_category = "HPUXEnvironments"
archive_type = gzip cpio
archive_path = "/GoldFinger.gz"
impacts = "/" 19Kb
impacts = "/dev" 14Kb
impacts = "/etc" 43514Kb
impacts = "/home" 3Kb
impacts = "/opt" 3196042Kb
impacts = "/root" 148590Kb
impacts = "/sbin" 46692Kb
impacts = "/stand" 1243Kb
impacts = "/usr" 1396181Kb
impacts = "/var" 152872Kb
exrequisite += "golden image - 32 bit OS"
visible_if = can_run_64bit
} = (!can_run_32bit)
(sw_sel "golden image - 32 bit OS") {
_hp_os_bitness = "32"
}
(sw_sel "golden image - 64 bit OS") {
_hp_os_bitness = "64"
}
sw_source "no select" {
source_format = cmd
}
init sw_sel "English" {
description = "English Language Environment"
sw_source = "no select"
sw_category = "Languages"
locale = { "SET_NULL_LOCALE:English", "C:English" } } = TRUE
has_ps2 {
_hp_keyboard = {
"Not_Applicable",
"PS2_DIN_US_English",
"PS2_DIN_US_English_Euro"
}
init _hp_keyboard = "PS2_DIN_US_English"
}
has_usb {
_hp_keyboard = {
"Not_Applicable",
"USB_PS2_DIN_US_English",
"USB_PS2_DIN_US_English_Euro"
}
init _hp_keyboard = "USB_PS2_DIN_US_English"
}

And then the bootsys command:

bootsys -a -v -f -i "SysImage - GoldFinger (11.11 64-bit C3000 2005-07-22)" foo.hp.com

jamesps
Regular Advisor

Re: Booting via the network and start the restore process "quietly"

thom,
Thank you for your reply. I see that you are using bootsys which should do the job pretty good. My problem is that I cannot "trust" the client to be ignited. What I mean is that my client might be as well not bootable at all or it may be network unaccessible. The server will be used for teaching purposes so you can imagine what can happen.
Since I cannot use bootsys I found a way to get around it already. In the client directory in the config.sys file I have:
RUN_UI=FALSE
CONTROL_FROM_SERVER=FALSE
USE_EXPERT_UI=FALSE
env_vars += "INST_ALLOW_WARNINGS=1"

I have used auto_adm to make the menu prompt timeout to be 0 instead of 120 so the things happen quicker. I use the same image on all the servers so this is easy enough because the menu prompt can be easily changed.

Then via the GSP I do a boot lan. My dhcp/bootpd is configured to pass the file to be loaded at boot: /opt/ignite/boot/boot_lif and the process starts fully automated. No user intervention required.

What is missing from my setup at this point is the post config scripts. I am not clear on how do they work but I hope by reading the manual will help :)

james
thom_14
Regular Advisor
Solution

Re: Booting via the network and start the restore process "quietly"

The postconfig script is easy - there is an example of one (ignite-finish.sh) in the config that I listed. All mine does is turn off dtlogin so headless workstations don't beep incessantly when they're first installed ! :)
jamesps
Regular Advisor

Re: Booting via the network and start the restore process "quietly"

How is the post script executed? Where do I need to place the ignite-finish.sh file? Does the client grab it from the nfs (same location where the image was taken from?)?
That's what is missing from my big picture :)

Thanks,
james
Michael Roberts_3
Honored Contributor

Re: Booting via the network and start the restore process "quietly"

[pre|post]_[load|config]_script are tftp'd from the ignite server to the client and run by Ignite using /sbin/sh in the scope in which they are defined.

Globally scoped scripts are run after all of the software sources are loaded or configured. You can also have scripts that are associated with particular software selections, and these get run after that software is loaded or configured.

A software scoped script can be for an entire source or for a piece of software within that source. Below is an example of two scripts, one will run after all of the core software is loaded and the other will run after perl is configured:

sw_source "core" {
sd_server="10.1.40.10"
sd_depot_dir="/release/s32_111111_ic4/MC_OE_DVD1_LR"
description = "MC_OE_DVD1_ic4"
source_format = SD
load_order = 0
post_load_script += "/var/opt/ignite/common/core_post_load.sh"
}

init sw_sel "perl" {
description = "Perl Programming Language"
sw_source = "core"
sw_category = "OrderedApps"
sd_software_list = "perl,r=B.5.6.1.F,a=HP-UX_B.11.11_32/64,v=HP"
impacts = "/opt" 68657Kb
post_config_script += "/var/opt/ignite/common/perl_post_config.sh"

} = TRUE


Note that /var/opt/ignite/common must exist and be tftp accessable from the clients.


You can also use the .._cmd instead of .._script. The difference is that no tftp is involved, you write the commands you want executed directly into the keyword:

post_load_cmd +=" /usr/sbin/ls /opt
"

see instl_adm(4) for more information.
etouq ot hguone revelc ton m'i