2007-09-23 08:04:46 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
2010-09-02 11:12:37 +00:00
|
|
|
## live-build(7) - System Build Scripts
|
2015-01-04 18:05:39 -01:00
|
|
|
## Copyright (C) 2006-2015 Daniel Baumann <mail@daniel-baumann.ch>
|
2010-09-02 11:12:37 +00:00
|
|
|
##
|
2012-07-29 23:59:00 +00:00
|
|
|
## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
|
2010-09-02 11:12:37 +00:00
|
|
|
## This is free software, and you are welcome to redistribute it
|
|
|
|
## under certain conditions; see COPYING for details.
|
|
|
|
|
2007-09-23 08:04:46 +00:00
|
|
|
|
|
|
|
set -e
|
|
|
|
|
2007-09-23 08:05:11 +00:00
|
|
|
# Including common functions
|
2012-08-27 13:52:29 +00:00
|
|
|
[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh
|
2007-09-23 08:04:46 +00:00
|
|
|
|
2007-09-23 08:05:11 +00:00
|
|
|
# Setting static variables
|
2015-02-05 02:30:47 -01:00
|
|
|
DESCRIPTION="Build binary image"
|
2007-09-23 08:04:48 +00:00
|
|
|
USAGE="${PROGRAM} [--force]"
|
|
|
|
|
2015-02-05 02:30:47 -01:00
|
|
|
# Processing arguments and configuration files
|
|
|
|
Init_config_data "${@}"
|
2007-09-23 08:04:46 +00:00
|
|
|
|
2012-12-19 08:52:13 -01:00
|
|
|
if ! In_list hdd "${LIVE_IMAGE_TYPE}"
|
2007-09-23 08:05:11 +00:00
|
|
|
then
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
2011-09-13 07:10:28 +00:00
|
|
|
Echo_message "Begin building binary hdd image..."
|
2007-09-23 08:05:11 +00:00
|
|
|
|
|
|
|
# Requiring stage file
|
2012-06-03 20:42:41 +00:00
|
|
|
Require_stagefile .build/config .build/bootstrap .build/chroot_proc
|
2007-09-23 08:05:11 +00:00
|
|
|
|
|
|
|
# Checking stage file
|
2012-06-03 20:42:41 +00:00
|
|
|
Check_stagefile .build/binary_hdd
|
2007-09-23 08:05:11 +00:00
|
|
|
|
|
|
|
# Checking lock file
|
|
|
|
Check_lockfile .lock
|
|
|
|
|
|
|
|
# Creating lock file
|
|
|
|
Create_lockfile .lock
|
|
|
|
|
|
|
|
# Checking depends
|
2012-07-18 20:27:30 +00:00
|
|
|
case "${LB_BINARY_FILESYSTEM}" in
|
|
|
|
fat*)
|
2015-01-04 16:08:09 -01:00
|
|
|
Check_package chroot /sbin/mkdosfs dosfstools
|
2012-07-18 20:27:30 +00:00
|
|
|
;;
|
|
|
|
|
|
|
|
ntfs)
|
2018-02-14 16:49:36 -01:00
|
|
|
Check_package chroot /sbin/mkfs.ntfs ntfs-3g
|
2012-07-18 20:27:30 +00:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2015-01-04 16:08:09 -01:00
|
|
|
Check_package chroot /usr/share/doc/mtools mtools
|
|
|
|
Check_package chroot /sbin/parted parted
|
2007-09-23 08:05:11 +00:00
|
|
|
|
2015-08-21 21:54:46 +00:00
|
|
|
echo "${LB_BOOTLOADERS}" | \
|
|
|
|
while IFS="," read -r BOOTLOADER
|
|
|
|
do
|
|
|
|
case "${BOOTLOADER}" in
|
|
|
|
grub)
|
|
|
|
Check_package chroot /usr/sbin/grub grub
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
2016-01-18 02:07:48 -01:00
|
|
|
case ${LB_FIRST_BOOTLOADER} in
|
2015-08-21 21:54:46 +00:00
|
|
|
syslinux)
|
|
|
|
case ${LB_BINARY_FILESYSTEM} in
|
|
|
|
fat*|ntfs)
|
|
|
|
_BOOTLOADER=syslinux
|
|
|
|
;;
|
|
|
|
ext[234]|btrfs)
|
|
|
|
_BOOTLOADER=extlinux
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
Echo_error "syslinux/extlinux doesn't support ${LB_BINARY_FILESYSTEM}"
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
Check_package chroot /usr/bin/${_BOOTLOADER} ${_BOOTLOADER}
|
|
|
|
;;
|
2007-09-23 08:05:11 +00:00
|
|
|
esac
|
|
|
|
|
2007-09-23 08:05:15 +00:00
|
|
|
# Restoring cache
|
2015-01-06 02:46:37 -01:00
|
|
|
Restore_package_cache binary
|
2007-09-23 08:05:15 +00:00
|
|
|
|
2007-09-23 08:05:11 +00:00
|
|
|
# Installing depends
|
|
|
|
Install_package
|
|
|
|
|
|
|
|
# Remove old binary
|
2012-12-19 10:21:09 -01:00
|
|
|
if [ -f ${LIVE_iMAGE_NAME}.img ]
|
2007-09-23 08:05:11 +00:00
|
|
|
then
|
2012-12-19 10:21:09 -01:00
|
|
|
rm -f ${LIVE_iMAGE_NAME}.img
|
2007-09-23 08:05:11 +00:00
|
|
|
fi
|
|
|
|
|
Handle hardlinks in binary_hdd
To generate an hdd image, binary_hdd first estimates the needed size of
the image using du. By default, when du finds multiple hardlinked copies
of a file, it counts them only once. However, when the target filesystem
is FAT, which does not support hardlinks, these files will take up more
space when finally copying the contents, breaking the build:
P: Copying binary contents into image...
cp: error writing 'chroot/binary.tmp/live/initrd.img-4.9.0-3-amd64': No space left on device
cp: error writing 'chroot/binary.tmp/efi/boot/bootx64.efi': No space left on device
cp: error writing 'chroot/binary.tmp/efi/boot/bootia32.efi': No space left on device
cp: cannot create directory 'chroot/binary.tmp/boot/grub': No space left on device
cp: cannot create directory 'chroot/binary.tmp/isolinux': No space left on device
To fix this, pass --count-links to du when the target is FAT, to make
the space estimation correct.
This problem is exposed by commit 9c974b26b (Instead of renaming kernel
for syslinux, create hardlinks), which might need to be separately fixed
(to not waste space on FAT targets), but binary_hdd should at least
handle hardlinks more gracefully.
2017-08-29 12:50:46 +00:00
|
|
|
case "${LB_BINARY_FILESYSTEM}" in
|
|
|
|
fat*)
|
|
|
|
# If the target does not support hardlinks, tell du to
|
|
|
|
# count them double
|
|
|
|
DU_OPTIONS="--count-links"
|
|
|
|
;;
|
|
|
|
|
|
|
|
*)
|
|
|
|
DU_OPTIONS=""
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
2008-09-11 07:16:58 +00:00
|
|
|
# Enforce fat32 if we find individual files bigger than 2GB
|
2010-09-07 13:11:20 +00:00
|
|
|
if [ "${LB_BINARY_FILESYSTEM}" = "fat16" ] && [ -n "$(find binary -size +1999M)" ]
|
2008-09-11 07:16:58 +00:00
|
|
|
then
|
|
|
|
Echo_warning "FAT16 doesn't support files larger than 2GB, automatically enforcing FAT32."
|
|
|
|
|
2010-09-07 13:11:20 +00:00
|
|
|
LB_BINARY_FILESYSTEM="fat32"
|
|
|
|
export LB_BINARY_FILESYSTEM
|
2008-09-11 07:16:58 +00:00
|
|
|
fi
|
|
|
|
|
2008-09-11 07:22:45 +00:00
|
|
|
# Enforce fat32 if we have images in total bigger than 2GB
|
Handle hardlinks in binary_hdd
To generate an hdd image, binary_hdd first estimates the needed size of
the image using du. By default, when du finds multiple hardlinked copies
of a file, it counts them only once. However, when the target filesystem
is FAT, which does not support hardlinks, these files will take up more
space when finally copying the contents, breaking the build:
P: Copying binary contents into image...
cp: error writing 'chroot/binary.tmp/live/initrd.img-4.9.0-3-amd64': No space left on device
cp: error writing 'chroot/binary.tmp/efi/boot/bootx64.efi': No space left on device
cp: error writing 'chroot/binary.tmp/efi/boot/bootia32.efi': No space left on device
cp: cannot create directory 'chroot/binary.tmp/boot/grub': No space left on device
cp: cannot create directory 'chroot/binary.tmp/isolinux': No space left on device
To fix this, pass --count-links to du when the target is FAT, to make
the space estimation correct.
This problem is exposed by commit 9c974b26b (Instead of renaming kernel
for syslinux, create hardlinks), which might need to be separately fixed
(to not waste space on FAT targets), but binary_hdd should at least
handle hardlinks more gracefully.
2017-08-29 12:50:46 +00:00
|
|
|
if [ "${LB_BINARY_FILESYSTEM}" = "fat16" ] && [ "$(du ${DU_OPTIONS} -s binary | awk '{ print $1 }')" -gt "1900000" ]
|
2008-09-11 07:22:45 +00:00
|
|
|
then
|
|
|
|
Echo_warning "FAT16 doesn't support partitions larger than 2GB, automatically enforcing FAT32"
|
|
|
|
|
2010-09-07 13:11:20 +00:00
|
|
|
LB_BINARY_FILESYSTEM="fat32"
|
|
|
|
export LB_BINARY_FILESYSTEM
|
2008-09-11 07:22:45 +00:00
|
|
|
fi
|
|
|
|
|
2012-07-18 20:27:30 +00:00
|
|
|
# Enforce ntfs if we find individual files bigger than 4GB
|
|
|
|
if [ "${LB_BINARY_FILESYSTEM}" = "fat32" ] && [ -n "$(find binary -size +3999M)" ]
|
|
|
|
then
|
|
|
|
Echo_warning "FAT32 doesn't support files larger than 4GB, automatically enforcing NTFS."
|
|
|
|
|
|
|
|
LB_BINARY_FILESYSTEM="ntfs"
|
|
|
|
export LB_BINARY_FILESYSTEM
|
|
|
|
fi
|
|
|
|
|
2007-09-23 08:05:11 +00:00
|
|
|
# Everything which comes here needs to be cleaned up,
|
2013-04-02 11:59:38 +00:00
|
|
|
if [ "$LB_HDD_SIZE" = "auto" ];
|
|
|
|
then
|
Handle hardlinks in binary_hdd
To generate an hdd image, binary_hdd first estimates the needed size of
the image using du. By default, when du finds multiple hardlinked copies
of a file, it counts them only once. However, when the target filesystem
is FAT, which does not support hardlinks, these files will take up more
space when finally copying the contents, breaking the build:
P: Copying binary contents into image...
cp: error writing 'chroot/binary.tmp/live/initrd.img-4.9.0-3-amd64': No space left on device
cp: error writing 'chroot/binary.tmp/efi/boot/bootx64.efi': No space left on device
cp: error writing 'chroot/binary.tmp/efi/boot/bootia32.efi': No space left on device
cp: cannot create directory 'chroot/binary.tmp/boot/grub': No space left on device
cp: cannot create directory 'chroot/binary.tmp/isolinux': No space left on device
To fix this, pass --count-links to du when the target is FAT, to make
the space estimation correct.
This problem is exposed by commit 9c974b26b (Instead of renaming kernel
for syslinux, create hardlinks), which might need to be separately fixed
(to not waste space on FAT targets), but binary_hdd should at least
handle hardlinks more gracefully.
2017-08-29 12:50:46 +00:00
|
|
|
DU_DIM="$(du ${DU_OPTIONS} -ms binary | cut -f1)"
|
2013-04-02 11:59:38 +00:00
|
|
|
REAL_DIM="$(Calculate_partition_size ${DU_DIM} ${LB_BINARY_FILESYSTEM})"
|
|
|
|
else
|
|
|
|
REAL_DIM=$LB_HDD_SIZE
|
|
|
|
fi
|
|
|
|
|
2007-11-15 08:11:56 -01:00
|
|
|
dd if=/dev/zero of=chroot/binary.img bs=1024k count=0 seek=${REAL_DIM}
|
2010-09-07 13:11:20 +00:00
|
|
|
FREELO="$(${LB_LOSETUP} -f)"
|
2020-02-20 07:12:54 -01:00
|
|
|
MAKEDEV=false
|
2007-09-23 08:05:11 +00:00
|
|
|
if [ ! -b chroot/${FREELO} ]
|
|
|
|
then
|
2020-02-20 07:12:54 -01:00
|
|
|
MAKEDEV=true
|
2007-09-23 08:05:11 +00:00
|
|
|
|
|
|
|
mv chroot/dev chroot/dev.tmp
|
|
|
|
find /dev | cpio -dmpu chroot
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo "!!! The following error/warning messages can be ignored !!!"
|
2007-11-14 07:55:50 -01:00
|
|
|
Losetup $FREELO chroot/binary.img 0
|
2007-09-23 08:05:11 +00:00
|
|
|
|
2015-01-04 16:58:35 -01:00
|
|
|
PARTITION_TABLE_TYPE="msdos"
|
2008-06-15 15:20:55 +00:00
|
|
|
|
2010-09-07 13:11:20 +00:00
|
|
|
case "${LB_BINARY_FILESYSTEM}" in
|
2011-08-25 21:47:30 +00:00
|
|
|
ext2|ext3|ext4)
|
2008-06-15 15:27:35 +00:00
|
|
|
PARTITION_TYPE="ext2"
|
2008-06-17 05:08:24 +00:00
|
|
|
;;
|
2008-06-15 15:27:35 +00:00
|
|
|
|
2008-06-15 15:17:42 +00:00
|
|
|
fat16|fat32)
|
2010-09-07 13:11:20 +00:00
|
|
|
PARTITION_TYPE="${LB_BINARY_FILESYSTEM}"
|
2008-06-15 15:17:42 +00:00
|
|
|
;;
|
|
|
|
|
2012-07-18 20:27:30 +00:00
|
|
|
ntfs)
|
|
|
|
PARTITION_TYPE="NTFS"
|
|
|
|
;;
|
|
|
|
|
2008-06-15 15:17:42 +00:00
|
|
|
*)
|
2010-09-07 13:11:20 +00:00
|
|
|
Echo_error "Unsupported binary filesystem %s" "${LB_BINARY_FILESYSTEM}"
|
2008-06-15 15:17:42 +00:00
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2010-09-07 13:11:20 +00:00
|
|
|
case "${LB_BUILD_WITH_CHROOT}" in
|
2009-12-13 19:17:45 -01:00
|
|
|
true)
|
2008-10-28 14:44:06 -01:00
|
|
|
Chroot chroot "parted -s ${FREELO} mklabel ${PARTITION_TABLE_TYPE}" || true
|
2015-09-23 08:59:28 +00:00
|
|
|
if [ "x${LB_HDD_PARTITION_START}" = "x" ];
|
|
|
|
then
|
|
|
|
Chroot chroot "parted -a optimal -s ${FREELO} mkpart primary\
|
|
|
|
${PARTITION_TYPE} 0% 100%" || true
|
2015-07-16 07:58:46 +00:00
|
|
|
else
|
2015-09-23 08:59:28 +00:00
|
|
|
Echo_message "using partition start at ${LB_HDD_PARTITION_START}"
|
|
|
|
Chroot chroot "parted -s ${FREELO} mkpart primary ${PARTITION_TYPE}\
|
|
|
|
${LB_HDD_PARTITION_START} 100%" || true
|
2015-07-16 07:58:46 +00:00
|
|
|
fi
|
2012-07-31 17:30:59 +00:00
|
|
|
Chroot chroot "parted -s ${FREELO} set 1 boot on" || true
|
|
|
|
Chroot chroot "parted -s ${FREELO} set 1 lba off" || true
|
2007-09-23 08:05:16 +00:00
|
|
|
|
2016-01-18 02:07:48 -01:00
|
|
|
if [ "${LB_FIRST_BOOTLOADER}" = "syslinux" ]
|
2007-09-23 08:05:16 +00:00
|
|
|
then
|
2016-05-26 19:26:36 +00:00
|
|
|
dd if=chroot/usr/lib/$(echo ${_BOOTLOADER} | tr [a-z] [A-Z])/mbr.bin of=${FREELO} bs=440 count=1
|
2007-09-23 08:05:16 +00:00
|
|
|
fi
|
|
|
|
;;
|
|
|
|
|
2009-12-13 19:17:45 -01:00
|
|
|
false)
|
2008-06-15 15:20:55 +00:00
|
|
|
parted -s ${FREELO} mklabel ${PARTITION_TABLE_TYPE} || true
|
2015-09-23 08:59:28 +00:00
|
|
|
if [ "x${LB_HDD_PARTITION_START}" = "x" ];
|
|
|
|
then
|
|
|
|
parted -a optimal -s ${FREELO} mkpart primary ${PARTITION_TYPE}\
|
|
|
|
0% 100% || true
|
2015-07-16 07:58:46 +00:00
|
|
|
else
|
2015-09-23 08:59:28 +00:00
|
|
|
Echo_message "using partition start at ${LB_HDD_PARTITION_START}"
|
|
|
|
parted -s ${FREELO} mkpart primary ${PARTITION_TYPE}\
|
|
|
|
${LB_HDD_PARTITION_START} 100% || true
|
2015-07-16 07:58:46 +00:00
|
|
|
fi
|
2012-07-31 17:30:59 +00:00
|
|
|
parted -s "${FREELO}" set 1 boot on || true
|
|
|
|
parted -s "${FREELO}" set 1 lba off || true
|
2007-09-23 08:05:16 +00:00
|
|
|
|
2016-01-18 02:07:48 -01:00
|
|
|
if [ "${LB_FIRST_BOOTLOADER}" = "syslinux" ]
|
2007-09-23 08:05:16 +00:00
|
|
|
then
|
2016-05-26 19:26:36 +00:00
|
|
|
dd if=/usr/lib/$(echo ${_BOOTLOADER} | tr [a-z] [A-Z])/mbr.bin of=${FREELO} bs=440 count=1
|
2007-09-23 08:05:16 +00:00
|
|
|
fi
|
|
|
|
;;
|
|
|
|
esac
|
2007-09-23 08:05:11 +00:00
|
|
|
|
2011-07-21 15:00:54 +00:00
|
|
|
Lodetach ${FREELO}
|
2007-09-23 08:05:11 +00:00
|
|
|
|
2010-09-07 13:11:20 +00:00
|
|
|
FREELO="$(${LB_LOSETUP} -f)"
|
2007-11-14 07:55:50 -01:00
|
|
|
Losetup $FREELO chroot/binary.img 1
|
2007-09-23 08:05:16 +00:00
|
|
|
|
2010-09-07 13:11:20 +00:00
|
|
|
case "${LB_BINARY_FILESYSTEM}" in
|
2011-08-25 21:47:30 +00:00
|
|
|
ext2|ext3|ext4)
|
2010-09-07 13:11:20 +00:00
|
|
|
MKFS="${LB_BINARY_FILESYSTEM}"
|
2016-06-17 21:14:41 +00:00
|
|
|
MKFS_OPTIONS="-L ${LB_HDD_LABEL} -m 0 -O ^64bit"
|
2013-03-13 20:07:05 -01:00
|
|
|
MOUNT_OPTIONS=""
|
2008-06-15 15:27:35 +00:00
|
|
|
;;
|
|
|
|
|
2007-11-16 21:01:03 -01:00
|
|
|
fat16)
|
2008-06-17 05:08:24 +00:00
|
|
|
MKFS="vfat"
|
2011-09-12 07:19:30 +00:00
|
|
|
MKFS_OPTIONS="-F 16 -n ${LB_HDD_LABEL}"
|
2013-03-13 20:07:05 -01:00
|
|
|
MOUNT_OPTIONS=""
|
2007-11-16 21:01:03 -01:00
|
|
|
;;
|
|
|
|
|
|
|
|
fat32)
|
2008-06-17 05:08:24 +00:00
|
|
|
MKFS="vfat"
|
2011-09-12 07:19:30 +00:00
|
|
|
MKFS_OPTIONS="-F 32 -n ${LB_HDD_LABEL}"
|
2013-03-13 20:07:05 -01:00
|
|
|
MOUNT_OPTIONS=""
|
2007-11-16 21:01:03 -01:00
|
|
|
;;
|
2012-07-18 20:27:30 +00:00
|
|
|
|
|
|
|
ntfs)
|
|
|
|
MKFS="ntfs"
|
|
|
|
MKFS_OPTIONS="-L ${LB_HDD_LABEL}"
|
2013-03-13 20:07:05 -01:00
|
|
|
MOUNT_OPTIONS="-t ntfs-3g"
|
2012-07-18 20:27:30 +00:00
|
|
|
;;
|
2007-11-16 21:01:03 -01:00
|
|
|
esac
|
|
|
|
|
2010-09-07 13:11:20 +00:00
|
|
|
case "${LB_BUILD_WITH_CHROOT}" in
|
2009-12-13 19:17:45 -01:00
|
|
|
true)
|
2008-10-28 14:44:06 -01:00
|
|
|
Chroot chroot "mkfs.${MKFS} ${MKFS_OPTIONS} ${FREELO}"
|
2007-09-23 08:05:16 +00:00
|
|
|
;;
|
|
|
|
|
2009-12-13 19:17:45 -01:00
|
|
|
false)
|
2008-06-15 15:25:34 +00:00
|
|
|
mkfs.${MKFS} ${MKFS_OPTIONS} ${FREELO}
|
2007-09-23 08:05:16 +00:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2010-09-07 13:11:20 +00:00
|
|
|
case "${LB_BINARY_FILESYSTEM}" in
|
2008-06-15 15:51:49 +00:00
|
|
|
fat*)
|
2014-04-25 19:12:53 +00:00
|
|
|
CP_OPTIONS="-r -L"
|
|
|
|
;;
|
|
|
|
|
|
|
|
*)
|
|
|
|
CP_OPTIONS="-a"
|
2008-06-15 15:51:49 +00:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2014-04-27 10:35:58 +00:00
|
|
|
Echo_message "Copying binary contents into image..."
|
|
|
|
|
2007-09-23 08:05:12 +00:00
|
|
|
mkdir -p chroot/binary.tmp
|
2013-03-13 20:07:05 -01:00
|
|
|
mount ${MOUNT_OPTIONS} ${FREELO} chroot/binary.tmp
|
2014-04-25 19:12:53 +00:00
|
|
|
cp -T ${CP_OPTIONS} binary/ chroot/binary.tmp
|
2007-09-23 08:05:12 +00:00
|
|
|
|
|
|
|
FIXME()
|
|
|
|
{
|
2016-01-18 02:07:48 -01:00
|
|
|
if [ "${LB_FIRST_BOOTLOADER}" = "grub" ]
|
2007-09-23 08:05:12 +00:00
|
|
|
then
|
|
|
|
|
|
|
|
cat > chroot/grub.sh << EOF
|
2020-02-22 13:36:58 -01:00
|
|
|
#!/bin/sh
|
2007-09-23 08:05:12 +00:00
|
|
|
cd binary.tmp
|
|
|
|
grub --batch << EOM
|
|
|
|
find /live/vmlinuz
|
|
|
|
EOM
|
|
|
|
EOF
|
|
|
|
|
2008-10-28 14:44:06 -01:00
|
|
|
rootpartition="$(Chroot chroot 'sh grub.sh' 2>/dev/null | grep -A 1 'find /live/vmlinuz' | grep -v 'find /live/vmlinuz')"
|
2011-09-13 07:10:28 +00:00
|
|
|
hdddev="$(echo $rootpartition | sed -e 's|,[[:digit:]]||')"
|
|
|
|
echo "Root partition is $rootpartition, device is: $hdddev"
|
2007-09-23 08:05:12 +00:00
|
|
|
|
2007-11-13 07:00:16 -01:00
|
|
|
echo "WAITING..." && read WAIT
|
2007-09-23 08:05:12 +00:00
|
|
|
|
|
|
|
#cat > chroot/grub.sh << EOF
|
2020-02-22 13:36:58 -01:00
|
|
|
#!/bin/sh
|
2007-09-23 08:05:12 +00:00
|
|
|
#grub --batch << EOM
|
|
|
|
#root $rootpartition
|
2011-09-13 07:10:28 +00:00
|
|
|
#setup $hdddev
|
2007-09-23 08:05:12 +00:00
|
|
|
#EOM
|
|
|
|
#EOF
|
|
|
|
|
2008-10-28 14:44:06 -01:00
|
|
|
#Chroot chroot "sh grub.sh"
|
2007-09-23 08:05:12 +00:00
|
|
|
|
|
|
|
rm -f chroot/grub.sh
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2014-04-27 10:35:58 +00:00
|
|
|
case "${_BOOTLOADER}" in
|
|
|
|
syslinux)
|
|
|
|
_SYSLINUX_INSTALLER="syslinux ${FREELO}"
|
|
|
|
;;
|
|
|
|
extlinux)
|
|
|
|
_SYSLINUX_INSTALLER="extlinux --install /binary.tmp/boot/extlinux"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
_SYSLINUX_INSTALLER=""
|
|
|
|
;;
|
|
|
|
esac
|
2007-09-23 08:05:11 +00:00
|
|
|
|
2014-04-27 10:35:58 +00:00
|
|
|
if [ -n "${_SYSLINUX_INSTALLER}" ]
|
2007-09-23 08:05:11 +00:00
|
|
|
then
|
2010-09-07 13:11:20 +00:00
|
|
|
case "${LB_BUILD_WITH_CHROOT}" in
|
2009-12-13 19:17:45 -01:00
|
|
|
true)
|
2014-04-27 10:35:58 +00:00
|
|
|
Chroot chroot "${_SYSLINUX_INSTALLER}"
|
2007-09-23 08:05:16 +00:00
|
|
|
;;
|
2009-12-13 19:17:45 -01:00
|
|
|
false)
|
2014-04-27 10:35:58 +00:00
|
|
|
${_SYSLINUX_INSTALLER}
|
2007-09-23 08:05:16 +00:00
|
|
|
;;
|
|
|
|
esac
|
2007-09-23 08:05:11 +00:00
|
|
|
fi
|
|
|
|
|
2014-04-27 10:35:58 +00:00
|
|
|
umount chroot/binary.tmp
|
|
|
|
rmdir chroot/binary.tmp
|
|
|
|
|
2011-07-21 15:00:54 +00:00
|
|
|
Lodetach ${FREELO}
|
2007-09-23 08:05:11 +00:00
|
|
|
|
|
|
|
echo "!!! The above error/warning messages can be ignored !!!"
|
|
|
|
|
2020-02-20 07:12:54 -01:00
|
|
|
if $MAKEDEV; then
|
2007-09-23 08:05:13 +00:00
|
|
|
rm -rf chroot/dev
|
2007-09-23 08:05:11 +00:00
|
|
|
mv chroot/dev.tmp chroot/dev
|
|
|
|
fi
|
|
|
|
|
2015-08-27 08:17:22 +00:00
|
|
|
mv chroot/binary.img ${LIVE_IMAGE_NAME}-${LB_ARCHITECTURES}.img
|
2007-09-23 08:05:12 +00:00
|
|
|
|
2007-09-23 08:05:15 +00:00
|
|
|
# Saving cache
|
2015-01-06 02:46:37 -01:00
|
|
|
Save_package_cache binary
|
2007-09-23 08:05:15 +00:00
|
|
|
|
2007-09-23 08:05:11 +00:00
|
|
|
# Removing depends
|
|
|
|
Remove_package
|
|
|
|
|
|
|
|
# Creating stage file
|
2012-06-03 20:42:41 +00:00
|
|
|
Create_stagefile .build/binary_hdd
|