case "$MODE" in
    commandline)
        add_option "kernel-packages" "`eval_gettext "set the list of kernel packages to install"`" "advanced" "true"
        add_option "kernel-variant" "`eval_gettext "set the kernel variant to install"`" "advanced" "true"
        add_option "kernel-version" "`eval_gettext "set the kernel version to install"`" "advanced" "true"
        ;;
    configure)
        if [ -n "$option_kernel_packages_value" ]; then
            KERNEL_PACKAGES="$(echo $option_kernel_packages_value | tr ',' ' ')"
        fi
        if [ -n "$option_kernel_variant_value" ]; then
            KERNEL_VARIANT="$(echo $option_kernel_variant_value | tr ',' ' ')"
        fi
        if [ -n "$option_kernel_version_value" ]; then
            KERNEL_VERSION="$(echo $option_kernel_version_value | tr ',' ' ')"
        fi
        ;;
    before-install)
        if [ -z "$KERNEL_PACKAGES" ]; then
            # select a kernel
            KERNEL_BASE="linux-image"
            case $ARCH in
                kfreebsd-*)
                    KERNEL_BASE="kfreebsd-image"
                    ;;
            esac
            case $ARCH in
                armhf)
                    KERNEL_VARIANT="armmp"
                    ;;
                i386)
                    case $DIST in
                      squeeze|wheezy) KERNEL_VARIANT="486" ;;
                      *) KERNEL_VARIANT="586" ;;
                    esac
                    ;;
                kfreebsd-amd64)
                    KERNEL_VARIANT="amd64"
                    ;;
                kfreebsd-i386)
                    KERNEL_VARIANT="486"
                    ;;
                sparc) # only 64 bit kernel is supported in Debian Lenny+
                    KERNEL_VARIANT="sparc64"
                    ;;
                alpha)
                    KERNEL_VARIANT="alpha-generic"
                    ;;
                amd64|arm64|powerpc*|s390*|sparc64)
                    KERNEL_VARIANT="$ARCH"
                    ;;
                *)
                    # generic kernel unknown, select the running kernel
                    KERNEL_VERSION="$(uname -r)"
                    KERNEL_PACKAGES="$KERNEL_BASE-$KERNEL_VERSION"
                    if [ "$HOST_ARCH" != "$ARCH" ]; then
                        echo "ERROR: unable to determine cross-architecture kernel"
                        echo "please select kernel with with --kernel-packages"
                        exit 1
                    fi
                    ;;
            esac
            if [ -z "$KERNEL_PACKAGES" ]; then
                test -n "$KERNEL_VERSION" && KERNEL_BASE="$KERNEL_BASE-$KERNEL_VERSION"
                test -n "$KERNEL_VARIANT" && KERNEL_PACKAGES="$KERNEL_BASE-$KERNEL_VARIANT"
            fi
        fi
        test -n "$KERNEL_PACKAGES" && LATE_PACKAGES="$LATE_PACKAGES $KERNEL_PACKAGES"
        ;;
esac
