1
0
mirror of https://github.com/rancher/os.git synced 2025-06-22 13:07:04 +00:00
os/scripts/mk-kernel-tar-from-deb.sh
2015-10-02 01:02:44 -07:00

45 lines
903 B
Bash
Executable File

#!/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}