2014-11-24 08:38:21 +01:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
|
|
|
# move the kernel out into a new device tarfile with system/boot
|
|
|
|
|
2015-03-25 19:39:28 +01:00
|
|
|
set -ex
|
2014-11-24 08:38:21 +01:00
|
|
|
|
|
|
|
echo "I: Moving kernel into device tarball"
|
|
|
|
|
|
|
|
HERE="$(pwd)"
|
|
|
|
TMPDIR="$(mktemp -d)"
|
2015-02-18 22:29:31 -03:00
|
|
|
ARCH=$(dpkg --print-architecture)
|
2014-11-24 08:38:21 +01:00
|
|
|
mkdir -p $TMPDIR/system/
|
2015-02-18 22:29:31 -03:00
|
|
|
mkdir -p $TMPDIR/assets/
|
2014-11-24 08:38:21 +01:00
|
|
|
|
|
|
|
# cp files, we can't simply use tar --transform as it changes the symlink target
|
|
|
|
(
|
2015-07-08 11:45:39 -03:00
|
|
|
cd binary/boot/filesystem.dir
|
2015-03-26 15:43:09 +01:00
|
|
|
|
|
|
|
cp -ar --parent lib/modules/ $TMPDIR/system/
|
|
|
|
cp -ar --parent lib/firmware/ $TMPDIR/system/
|
|
|
|
|
|
|
|
# new assets handling
|
2015-06-11 17:52:29 +02:00
|
|
|
if [ -f boot/vmlinu?-*.signed ]; then
|
2015-07-08 11:45:39 -03:00
|
|
|
kernel=boot/vmlinu?-*.signed
|
2015-06-11 17:52:29 +02:00
|
|
|
else
|
2015-07-08 11:45:39 -03:00
|
|
|
kernel=boot/vmlinu?-*
|
2015-06-11 17:52:29 +02:00
|
|
|
fi
|
2015-07-08 11:45:39 -03:00
|
|
|
|
|
|
|
initrd=boot/initrd.img-*
|
|
|
|
|
2015-07-08 22:51:49 +02:00
|
|
|
cp -ar $initrd $TMPDIR/assets/
|
|
|
|
cp -ar $kernel $TMPDIR/assets/
|
2015-06-09 11:19:31 +02:00
|
|
|
cp -ar boot/abi-* boot/System.map-* $TMPDIR/assets/
|
2015-02-18 22:29:31 -03:00
|
|
|
|
2015-03-25 19:39:28 +01:00
|
|
|
dtbs=$(find lib/firmware -type d -name 'device-tree' -print0)
|
2015-06-09 11:19:31 +02:00
|
|
|
if [ -n "$dtbs" ]; then
|
|
|
|
mv "$dtbs" $TMPDIR/assets/dtbs
|
2014-11-24 08:38:21 +01:00
|
|
|
fi
|
2015-06-09 11:19:31 +02:00
|
|
|
|
2015-07-08 11:45:39 -03:00
|
|
|
# create hardware.yaml
|
|
|
|
# this assumes armh == u-boot
|
|
|
|
# and all others grub
|
|
|
|
# common bits
|
2015-02-18 22:29:31 -03:00
|
|
|
cat > $TMPDIR/hardware.yaml << EOF
|
2015-07-09 12:12:48 +02:00
|
|
|
kernel: assets/$(basename $kernel)
|
|
|
|
initrd: assets/$(basename $initrd)
|
2015-04-29 14:43:44 +02:00
|
|
|
partition-layout: system-AB
|
2015-02-18 22:29:31 -03:00
|
|
|
EOF
|
|
|
|
|
|
|
|
# arch specific ones
|
|
|
|
if [ "$ARCH" = "armhf" ]; then
|
|
|
|
cat >> $TMPDIR/hardware.yaml << EOF
|
|
|
|
dtbs: assets/dtbs
|
|
|
|
bootloader: u-boot
|
|
|
|
EOF
|
|
|
|
else
|
|
|
|
cat >> $TMPDIR/hardware.yaml << EOF
|
|
|
|
bootloader: grub
|
|
|
|
EOF
|
2015-03-25 19:39:28 +01:00
|
|
|
fi
|
2015-02-18 22:29:31 -03:00
|
|
|
)
|
|
|
|
|
2014-11-24 08:38:21 +01:00
|
|
|
# and tar it up
|
|
|
|
(
|
|
|
|
cd $TMPDIR
|
2015-04-08 19:35:42 +02:00
|
|
|
tar -c -z -f $HERE/device.tar.gz system assets hardware.yaml
|
2014-11-24 08:38:21 +01:00
|
|
|
)
|
|
|
|
|
2015-06-25 08:36:42 -03:00
|
|
|
# now build the azure device tarball
|
|
|
|
# this should go away once we have a custom grub.cfg for azure
|
|
|
|
cp $HERE/device.tar.gz $HERE/device-azure.tar.gz
|
|
|
|
|
2014-11-24 08:38:21 +01:00
|
|
|
rm -rf $TMPDIR
|
|
|
|
|
|
|
|
# remove files from the root filesystem
|
|
|
|
(cd binary/boot/filesystem.dir
|
|
|
|
rm -f boot/vmlinu?-*
|
|
|
|
rm -f boot/initrd.img-*
|
|
|
|
rm -f boot/abi-*
|
|
|
|
rm -f boot/System.map-*
|
|
|
|
rm -f initrd.img
|
|
|
|
rm -f vmlinu?
|
|
|
|
rm -rf lib/modules
|
2015-02-18 22:29:31 -03:00
|
|
|
rm -rf lib/firmware
|
2015-08-26 13:12:20 +02:00
|
|
|
# lp: #1468469
|
|
|
|
rm -rf boot/config-*
|
|
|
|
rm -rf usr/share/doc/linux-image*
|
|
|
|
rm -rf var/lib/initramfs-tools/*
|
|
|
|
rm -rf lib/modprobe.d/blacklist_linux_*.conf
|
2014-11-24 08:38:21 +01:00
|
|
|
)
|