blob: 9e3dc2d69a98973c37aab4e141285fec470aea39 (
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
#!/bin/sh
/etc/rc.conf_mount_rw
PFSENSETYPE=`cat /etc/platform`
# check in two places for the old kernel type, since it could have been moved elsewhere in the upgrade process.
if [ -f /boot/kernel/pfsense_kernel.txt ]; then
OLDKERNEL=`cat /boot/kernel/pfsense_kernel.txt`
else
OLDKERNEL=`cat /tmp/pfsense_kernel.txt`
fi
# Massage the existing kernel into one that actually exists.
# Leaving old entries so we can bring back other kernels later if desired.
case "$OLDKERNEL" in
"wrap")
KERNELTYPE=wrap
;;
"wrap_vga")
KERNELTYPE=wrap_vga
;;
"Developers")
KERNELTYPE=SMP
;;
"UP")
KERNELTYPE=SMP
;;
"SMP")
KERNELTYPE=SMP
;;
*)
if [ "${PFSENSETYPE}" = "pfSense" ]; then
KERNELTYPE=SMP
elif [ "${PFSENSETYPE}" = "nanobsd" ]; then
KERNELTYPE=WRAP
fi
;;
esac
# Overwrite the old kernel type with what we're using now to reflect what is about to be written out.
echo ${KERNELTYPE} > /boot/kernel/pfsense_kernel.txt
HAVE_KERNEL=false
case "${KERNELTYPE}" in
"wrap")
if [ -f /kernels/kernel_wrap.gz ]; then
HAVE_KERNEL=true
tar xzpf /kernels/kernel_wrap.gz --exclude loader.conf -C /boot/
cp /etc/ttys_wrap /etc/ttys
fi
;;
"wrap_vga")
if [ -f /kernels/kernel_wrap_vga.gz ]; then
HAVE_KERNEL=true
tar xzpf /kernels/kernel_wrap_vga.gz --exclude loader.conf -C /boot/
fi
;;
"Developers")
if [ -f /kernels/kernel_Dev.gz ]; then
HAVE_KERNEL=true
tar xzpf /kernels/kernel_Dev.gz --exclude loader.conf -C /boot/
fi
;;
"UP")
if [ -f /kernels/kernel_uniprocessor.gz ]; then
HAVE_KERNEL=true
tar xzpf /kernels/kernel_uniprocessor.gz --exclude loader.conf -C /boot/
fi
;;
"SMP")
if [ -f /kernels/kernel_SMP.gz ]; then
HAVE_KERNEL=true
tar xzpf /kernels/kernel_SMP.gz --exclude loader.conf -C /boot/
fi
;;
esac
if [ ${HAVE_KERNEL} = "false" ]; then
echo "ERROR: Unable to locate a kernel upgrade file!"
sleep 5
fi
if [ $PFSENSETYPE = "pfSense" ] || [ $PFSENSETYPE = "nanobsd" ]; then
touch /conf/needs_package_sync
fi
# Detect interactive logins and display the shell
detect_command='[ -n "$SSH_TTY" -o "$TERM" = "cons25" ] && exec /etc/rc.initial'
echo "$detect_command" > $CVS_CO_DIR/root/.shrc
echo "$detect_command" >> $CVS_CO_DIR/root/.profile
# Now turn on or off serial console as needed
echo "Checking for /tmp/$1/tmp/post_upgrade_command.php... " >> /conf/upgrade_log.txt
if [ -x /tmp/$1/tmp/post_upgrade_command.php ]; then
echo "Running /tmp/$1/tmp/post_upgrade_command.php $1" >> /conf/upgrade_log.txt
/tmp/$1/tmp/post_upgrade_command.php $1 >> /conf/upgrade_log.txt 2>&1
elif [ -f /tmp/post_upgrade_command.php ]; then
echo "Running /tmp/post_upgrade_command.php $1" >> /conf/upgrade_log.txt
/tmp/post_upgrade_command.php $1
fi
# Remove any previous MD5 sum files
rm -f /root/*.md5
# File moved to pfSense php shell (pfSsh.php)
rm -rf /usr/local/sbin/cvs_sync.sh
if [ $PFSENSETYPE = "embedded" ]; then
cp /etc/ttys_wrap /etc/ttys
fi
if [ -f /usr/local/sbin/php ]; then
rm /usr/local/sbin/php
fi
|