#!/bin/sh ## live-build(7) - System Build Scripts ## Copyright (C) 2006-2015 Daniel Baumann ## ## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING. ## This is free software, and you are welcome to redistribute it ## under certain conditions; see COPYING for details. set -e # Including common functions [ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh # Setting static variables DESCRIPTION="$(Echo 'installs grub-pc into binary')" HELP="" USAGE="${PROGRAM} [--force]" Arguments "${@}" # Reading configuration files Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source Set_defaults if In_list "${LIVE_IMAGE_TYPE}" hdd netboot; then exit 0 fi Check_Any_Bootloader_Role "grub-pc" Echo_message "Begin installing grub-pc..." # Requiring stage file Require_stagefile .build/config .build/bootstrap # Checking stage file Check_stagefile .build/binary_grub # Checking lock file Check_lockfile .lock # Creating lock file Create_lockfile .lock # Check architecture Check_architectures amd64 i386 Check_crossarchitectures # Checking depends Check_package chroot /usr/bin/grub-mkimage grub-pc # Restoring cache Restore_cache cache/packages.binary # Installing depends Install_package # Setting destination directory case "${LIVE_IMAGE_TYPE}" in hdd*|netboot) Echo_warning "Bootloader in this image type not yet supported by live-build." Echo_warning "This would produce a not bootable image, aborting (FIXME)." exit 1 ;; esac Check_multiarchitectures # Copying templates mkdir -p binary/boot/grub/i386-pc case ${LIVE_IMAGE_TYPE} in iso*) FILES="chroot/usr/lib/grub/i386-pc/*.mod chroot/usr/lib/grub/i386-pc/*.lst chroot/usr/lib/grub/i386-pc/efiemu??.o chroot/usr/share/grub/*.pf2" ;; hdd*|tar) FILES="chroot/usr/lib/grub/i386-pc/*" ;; esac if [ "${LB_BUILD_WITH_CHROOT}" = "false" ] then FILES="$(echo ${FILES} | sed -e 's|chroot||g')" fi # We rely on: binary_loopback_cfg to generate grub.cfg and other configuration files # Copying grub cp ${FILES} binary/boot/grub/i386-pc # Saving cache Save_cache cache/packages.binary # Removing depends Remove_package # Creating stage file Create_stagefile .build/binary_grub