#!/usr/bin/expect -- ## # $Id: boot_alpha.exp 500 2005-02-10 02:19:46Z dun $ # by Chris Dunlap <cdunlap@llnl.gov> ## set env(PATH) "/bin:/usr/bin:/usr/local/bin" source /usr/share/conman/conman.exp source /usr/share/conman/alpha.exp log_user 0 proc pre_boot_alpha {spawn_id output_id console} { exec powerman -r $console if {! [alpha_is_at_srm $spawn_id $output_id $console 150]} { return 0 } set cmds [list \ {set boot_osflags "ip=dhcp root=/dev/nfs console=ttyS0,19200"} \ {set eib0_mode Auto-Negotiate} \ {set eib0_protocols BOOTP} \ {set boot_reset OFF} \ {set auto_action halt} \ {set bootdef_dev eib0} \ ] foreach cmd $cmds { alpha_do_srm_cmd $spawn_id $output_id $console 0 $cmd } return 1 } proc boot_alpha {spawn_id output_id console} { send_user "Booting $console.\n" alpha_do_srm_cmd $spawn_id $output_id $console 0 "boot" 60 return 1 } set consoles [conman_query $argv] set n [llength $consoles] if {$n == 0} { send_error "Found no matching consoles.\n" exit 1 } elseif {$n == 1} { send_user "Resetting console [lindex $consoles 0].\n" } else { send_user "Resetting $n consoles.\n" } conman_run 128 "-j $argv" pre_boot_alpha conman_run 4 "-j $argv" boot_alpha exit 0