19
19
# Requiring stage file
20
Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
20
Require_stagefile .stage/bootstrap
21
Require_stagefile .stage/chroot_proc
22
23
# Checking lock file
23
Check_lockfile "${LIVE_ROOT}"/.lock
25
26
# Creating lock file
26
Create_lockfile "${LIVE_ROOT}"/.lock
28
29
# Checking stage file
29
Check_stagefile "${LIVE_ROOT}"/.stage/binary_usb
30
Check_stagefile .stage/binary_usb
31
32
for IMAGE in ${LIVE_BINARY_IMAGE}
33
34
if [ "${IMAGE}" = "usb" ]
35
if [ ! -f "${LIVE_CHROOT}"/sbin/mkdosfs ]
36
if [ ! -f chroot/sbin/mkdosfs ]
37
38
PACKAGES="${PACKAGES} dosfstools"
40
if [ ! -f "${LIVE_CHROOT}"/usr/bin/mtools ]
41
if [ ! -f chroot/usr/bin/mtools ]
42
43
PACKAGES="${PACKAGES} mtools"
45
if [ ! -f "${LIVE_CHROOT}"/sbin/parted ]
46
if [ ! -f chroot/sbin/parted ]
47
48
PACKAGES="${PACKAGES} parted"
50
if [ ! -f "${LIVE_CHROOT}"/usr/bin/syslinux ]
51
if [ ! -f chroot/usr/bin/syslinux ]
52
53
PACKAGES="${PACKAGES} syslinux"
69
70
# Remove old binary
70
if [ -f "${LIVE_ROOT}"/binary.img ]
72
rm -f "${LIVE_ROOT}"/binary.img
75
76
# Everything which comes here needs to be cleaned up,
76
DU_DIM="`du -ms ${LIVE_ROOT}/binary | cut -f1`"
77
DU_DIM="`du -ms binary | cut -f1`"
77
78
REAL_DIM="`expr ${DU_DIM} + ${DU_DIM} / 20`" # Just 5% more to be sure, need something more sophistcated here...
78
dd if=/dev/zero of="${LIVE_ROOT}"/binary.img bs=1024k count=${REAL_DIM}
80
if [ ! -b "${LIVE_CHROOT}"/${FREELO} ]
79
dd if=/dev/zero of=binary.img bs=1024k count=${REAL_DIM}
80
FREELO="`${LH_LOSETUP} -f`"
81
if [ ! -b chroot/${FREELO} ]
83
Chroot "cd /dev && ./MAKEDEV ${FREELO}"
85
mv chroot/dev chroot/dev.tmp
86
find /dev | cpio -dmpu chroot
86
89
echo "!!! The following error/warning messages can be ignored !!!"
87
lh_losetup $FREELO "${LIVE_ROOT}"/binary.img 0
90
lh_losetup $FREELO binary.img 0
88
91
Chroot "parted -s ${FREELO} mklabel msdos" || true
89
92
Chroot "parted -s ${FREELO} mkpartfs primary fat16 0.0 100%" || true
90
93
Chroot "parted -s ${FREELO} set 1 boot on" || true
91
94
Chroot "parted -s ${FREELO} set 1 lba off" || true
92
cat "${LIVE_CHROOT}"/usr/lib/syslinux/mbr.bin > ${FREELO}
95
cat chroot/usr/lib/syslinux/mbr.bin > ${FREELO}
96
${LH_LOSETUP} -d ${FREELO}
95
lh_losetup $FREELO "${LIVE_ROOT}"/binary.img 1
98
lh_losetup $FREELO binary.img 1
96
99
Chroot "mkfs.msdos -n DEBIAN_LIVE ${FREELO}"
97
mkdir -p "${LIVE_ROOT}"/binary.tmp
98
mount ${FREELO} "${LIVE_ROOT}"/binary.tmp
99
cp -r "${LIVE_ROOT}"/binary/* "${LIVE_ROOT}"/binary.tmp
100
umount "${LIVE_ROOT}"/binary.tmp
101
rmdir "${LIVE_ROOT}"/binary.tmp
101
mount ${FREELO} binary.tmp
102
cp -r binary/* binary.tmp
102
105
Chroot "syslinux ${FREELO}"
106
${LH_LOSETUP} -d ${FREELO}
104
107
echo "!!! The above error/warning messages can be ignored !!!"
106
109
if [ -n "${MAKEDEV}" ]
108
rm -f "${LIVE_CHROOT}"/${FREELO}
112
mv chroot/dev.tmp chroot/dev
111
115
if [ -n "${PACKAGES}" ]
113
117
# Removing packages
114
118
case "${LH_APT}" in
116
120
Chroot "apt-get remove --purge --yes ${PACKAGES}"