#!/bin/bash B="http://kernel.ubuntu.com/~kernel-ppa/mainline/" if [ -z "$1" ]; then # identify latest version V="$(wget -O - $B 2>/dev/null | grep '[DIR]' | sed 's/.*a href="\(.*\)">v.*/\1/' | tail -1)" else if ! wget -O - "$B/$1" 2>/dev/null >&2; then echo "error: Cannot find version $1 in the Ubuntu mainline kernel archive" >&2 exit 1 fi V="$1/" fi mkdir -p $V && pushd $V >/dev/null || exit 1 # fetch each Debian package in the version's directory for U in $(wget -O - $B$V 2>/dev/null | sed -n 's/.*a href="\(linux.*\(i386\|amd64\|all\)\.deb\)">.*/\1/p'); do if [ ! -f $U ]; then wget $B$V$U; else echo "info: skipping download; already have $V$U" fi done popd sudo dpkg -i $V/*generic*$(dpkg --print-architecture).deb $V/*_all.deb