diff options
author | Daniel Drake <dsd@laptop.org> | 2012-09-10 20:22:55 (GMT) |
---|---|---|
committer | Daniel Drake <dsd@laptop.org> | 2012-09-17 17:22:38 (GMT) |
commit | 9f20418922d04bc6fe30b2aa1fb5daaabddf4101 (patch) | |
tree | 8d05adffc5f285b7514091e29e4c9fd34c966ea2 /modules/base/kspost.50.zip_bootfiles.nochroot.inc | |
parent | c5cb6551027da10d04f39ed1c04e166cc4878652 (diff) |
Always ship kernel/initramfs in zip files
We now ship the kernel/initramfs in zip files only.
This reduces duplication for when images get signed, and it allows
us to ship a simplified olpc.fth.
This implements the plan here:
http://lists.laptop.org/pipermail/devel/2012-March/034439.html
This didn't work on first attempt because we hit a firmware bug
on XO-1.75 (#12107). Now that we have a fix, and a workaround for
old firmware versions, give this change another spin.
Diffstat (limited to 'modules/base/kspost.50.zip_bootfiles.nochroot.inc')
-rw-r--r-- | modules/base/kspost.50.zip_bootfiles.nochroot.inc | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/modules/base/kspost.50.zip_bootfiles.nochroot.inc b/modules/base/kspost.50.zip_bootfiles.nochroot.inc new file mode 100644 index 0000000..8477ae2 --- /dev/null +++ b/modules/base/kspost.50.zip_bootfiles.nochroot.inc @@ -0,0 +1,46 @@ +# Put the unsigned kernel/initramfs in zip files and remove the originals +# This avoids duplication for signed builds (where these zips will be signed +# later), where otherwise we would be shipped both signed and unsigned kernels +# and losing some disk space. + +# Create zip files +create_unsigned_zip() { + local infile=$1 + local tgt=$2 + + cd $INSTALL_ROOT/boot + [ -e $1 ] || return + + cp $1 data.img + zip -j -n .img ${tgt}.zip data.img + rm -f data.img +} + +create_unsigned_zip vmlinuz runos +create_unsigned_zip initrd.img runrd +create_unsigned_zip actrd.img actrd + +# Remove original copies +remove_original() { + local name=$1 + + cd $INSTALL_ROOT/boot + [ -e "$name" ] || return + + if [ -L "$name" ]; then + dest=$(readlink $name) + rm -rf "$dest" + fi + + rm -f $name +} + +remove_original vmlinuz +remove_original actrd.img +remove_original initrd.img + +# symlink actXX to runXX (or the other way) if any of them are missing +[ -e $INSTALL_ROOT/boot/actos.zip ] || ln -s runos.zip $INSTALL_ROOT/boot/actos.zip +[ -e $INSTALL_ROOT/boot/actrd.zip ] || ln -s runrd.zip $INSTALL_ROOT/boot/actrd.zip +[ -e $INSTALL_ROOT/boot/runos.zip ] || ln -s actos.zip $INSTALL_ROOT/boot/runos.zip +[ -e $INSTALL_ROOT/boot/runrd.zip ] || ln -s actrd.zip $INSTALL_ROOT/boot/runrd.zip |