File: boot_alpha.exp

package info (click to toggle)
conman 0.2.7-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, stretch
  • size: 1,424 kB
  • sloc: ansic: 11,173; sh: 4,072; exp: 2,132; makefile: 153; perl: 122
file content (54 lines) | stat: -rwxr-xr-x 1,250 bytes parent folder | download | duplicates (3)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/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/lib/conman/conman.exp
source /usr/lib/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