#!/bin/sh ARCH=$(uname -m) KERNEL="/mnt/boot/kernel" KEXEC_ARGS="-l" if [ $ARCH = "arm" ]; then KEXEC_ARGS="$KEXEC_ARGS --atags" fi PART_A=2 PART_B=3 me=$0 usage() { cat >&2 < /dev/null # get the partiton of the current kernel PART="/dev/$(readlink /dev/root)" # extract the partition number C_M_PART_NUM=$(readlink /dev/root | grep -o -e '[[:digit:]]*$') # cut off the Partition Number C_M_PART=$(readlink /dev/root | sed "s/$C_M_PART_NUM\$//") CURRENT_PART="/dev/${C_M_PART}${C_M_PART_NUM}" case $C_M_PART_NUM in "$PART_A") DEVICE="/dev/${C_M_PART}${PART_B}" mount -r $DEVICE /mnt load_kernel $DEVICE ;; "$PART_B") DEVICE="/dev/${C_M_PART}${PART_A}" mount -r $DEVICE /mnt load_kernel $DEVICE ;; *) echo "FAILURE" ;; esac