version 1.104, 2017/12/11 02:53:13 |
version 1.106, 2017/12/11 03:12:34 |
|
|
#!/bin/sh |
#!/bin/sh |
# $AFresh1: update_openbsd,v 1.103 2017/12/11 02:50:09 andrew Exp $ |
# $AFresh1: update_openbsd,v 1.105 2017/12/11 02:58:57 andrew Exp $ |
# |
# |
# Copyright (c) 2012 Andrew Fresh <andrew@afresh1.com> |
# Copyright (c) 2012 Andrew Fresh <andrew@afresh1.com> |
# |
# |
|
|
#what $1 | sed -ne 's/[[:blank:]]\{1,\}//p' |
#what $1 | sed -ne 's/[[:blank:]]\{1,\}//p' |
} |
} |
|
|
|
kernel_is_multiprocessor() { |
|
printf "find cpu*\nexit\n" | config -e $1 2>/dev/null | grep -q "cpu\* at " |
|
} |
|
|
version_in() { |
version_in() { |
local _proto=${FTP%%://*} |
local _proto=${FTP%%://*} |
local _file |
local _file |
|
|
cd $KERNEL_ROOT |
cd $KERNEL_ROOT |
BOOT_KERNEL=$( find_boot_kernel ) |
BOOT_KERNEL=$( find_boot_kernel ) |
BOOT_KERNEL_VERSION=$( kernel_file_version $BOOT_KERNEL ) |
BOOT_KERNEL_VERSION=$( kernel_file_version $BOOT_KERNEL ) |
cd $OLDPWD |
if [ $(sysctl -n hw.ncpufound) -gt 1 ] || kernel_is_multiprocessor $BOOT_KERNEL; then |
umount_boot_device |
BOOT_KERNEL=bsd.mp |
|
fi |
|
|
BOOTED_KERNEL_VERSION=`sysctl -n kern.version` |
BOOTED_KERNEL_VERSION=`sysctl -n kern.version` |
NEW_KERNEL_VERSION="" |
NEW_KERNEL_VERSION="" |
|
|
if [ X"$INSTALL_KERNELS" == X"bsd.sp" ]; then |
if [ X"$INSTALL_KERNELS" == X"bsd.sp" ]; then |
INSTALL_KERNELS="bsd" |
INSTALL_KERNELS="bsd" |
fi |
fi |
# with a second option of an mp kernel if is is a likely candidate |
|
if [ X"$INSTALL_KERNELS" != X"bsd.mp" ]; then |
# We want to update all kernels that exist |
local _ncpu=$(sysctl -n hw.ncpufound) |
# either in the $KERNEL_ROOT or in / |
[ $_ncpu -gt 1 ] && INSTALL_KERNELS="$INSTALL_KERNELS bsd.mp" |
for b in bsd bsd.mp; do |
fi |
[ -e $b -o -e /$b ] || continue |
# or just bsd otherwise |
if [ X"${INSTALL_KERNELS% *}" != X"$b" ]; then |
if [ X"${INSTALL_KERNELS% *}" != X"bsd" ]; then |
INSTALL_KERNELS="$INSTALL_KERNELS $b" |
INSTALL_KERNELS="$INSTALL_KERNELS bsd" |
fi |
fi |
done |
|
|
|
cd $OLDPWD |
|
umount_boot_device |
|
|
BOOT_KERNELS=$INSTALL_KERNELS |
BOOT_KERNELS=$INSTALL_KERNELS |
INSTALL_KERNELS="$INSTALL_KERNELS bsd.rd" |
INSTALL_KERNELS="$INSTALL_KERNELS bsd.rd" |
} |
} |