/usr/lib/live/build/source_hdd is in live-build 3.0.5-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | #!/bin/sh
## live-build(7) - System Build Scripts
## Copyright (C) 2006-2013 Daniel Baumann <daniel@debian.org>
##
## 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 'build source image')"
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 [ "${LB_SOURCE}" != "true" ]
then
exit 0
fi
if ! In_list hdd "${LB_SOURCE_IMAGES}"
then
exit 0
fi
Echo_message "Begin building source hdd image..."
# Requiring stage file
Require_stagefile .build/config .build/source_debian
# Checking stage file
Check_stagefile .build/source_hdd
# Checking lock file
Check_lockfile .lock
# Creating lock file
Create_lockfile .lock
# Checking depends
Check_package chroot/sbin/mkdosfs dosfstools
Check_package chroot/sbin/parted parted
# Installing depends
Install_package
# Remove old source
if [ -f source.img ]
then
rm -f source.img
fi
# Everything which comes here needs to be cleaned up,
DU_DIM="$(du -ms source | cut -f1)"
REAL_DIM="$(Calculate_partition_size ${DU_DIM} ${LB_BINARY_FILESYSTEM})"
dd if=/dev/zero of=source.img bs=1024k count=0 seek=${REAL_DIM}
FREELO="$(${LB_LOSETUP} -f)"
if [ ! -b chroot/${FREELO} ]
then
MAKEDEV="true"
mv chroot/dev chroot/dev.tmp
find /dev | cpio -dmpu chroot
fi
case "${LB_BINARY_FILESYSTEM}" in
ext2|ext3|ext4)
PARTITION_TYPE="ext2"
;;
fat16|fat32)
PARTITION_TYPE="${LB_BINARY_FILESYSTEM}"
;;
ntfs)
PARTITION_TYPE="NTFS"
;;
*)
Echo_error "Unsupported binary filesystem %s" "${LB_BINARY_FILESYSTEM}"
exit 1
;;
esac
Echo_warning "!!! The following error/warning messages can be ignored !!!"
Losetup $FREELO source.img 0
Chroot chroot "parted -s ${FREELO} mklabel msdos" || true
Chroot chroot "parted -s ${FREELO} mkpart primary ${PARTITION_TYPE} 0.0 100%" || true
Lodetach ${FREELO}
Losetup $FREELO source.img 1
case "${LB_BINARY_FILESYSTEM}" in
ext2|ext3|ext4)
MKFS="${LB_BINARY_FILESYSTEM}"
MKFS_OPTIONS="-L ${LB_HDD_LABEL} -m 0"
;;
fat16)
MKFS="vfat"
MKFS_OPTIONS="-F 16 -n ${LB_HDD_LABEL}"
;;
fat32)
MKFS="vfat"
MKFS_OPTIONS="-F 32 -n ${LB_HDD_LABEL}"
;;
ntfs)
MKFS="ntfs"
MKFS_OPTIONS="-L ${LB_HDD_LABEL}"
;;
esac
Chroot chroot "mkfs.${MKFS} ${MKFS_OPTIONS} ${FREELO}"
mkdir -p source.tmp
${LB_ROOT_COMMAND} mount ${FREELO} source.tmp
cp -r source/* source.tmp
${LB_ROOT_COMMAND} umount source.tmp
rmdir source.tmp
Lodetach ${FREELO}
Echo_warning "!!! The above error/warning messages can be ignored !!!"
FREELO="$(${LB_LOSETUP} -f)"
Losetup "$FREELO" source.img 0
Chroot chroot "parted -s ${FREELO} set 1 lba off" || true
Lodetach ${FREELO}
if [ -n "${MAKEDEV}" ]
then
rm -rf chroot/dev
mv chroot/dev.tmp chroot/dev
fi
# Removing depends
Remove_package
# Creating stage file
Create_stagefile .build/source_hdd
|