summaryrefslogtreecommitdiff
path: root/templates/system/console/network/node.def
blob: d81844614662bab8b2b8d0cd8ad8e2645e7ab930 (plain)
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
tag:
type: txt
help: Network based console logging
priority: 400 # After network interface
val_help: <netconXX>; Network console device name

syntax:expression: pattern $VAR(@) "^netcon[0-9]+$" \
	; "network console $VAR(@): not a valid name"

begin: # Make configfs if not present
       if [ ! -d /dev/config ] ; then
	   sudo mkdir /dev/config
	   sudo mount -t configfs none /dev/config
       fi
       # Add netconsole module if not already present
       [ -d /dev/config/netconsole ] || sudo modprobe netconsole
       # create network console object
       NETCONS=/dev/config/netconsole/$VAR(@)
       [ -d $NETCONS ] || sudo mkdir $NETCONS
       # leave disabled until end of transaction
       if [ $(cat $NETCONS/enabled) -ne 0 ]; then 
	   sudo sh -c "echo 0 > $NETCONS/enabled"
       fi

commit:expression: $VAR(interface) != "" ; "interface must be specified"

delete: sudo rmdir /dev/config/netconsole/$VAR(@)

end:  NETCONS=/dev/config/netconsole/$VAR(@)
      # enable console if not deleted
      if [ -d $NETCONS ]; then
          sudo sh -c "echo 1 > $NETCONS/enabled"
      fi