From febd78f1dd46ec8671a1cc7193911db063b2aba1 Mon Sep 17 00:00:00 2001 From: Darren Shepherd Date: Fri, 2 Oct 2015 01:02:44 -0700 Subject: [PATCH] Add helper script to convert Ubuntu deb to kernel tgz --- scripts/mk-kernel-tar-from-deb.sh | 44 +++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 scripts/mk-kernel-tar-from-deb.sh diff --git a/scripts/mk-kernel-tar-from-deb.sh b/scripts/mk-kernel-tar-from-deb.sh new file mode 100755 index 00000000..c3e07eb7 --- /dev/null +++ b/scripts/mk-kernel-tar-from-deb.sh @@ -0,0 +1,44 @@ +#!/bin/bash +set -e -x + +# This script will convert an Ubuntu deb file to the kernel tar structure the RancherOS build expects +# For example +# +# ./scripts/mk-kernel-tar-from-deb.sh linux-image-3.19.0-28-generic_3.19.0-28.30_amd64.deb linux-image-extra-3.19.0-28-generic_3.19.0-28.30_amd64.deb linux-firmware_1.143.3_all.deb +# + +mkdir -p $(dirname $0)/../build +BUILD=$(mktemp -d $(dirname $0)/../build/deb-XXXXX) +mkdir -p $BUILD + +extract() +{ + if [ ! -e $1 ]; then + echo $1 does not exist + exit 1 + fi + + local deb=$(readlink -f $1) + + cd $BUILD + rm -f data.tar.* 2>/dev/null || true + ar x $deb + tar xvf data.tar.* + cd - +} + +for i in "$@"; do + extract $i +done + +cd $BUILD + +KVER=$(ls ./lib/modules) +depmod -b . $KVER + +echo Creating ${OLDPWD}/kernel.tar.gz +tar cvzf ${OLDPWD}/kernel.tar.gz ./lib boot/vmlinuz* +echo Created ${OLDPWD}/kernel.tar.gz + +cd - +rm -rf ${BUILD}