version 1.113, 2018/12/16 20:31:06 |
version 1.118, 2018/12/16 21:10:00 |
|
|
#!/bin/sh |
#!/bin/sh |
# $AFresh1: update_openbsd,v 1.112 2018/12/16 20:23:38 andrew Exp $ |
# $AFresh1: update_openbsd,v 1.117 2018/12/16 20:57:49 andrew Exp $ |
# |
# |
# Copyright (c) 2012 Andrew Fresh <andrew@afresh1.com> |
# Copyright (c) 2012 Andrew Fresh <andrew@afresh1.com> |
# |
# |
|
|
fi |
fi |
|
|
cd $KERNEL_ROOT |
cd $KERNEL_ROOT |
BOOT_KERNEL=$( find_boot_kernel ) |
BOOTED_KERNEL=$( find_boot_kernel ) |
BOOT_KERNEL_VERSION=$( kernel_file_version $BOOT_KERNEL ) |
BOOT_KERNEL_VERSION=$( kernel_file_version $BOOTED_KERNEL ) |
if [ $(sysctl -n hw.ncpufound) -gt 1 ] || kernel_is_multiprocessor $BOOT_KERNEL; then |
|
|
if [ $(sysctl -n hw.ncpufound) -gt 1 ] || kernel_is_multiprocessor $BOOTED_KERNEL; then |
BOOT_KERNEL=bsd.mp |
BOOT_KERNEL=bsd.mp |
|
else |
|
BOOT_KERNEL=$BOOTED_KERNEL |
fi |
fi |
|
|
BOOTED_KERNEL_VERSION=`sysctl -n kern.version` |
BOOTED_KERNEL_VERSION=`sysctl -n kern.version` |
|
|
done |
done |
|
|
cd $OLDPWD |
cd $OLDPWD |
|
|
|
EFI_BOOT="" |
|
if [ -d "/mnt/efi/boot" ]; then |
|
_d=$( cd "/mnt/efi/boot" && ls -1 *.{efi,EFI} 2>/dev/null ) |
|
# assume an MSDOS filesystem and so case insensitive |
|
[ "$_d" ] && EFI_BOOT=$( echo $_d | tr a-z A-Z ) |
|
fi |
|
|
umount_boot_device |
umount_boot_device |
|
|
BOOT_KERNELS=$INSTALL_KERNELS |
BOOT_KERNELS=$INSTALL_KERNELS |
|
|
|
|
local _v=$FILE_VER |
local _v=$FILE_VER |
|
|
|
if [ "$EFI_BOOT" ]; then |
|
_b="$EFI_BOOT" |
|
if [ ! -e ./${_b} ]; then |
|
echo "===> $FTP_CMD ${FTP}/${_b}" |
|
$FTP_CMD ${FTP}/${_b} |
|
else |
|
echo "===> Have ${_b}" |
|
fi |
|
fi |
|
|
for _b in $INSTALL_KERNELS; do |
for _b in $INSTALL_KERNELS; do |
if [ ! -e ./${_b} ]; then |
if [ ! -e ./${_b} ]; then |
echo "===> $FTP_CMD ${FTP}/${_b}" |
echo "===> $FTP_CMD ${FTP}/${_b}" |
|
|
[ $_d != / ] && _d=${_d%/}/ |
[ $_d != / ] && _d=${_d%/}/ |
[ $_d != / ] && mount | grep -q " on ${_d%/} .* msdos" && mount_is_msdos=1 |
[ $_d != / ] && mount | grep -q " on ${_d%/} .* msdos" && mount_is_msdos=1 |
|
|
|
if [ "$EFI_BOOT" -a -d /mnt/efi/boot ]; then |
|
echo "Copying $EFI_BOOT to /mnt/efi/boot/" |
|
( cd /mnt/efi/boot \ |
|
&& cp "$RELEASEDIR/$EFI_BOOT" "n$EFI_BOOT" \ |
|
&& mv "n$EFI_BOOT" "$EFI_BOOT" |
|
) |
|
fi |
|
|
if [ X"$BOOT_KERNEL_VERSION" != X"$NEW_KERNEL_VERSION" ]; then |
if [ X"$BOOT_KERNEL_VERSION" != X"$NEW_KERNEL_VERSION" ]; then |
echo "===> Backing up $BOOT_KERNEL to ${_d}obsd" |
echo "===> Backing up ${_d}$BOOTED_KERNEL to ${_d}obsd" |
if [ $mount_is_msdos ]; then |
if [ $mount_is_msdos ]; then |
cp ${_d}$BOOT_KERNEL ${_d}obsd |
cp ${_d}$BOOTED_KERNEL ${_d}obsd |
else |
else |
ln -f ${_d}$BOOT_KERNEL ${_d}obsd |
ln -f ${_d}$BOOTED_KERNEL ${_d}obsd |
fi |
fi |
if [ $? -ne 0 ]; then |
if [ $? -ne 0 ]; then |
echo "Error copying old kernel!" >&2 |
echo "Error copying old kernel!" >&2 |
|
|
echo " RELEASEDIR: $RELEASEDIR" |
echo " RELEASEDIR: $RELEASEDIR" |
echo " DESTDIR: $DESTDIR" |
echo " DESTDIR: $DESTDIR" |
echo " BOOT_DEVICE: $BOOT_DEVICE" |
echo " BOOT_DEVICE: $BOOT_DEVICE" |
|
[ "$EFI_BOOT" ] && echo " EFI_BOOT: $EFI_BOOT" |
echo " BOOT_KERNEL: $BOOT_KERNEL" |
echo " BOOT_KERNEL: $BOOT_KERNEL" |
echo " INSTALL_KERNELS: $INSTALL_KERNELS" |
echo " INSTALL_KERNELS: $INSTALL_KERNELS" |
echo " INSTALLED_SETS: $INSTALLED_SETS" |
echo " INSTALLED_SETS: $INSTALLED_SETS" |
|
|
echo "===> Last booted:\n$BOOTED_KERNEL_VERSION" |
echo "===> Last booted:\n$BOOTED_KERNEL_VERSION" |
if [ X"$BOOT_KERNEL_VERSION" != X"$BOOTED_KERNEL_VERSION" \ |
if [ X"$BOOT_KERNEL_VERSION" != X"$BOOTED_KERNEL_VERSION" \ |
-a X"$BOOT_KERNEL_VERSION" != X"$NEW_KERNEL_VERSION" ]; then |
-a X"$BOOT_KERNEL_VERSION" != X"$NEW_KERNEL_VERSION" ]; then |
echo "Next boot (unless replaced):\n$BOOT_KERNEL_VERSION" |
echo "Next boot $BOOTED_KERNEL (unless replaced):\n$BOOT_KERNEL_VERSION" |
fi |
fi |
if [ -n "$NEW_KERNEL_VERSION" ]; then |
if [ -n "$NEW_KERNEL_VERSION" ]; then |
echo "===> New $BOOT_KERNEL:\n$NEW_KERNEL_VERSION"; |
echo "===> New $BOOT_KERNEL:\n$NEW_KERNEL_VERSION"; |