Adding live-helper 1.0~a17-1.

This commit is contained in:
Daniel Baumann 2007-09-23 10:05:13 +02:00
parent b88a20b5dd
commit ae5c245c5d
114 changed files with 975 additions and 515 deletions

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
live-helper (1.0~a17-1) unstable; urgency=medium
* New upstream release.
-- Daniel Baumann <daniel@debian.org> Mon, 2 Jul 2007 00:00:00 +0200
live-helper (1.0~a16-1) unstable; urgency=medium live-helper (1.0~a16-1) unstable; urgency=medium
* New upstream release: * New upstream release:

4
debian/copyright vendored
View File

@ -28,7 +28,7 @@ License:
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
On Debian systems, the complete text of the GNU General Public License On Debian systems, the complete text of the GNU General Public License
can be found in /usr/share/common-licenses/GPL file. can be found in /usr/share/common-licenses/GPL-2 file.
License (contrib/grub-splash/*, contrib/syslinux-splash/*, License (contrib/grub-splash/*, contrib/syslinux-splash/*,
templates/syslinux/splash.rle, templates/grub/splash.xpm.gz): templates/syslinux/splash.rle, templates/grub/splash.xpm.gz):
@ -61,4 +61,4 @@ templates/syslinux/splash.rle, templates/grub/splash.xpm.gz):
http://www.debian.org/ if you use it on a web page. http://www.debian.org/ if you use it on a web page.
The Debian packaging is (C) 2006-2007, Daniel Baumann <daniel@debian.org> and The Debian packaging is (C) 2006-2007, Daniel Baumann <daniel@debian.org> and
is licensed under the GPL, see `/usr/share/common-licenses/GPL'. is licensed under the GPL, see `/usr/share/common-licenses/GPL-2'.

View File

@ -1,3 +1,53 @@
2007-07-01 Daniel Baumann <daniel@debian.org>
* helpers/lh_binary_debian-installer:
- Added caching of udebs.
* functions/defaults.sh, helpers/lh_binary_grub, lh_binary_syslinux,
lh_binary_grub, lh_config:
- Added support for aufs.
* Uploaded 1.0~a17-1.
2007-06-30 Daniel Baumann <daniel@debian.org>
* functions/releases.sh, helpers/lh_binary_disk, lh_source_disk,
lh_chroot_hostname:
- Added.
2007-06-29 Daniel Baumann <daniel@debian.org>
* helpers/lh_binary_syslinux:
- Fixed damaged memtest entry.
- Corrected code style.
- Added NUMBER initaliazation to fixed wrong numbering when in compat
mode.
- Fixed bug with isolinux.cfg fuckup if flavours are in this order:
686 686-bigmem.
* helpers/lh_binary_grub, lh_binary_linux-image, lh_binary_memtest,
lh_binary_syslinux:
- Added compat mode for casper/live directories.
* helpers/lh_binary_manifest, lh_binary_md5sum, lh_source_mdsum:
- Added introductional text to the generated file.
* helpers/lh_binary_manifest:
- Only create the correct manifest file for the respective initramfs.
* helpers/lh_binary_disk, lh_source_disk:
- Added.
2007-06-27 Otavio Salvador <otavio@debian.org>
* helpers/lh_binary_syslinux:
- Added new methods (syslinux_live_entry and syslinux_di_entry) and
change whole code to use them making it much easier to read and
modify.
* functions/arch.sh:
- Added.
* helpers/lh_binary_grub, lh_binary_syslinux, lh_binary_yaboot:
- Use the new Check_architecture method to avoid duplicated code.
* functions/templates.sh:
- Added.
* helpers/lh_binary_grub, helpers/lh_binary_syslinux,
helpers/lh_binary_yaboot:
- Use the new Check_templates method to avoid duplicated code.
2007-06-25 Daniel Baumann <daniel@debian.org> 2007-06-25 Daniel Baumann <daniel@debian.org>
* helpers/lh_binary_local-hooks: * helpers/lh_binary_local-hooks:

View File

@ -8,7 +8,6 @@ ALPHA series:
FIXME FIXME
* xfce flavours seem to be damaged again * xfce flavours seem to be damaged again
* multi-kernel syslinux breakage
* yaboot (powerpc) boot support * yaboot (powerpc) boot support
* grub (i386/amd64) boot support on usb* binary images * grub (i386/amd64) boot support on usb* binary images
* grub (i386/amd64) boot support on net binary images * grub (i386/amd64) boot support on net binary images

View File

@ -1,179 +0,0 @@
#!/bin/sh -x
set -e
BUILD="etch+beryl"
# Begin custom defaults
AUTOBUILD="enabled"
DATE="r0_1.0~a16-1"
DESTDIR="/srv/debian-unofficial/ftp/debian-live"
TEMPDIR="/srv/tmp/live-helper"
OPTIONS="--binary-indices disabled --initramfs casper"
ARCHITECTURES="`dpkg --print-architecture`"
DISTRIBUTIONS="etch"
MIRROR_BOOTSTRAP="http://ftp.de.debian.org/debian/"
MIRROR_BOOTSTRAP_SECURITY="http://ftp.de.debian.org/debian-security/"
MIRROR_BINARY="http://ftp.debian.org/debian/"
MIRROR_BINARY_SECURITY="http://security.debian.org/"
PACKAGES_LISTS="standard gnome-desktop kde-desktop xfce-desktop"
# End custom defaults
# Checking for live-helper availability
if [ ! -x /usr/bin/make-live ]
then
exit 0
fi
# Checking for live-helper defaults
#if [ -r /etc/default/live-helper ]
#then
# . /etc/default/live-helper
#else
# echo "E: /etc/default/live-helper missing."
# exit 1
#fi
# Checking for autobuild
if [ "${AUTOBUILD}" != "enabled" ]
then
exit 0
fi
# Checking for build directory
if [ ! -d "${TEMPDIR}" ]
then
mkdir -p "${TEMPDIR}"/debian-live
else
# FIXME: maybe we should just remove the left overs.
echo "E: ${TEMPDIR} needs cleanup."
exit 1
fi
echo "`date +%b\ %d\ %H:%M:%S` ${HOSTNAME} live-helper: begin etch+beryl build." >> /var/log/live
for ARCHITECTURE in ${ARCHITECTURES}
do
for DISTRIBUTION in ${DISTRIBUTIONS}
do
for PACKAGES_LIST in ${PACKAGES_LISTS}
do
if [ ! -f "${DESTDIR}"/"${BUILD}"-builds/${DATE}/log/debian-live-etch+beryl-${ARCHITECTURE}-${PACKAGES_LIST}_${DATE}-iso-log.txt ]
then
# Creating build directory
mkdir -p "${TEMPDIR}"/debian-live
cd "${TEMPDIR}"
echo "Begin: `date -R`" > "${TEMPDIR}"/debian-live/log.txt
# Beryl hook
mkdir -p debian-live/config/chroot_local-hooks
cp /usr/share/live-helper/examples/hooks/beryl.sh debian-live/config/chroot_local-hooks/beryl.sh
mkdir -p debian-live/config/chroot_sources
wget http://debian.beryl-project.org/root@lupine.me.uk.gpg -O debian-live/config/chroot_sources/beryl.build.gpg
wget http://debian.beryl-project.org/root@lupine.me.uk.gpg -O debian-live/config/chroot_sources/beryl.image.gpg
cp /usr/share/live-helper/examples/sources/beryl debian-live/config/chroot_sources/beryl.build
cp /usr/share/live-helper/examples/sources/beryl debian-live/config/chroot_sources/beryl.image
# Generating images
make-live -b iso -s tar --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-bootstrap ${MIRROR_BOOTSTRAP} --mirror-bootstrap-security ${MIRROR_BOOTSTRAP_SECURITY} --mirror-binary ${MIRROR_BINARY} --mirror-binary-security ${MIRROR_BINARY_SECURITY} --source enabled ${OPTIONS} >> "${TEMPDIR}"/debian-live/log.txt 2>&1
echo "End: `date -R`" >> "${TEMPDIR}"/debian-live/log.txt
fi
if [ -f "${TEMPDIR}"/debian-live/binary.iso ] && [ -f "${TEMPDIR}"/debian-live/source.tar.gz ]
then
# Creating log directory
mkdir -p "${DESTDIR}"/"${BUILD}"-builds/${DATE}/log
# Moving logs
mv "${TEMPDIR}"/debian-live/log.txt "${DESTDIR}"/"${BUILD}"-builds/${DATE}/log/debian-live-etch+beryl-${ARCHITECTURE}-${PACKAGES_LIST}_${DATE}-iso-log.txt
mv "${TEMPDIR}"/debian-live/binary/packages.txt "${DESTDIR}"/"${BUILD}"-builds/${DATE}/log/debian-live-etch+beryl-${ARCHITECTURE}-${PACKAGES_LIST}_${DATE}-iso-packages.txt
# Creating images directory
mkdir -p "${DESTDIR}"/"${BUILD}"-builds/${DATE}/${ARCHITECTURE}
mkdir -p "${DESTDIR}"/"${BUILD}"-builds/${DATE}/source
# Moving images
mv "${TEMPDIR}"/debian-live/binary.iso "${DESTDIR}"/"${BUILD}"-builds/${DATE}/${ARCHITECTURE}/debian-live-etch+beryl-${ARCHITECTURE}-${PACKAGES_LIST}.iso
mv "${TEMPDIR}"/debian-live/source.tar.gz "${DESTDIR}"/"${BUILD}"-builds/${DATE}/source/debian-live-etch+beryl-source-${PACKAGES_LIST}.tar.gz
fi
if [ ! -f "${DESTDIR}"/"${BUILD}"-builds/${DATE}/log/debian-live-etch+beryl-${ARCHITECTURE}-${PACKAGES_LIST}_${DATE}-usb-hdd-log.txt ]
then
# Workaround of missing multi-binary support in live-helper
mv "${TEMPDIR}"/debian-live/binary/casper "${TEMPDIR}"/debian-live/casper.tmp
rm -rf "${TEMPDIR}"/debian-live/binary* "${TEMPDIR}"/debian-live/.stage/binary_*
mkdir "${TEMPDIR}"/debian-live/binary
mv "${TEMPDIR}"/debian-live/casper.tmp "${TEMPDIR}"/debian-live/binary/casper
touch "${TEMPDIR}"/debian-live/.stage/binary_chroot
touch "${TEMPDIR}"/debian-live/.stage/binary_rootfs
# Creating build directory
mkdir -p "${TEMPDIR}"/debian-live
cd "${TEMPDIR}"
echo "Begin: `date -R`" > "${TEMPDIR}"/debian-live/log.txt
# Generating images
make-live -b usb-hdd -s tar --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-bootstrap ${MIRROR_BOOTSTRAP} --mirror-bootstrap-security ${MIRROR_BOOTSTRAP_SECURITY} --mirror-binary ${MIRROR_BINARY} --mirror-binary-security ${MIRROR_BINARY_SECURITY} --source disabled ${OPTIONS} >> "${TEMPDIR}"/debian-live/log.txt 2>&1
echo "End: `date -R`" >> "${TEMPDIR}"/debian-live/log.txt
fi
if [ -f "${TEMPDIR}"/debian-live/binary.img ]
then
# Creating log directory
mkdir -p "${DESTDIR}"/"${BUILD}"-builds/${DATE}/log
# Moving logs
mv "${TEMPDIR}"/debian-live/log.txt "${DESTDIR}"/"${BUILD}"-builds/${DATE}/log/debian-live-etch+beryl-${ARCHITECTURE}-${PACKAGES_LIST}_${DATE}-usb-hdd-log.txt
cp "${DESTDIR}"/"${BUILD}"-builds/${DATE}/log/debian-live-etch+beryl-${ARCHITECTURE}-${PACKAGES_LIST}_${DATE}-iso-packages.txt "${DESTDIR}"/"${BUILD}"-builds/${DATE}/log/debian-live-etch+beryl-${ARCHITECTURE}-${PACKAGES_LIST}_${DATE}-usb-hdd-packages.txt
# Creating image directory
mkdir -p "${DESTDIR}"/"${BUILD}"-builds/${DATE}/${ARCHITECTURE}
# Moving images
mv "${TEMPDIR}"/debian-live/binary.img "${DESTDIR}"/"${BUILD}"-builds/${DATE}/${ARCHITECTURE}/debian-live-etch+beryl-${ARCHITECTURE}-${PACKAGES_LIST}.img
fi
# Cleanup
cd "${TEMPDIR}"/debian-live
lh_clean
done
# Cleanup
cd "${TEMPDIR}"/debian-live
lh_clean purge
done
done
# Cleaning up
if [ -f "${TEMPDIR}"/debian-live/chroot/proc/version ]
then
umount "${TEMPDIR}"/debian-live/chroot/proc
fi
if [ -d "${TEMPDIR}"/debian-live/chroot/sys/kernel ]
then
umount "${TEMPDIR}"/debian-live/chroot/sys
fi
# Removing build directory
rm -rf "${TEMPDIR}"
# Creating md5sums
for DIRECTORY in "${DESTDIR}"/"${BUILD}"-builds/${DATE}/*
do
cd "${DIRECTORY}"
md5sum * > MD5SUMS
done
# Creating current symlink
rm -f "${DESTDIR}"/"${BUILD}"-builds/current
ln -s ${DATE} "${DESTDIR}"/"${BUILD}"-builds/current
echo "`date +%b\ %d\ %H:%M:%S` ${HOSTNAME} live-helper: end etch+beryl build." >> /var/log/live

View File

@ -7,8 +7,8 @@ BUILD="etch"
# Begin custom defaults # Begin custom defaults
AUTOBUILD="enabled" AUTOBUILD="enabled"
DATE="r0_1.0~a16-1" DATE="r0_1.0~a17-1"
DESTDIR="/srv/debian-unofficial/ftp/debian-live" DESTDIR="/srv/debian-unofficial/ftp/debian-live/cdimage"
TEMPDIR="/srv/tmp/live-helper" TEMPDIR="/srv/tmp/live-helper"
OPTIONS="--binary-indices disabled --initramfs casper" OPTIONS="--binary-indices disabled --initramfs casper"
@ -53,7 +53,7 @@ else
exit 1 exit 1
fi fi
echo "`date +%b\ %d\ %H:%M:%S` ${HOSTNAME} live-helper: begin etch build." >> /var/log/live echo "`date +%b\ %d\ %H:%M:%S` ${HOSTNAME} live-helper: begin ${BUILD} build." >> /var/log/live
for ARCHITECTURE in ${ARCHITECTURES} for ARCHITECTURE in ${ARCHITECTURES}
do do
@ -167,4 +167,4 @@ done
rm -f "${DESTDIR}"/"${BUILD}"-builds/current rm -f "${DESTDIR}"/"${BUILD}"-builds/current
ln -s ${DATE} "${DESTDIR}"/"${BUILD}"-builds/current ln -s ${DATE} "${DESTDIR}"/"${BUILD}"-builds/current
echo "`date +%b\ %d\ %H:%M:%S` ${HOSTNAME} live-helper: end etch build." >> /var/log/live echo "`date +%b\ %d\ %H:%M:%S` ${HOSTNAME} live-helper: end ${BUILD} build." >> /var/log/live

View File

@ -2,13 +2,13 @@
set -e set -e
BUILD="weekly" BUILD="lenny"
# Begin custom defaults # Begin custom defaults
AUTOBUILD="enabled" AUTOBUILD="enabled"
DATE="`date +%Y%m%d`" DATE="`date +%Y%m%d`"
DESTDIR="/srv/debian-unofficial/ftp/debian-live" DESTDIR="/srv/debian-unofficial/ftp/debian-live/cdimage"
TEMPDIR="/srv/tmp/live-helper" TEMPDIR="/srv/tmp/live-helper"
OPTIONS="--binary-indices disabled --initramfs live-initramfs" OPTIONS="--binary-indices disabled --initramfs live-initramfs"
@ -53,7 +53,7 @@ else
exit 1 exit 1
fi fi
echo "`date +%b\ %d\ %H:%M:%S` ${HOSTNAME} live-helper: begin weekly build." >> /var/log/live echo "`date +%b\ %d\ %H:%M:%S` ${HOSTNAME} live-helper: begin ${BUILD} build." >> /var/log/live
for ARCHITECTURE in ${ARCHITECTURES} for ARCHITECTURE in ${ARCHITECTURES}
do do
@ -167,4 +167,4 @@ done
rm -f "${DESTDIR}"/"${BUILD}"-builds/current rm -f "${DESTDIR}"/"${BUILD}"-builds/current
ln -s ${DATE} "${DESTDIR}"/"${BUILD}"-builds/current ln -s ${DATE} "${DESTDIR}"/"${BUILD}"-builds/current
echo "`date +%b\ %d\ %H:%M:%S` ${HOSTNAME} live-helper: end weekly build." >> /var/log/live echo "`date +%b\ %d\ %H:%M:%S` ${HOSTNAME} live-helper: end ${BUILD} build." >> /var/log/live

View File

@ -2,13 +2,13 @@
set -e set -e
BUILD="daily" BUILD="sid"
# Begin custom defaults # Begin custom defaults
AUTOBUILD="enabled" AUTOBUILD="enabled"
DATE="`date +%Y%m%d`" DATE="`date +%Y%m%d`"
DESTDIR="/srv/debian-unofficial/ftp/debian-live" DESTDIR="/srv/debian-unofficial/ftp/debian-live/cdimage"
TEMPDIR="/srv/tmp/live-helper" TEMPDIR="/srv/tmp/live-helper"
OPTIONS="--binary-indices disabled --initramfs live-initramfs" OPTIONS="--binary-indices disabled --initramfs live-initramfs"
@ -53,7 +53,7 @@ else
exit 1 exit 1
fi fi
echo "`date +%b\ %d\ %H:%M:%S` ${HOSTNAME} live-helper: begin daily build." >> /var/log/live echo "`date +%b\ %d\ %H:%M:%S` ${HOSTNAME} live-helper: begin ${BUILD} build." >> /var/log/live
for ARCHITECTURE in ${ARCHITECTURES} for ARCHITECTURE in ${ARCHITECTURES}
do do
@ -167,4 +167,4 @@ done
rm -f "${DESTDIR}"/"${BUILD}"-builds/current rm -f "${DESTDIR}"/"${BUILD}"-builds/current
ln -s ${DATE} "${DESTDIR}"/"${BUILD}"-builds/current ln -s ${DATE} "${DESTDIR}"/"${BUILD}"-builds/current
echo "`date +%b\ %d\ %H:%M:%S` ${HOSTNAME} live-helper: end daily build." >> /var/log/live echo "`date +%b\ %d\ %H:%M:%S` ${HOSTNAME} live-helper: end ${BUILD} build." >> /var/log/live

View File

@ -3,7 +3,7 @@
# Needs: build-essential fakeroot lsb-release svn [...] # Needs: build-essential fakeroot lsb-release svn [...]
# Static variables # Static variables
PACKAGES="live-helper live-initramfs live-magic live-sysvinit live-webhelper" PACKAGES="live-helper live-initramfs live-initscripts live-magic live-webhelper"
DEBEMAIL="debian-live-devel@lists.alioth.debian.org" DEBEMAIL="debian-live-devel@lists.alioth.debian.org"
EMAIL="debian-live-devel@lists.alioth.debian.org" EMAIL="debian-live-devel@lists.alioth.debian.org"

31
functions/architecture.sh Executable file
View File

@ -0,0 +1,31 @@
#!/bin/sh
# architecture.sh - handle architecture specific support
# Copyright (C) 2007 Otavio Salvador <otavio@debian.org>
#
# live-helper 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
Check_architecture ()
{
ARCHITECTURES="${@}"
VALID="false"
for ARCHITECTURE in ${ARCHITECTURES}
do
if [ "${ARCHITECTURE}" = "${LIVE_ARCHITECTURE}" ]
then
VALID="true"
break
fi
done
if [ "${VALID}" = "false" ]
then
Echo_warning "skipping ${0}, foreign architecture."
exit 0
fi
}

View File

@ -10,4 +10,4 @@
set -e set -e
PROGRAM="`basename ${0}`" PROGRAM="`basename ${0}`"
VERSION="1.0~a16" VERSION="1.0~a17"

View File

@ -38,7 +38,7 @@ Set_defaults ()
fi fi
fi fi
# Setting distribution value # Setting distribution name
if [ -z "${LIVE_DISTRIBUTION}" ] if [ -z "${LIVE_DISTRIBUTION}" ]
then then
case "${LH_MODE}" in case "${LH_MODE}" in
@ -90,7 +90,7 @@ Set_defaults ()
LH_APT_SECURE="${LH_APT_SECURE:-enabled}" LH_APT_SECURE="${LH_APT_SECURE:-enabled}"
# Setting bootstrap program # Setting bootstrap program
if [ -z "${LH_BOOTSTRAP}" ] || [ ! -x "${LH_BOOTSTRAP}" ] if [ -z "${LH_BOOTSTRAP}" ] || [ ! -x "`which ${LH_BOOTSTRAP}`" ]
then then
case "${LH_MODE}" in case "${LH_MODE}" in
debian) debian)
@ -318,6 +318,9 @@ Set_defaults ()
# Setting chroot filesystem # Setting chroot filesystem
LIVE_CHROOT_FILESYSTEM="${LIVE_CHROOT_FILESYSTEM:-squashfs}" LIVE_CHROOT_FILESYSTEM="${LIVE_CHROOT_FILESYSTEM:-squashfs}"
# Setting union filesystem
LIVE_UNION_FILESYSTEM="${LIVE_UNION_FILESYSTEM:-unionfs}"
# LIVE_HOOKS # LIVE_HOOKS
# Setting interactive shell/X11/Xnest # Setting interactive shell/X11/Xnest
@ -350,7 +353,7 @@ Set_defaults ()
;; ;;
arm) arm)
echo "E: You need to specify the linux kernel flavour manually on arm (FIXME)." Echo_error "You need to specify the linux kernel flavour manually on arm (FIXME)."
exit 1 exit 1
;; ;;
@ -375,7 +378,7 @@ Set_defaults ()
;; ;;
m68k) m68k)
LIVE_LINUX_FLAVOURS="E: You need to specify the linux kernel flavour manually on m68k." LIVE_LINUX_FLAVOURS="You need to specify the linux kernel flavour manually on m68k."
exit 1 exit 1
;; ;;
@ -401,7 +404,7 @@ Set_defaults ()
;; ;;
*) *)
echo "E: Architecture notyet supported (FIXME)" Echo_error "Architecture notyet supported (FIXME)"
;; ;;
esac esac
fi fi
@ -411,7 +414,7 @@ Set_defaults ()
then then
case "${LH_MODE}" in case "${LH_MODE}" in
debian) debian)
LIVE_LINUX_PACKAGES="linux-image-2.6 unionfs-modules-2.6" LIVE_LINUX_PACKAGES="linux-image-2.6 ${LIVE_UNION_FILESYSTEM}-modules-2.6"
if [ "${LIVE_CHROOT_FILESYSTEM}" = "squashfs" ] if [ "${LIVE_CHROOT_FILESYSTEM}" = "squashfs" ]
then then
@ -507,9 +510,6 @@ Set_defaults ()
# Setting debian-installer option # Setting debian-installer option
LIVE_DEBIAN_INSTALLER="${LIVE_DEBIAN_INSTALLER:-disabled}" LIVE_DEBIAN_INSTALLER="${LIVE_DEBIAN_INSTALLER:-disabled}"
# Setting live-installer option
LIVE_LIVE_INSTALLER="${LIVE_LIVE_INSTALLER:-disabled}"
# Setting encryption # Setting encryption
# LIVE_ENCRYPTION # LIVE_ENCRYPTION

23
functions/releases.sh Executable file
View File

@ -0,0 +1,23 @@
#!/bin/sh
# releases.sh - list release information
# Copyright (C) 2006-2007 Daniel Baumann <daniel@debian.org>
#
# live-helper 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
# Debian releases
VERSION_etch="4.0 r0"
VERSION_lenny="prereleased"
VERSION_sid="unreleased"
# Ubuntu releases
VERSION_hoary="5.04"
VERSION_breezy="5.10"
VERSION_dapper="6.06 LTS"
VERSION_edgy="6.10"
VERSION_feisty="7.04"
VERSION_gutsy="7.10"

32
functions/templates.sh Executable file
View File

@ -0,0 +1,32 @@
#!/bin/sh
# templates.sh - handle templates files
# Copyright (C) 2007 Otavio Salvador <otavio@debian.org>
#
# live-helper 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
Check_templates ()
{
PROGRAM="${1}"
# Check local templates
if [ -d config/templates/"${PROGRAM}" ]
then
LIVE_TEMPLATES="config/templates"
fi
# Checking user templates
if [ ! -d "${LIVE_TEMPLATES}" ]
then
Echo_error "user specified templates not accessible in ${LIVE_TEMPLATES}"
exit 1
elif [ ! -d "${LIVE_TEMPLATES}/${PROGRAM}" ]
then
Echo_error "${PROGRAM} templates not accessible in ${LIVE_TEMPLATES}"
exit 1
fi
}

View File

@ -31,7 +31,7 @@ Version ()
echo "Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA" echo "Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA"
echo echo
echo "On Debian systems, the complete text of the GNU General Public License" echo "On Debian systems, the complete text of the GNU General Public License"
echo "can be found in /usr/share/common-licenses/GPL file." echo "can be found in /usr/share/common-licenses/GPL-2 file."
echo echo
echo "Homepage: <http://debian-live.alioth.debian.org/>" echo "Homepage: <http://debian-live.alioth.debian.org/>"

View File

@ -32,6 +32,7 @@ lh_chroot_proc install ${*}
lh_chroot_sysfs install ${*} lh_chroot_sysfs install ${*}
lh_chroot_hosts install ${*} lh_chroot_hosts install ${*}
lh_chroot_resolv install ${*} lh_chroot_resolv install ${*}
lh_chroot_hostname install ${*}
lh_chroot_sources install ${*} lh_chroot_sources install ${*}
# Building root filesystem # Building root filesystem
@ -46,9 +47,11 @@ lh_binary_memtest ${*}
lh_binary_grub ${*} lh_binary_grub ${*}
lh_binary_syslinux ${*} lh_binary_syslinux ${*}
lh_binary_yaboot ${*} lh_binary_yaboot ${*}
lh_binary_disk ${*}
lh_binary_includes ${*} lh_binary_includes ${*}
lh_binary_local-includes ${*} lh_binary_local-includes ${*}
lh_binary_local-hooks ${*} lh_binary_local-hooks ${*}
lh_binary_hacks ${*}
lh_binary_md5sum ${*} lh_binary_md5sum ${*}
# Building images # Building images
@ -59,6 +62,7 @@ lh_binary_usb-hdd ${*}
# Deconfiguring chroot # Deconfiguring chroot
rm -f .stage/chroot_sources rm -f .stage/chroot_sources
lh_chroot_hostname remove ${*}
lh_chroot_resolv remove ${*} lh_chroot_resolv remove ${*}
lh_chroot_hosts remove ${*} lh_chroot_hosts remove ${*}
lh_chroot_sysfs remove ${*} lh_chroot_sysfs remove ${*}

View File

@ -32,10 +32,29 @@ Read_conffile config/binary
Read_conffile config/source Read_conffile config/source
Set_defaults Set_defaults
if [ "${LIVE_DEBIAN_INSTALLER}" != "enabled" ] # Setting remote d-i directories
then case "${LIVE_DEBIAN_INSTALLER}" in
exit 0 netinst)
fi DI="netboot/debian-installer/i386"
DI_GTK="netboot/gtk/debian-installer/i386"
DI_KERNEL="linux"
;;
cdrom|enabled)
DI="cdrom"
DI_GTK="${DI}/gtk"
DI_KERNEL="vmlinuz"
;;
disabled)
exit 0
;;
*)
Echo_error "debian-installer flavor ${LIVE_DEBIAN_INSTALLER} not supported."
exit 1
;;
esac
Echo_message "Begin installing debian-installer..." Echo_message "Begin installing debian-installer..."
@ -55,7 +74,6 @@ Create_lockfile .lock
case "${LIVE_BINARY_IMAGES}" in case "${LIVE_BINARY_IMAGES}" in
iso) iso)
DESTDIR="binary/install" DESTDIR="binary/install"
DI="cdrom"
;; ;;
net) net)
@ -68,7 +86,6 @@ case "${LIVE_BINARY_IMAGES}" in
tar|usb-hdd) tar|usb-hdd)
DESTDIR="binary/install" DESTDIR="binary/install"
DI="hd-media"
# Workaround for syslinux (<< 3.36) which doesn't support long file/path names # Workaround for syslinux (<< 3.36) which doesn't support long file/path names
if [ "${LIVE_DISTRIBUTION}" = "etch" ] && [ "${LIVE_BOOTLOADER}" = "syslinux" ] if [ "${LIVE_DISTRIBUTION}" = "etch" ] && [ "${LIVE_BOOTLOADER}" = "syslinux" ]
@ -130,17 +147,17 @@ if [ "${LIVE_DISTRIBUTION}" = "sid" ] # FIXME arch
then then
case "${LIVE_ARCHITECTURE}" in case "${LIVE_ARCHITECTURE}" in
amd64) amd64)
wget --no-clobber -O "${DESTDIR}"/"${VMLINUZ_DI}" http://people.debian.org/~aba/d-i/images/daily/cdrom/vmlinuz wget --no-clobber -O "${DESTDIR}"/"${VMLINUZ_DI}" http://people.debian.org/~aba/d-i/images/daily/${DI}/${DI_KERNEL}
wget --no-clobber -O "${DESTDIR}"/"${INITRD_DI}" http://people.debian.org/~aba/d-i/images/daily/cdrom/initrd.gz wget --no-clobber -O "${DESTDIR}"/"${INITRD_DI}" http://people.debian.org/~aba/d-i/images/daily/${DI}/initrd.gz
;; ;;
i386) i386)
wget --no-clobber -O "${DESTDIR}"/"${VMLINUZ_DI}" http://people.debian.org/~joeyh/d-i/images/daily/cdrom/vmlinuz wget --no-clobber -O "${DESTDIR}"/"${VMLINUZ_DI}" http://people.debian.org/~joeyh/d-i/images/daily/${DI}/${DI_KERNEL}
wget --no-clobber -O "${DESTDIR}"/"${INITRD_DI}" http://people.debian.org/~joeyh/d-i/images/daily/cdrom/initrd.gz wget --no-clobber -O "${DESTDIR}"/"${INITRD_DI}" http://people.debian.org/~joeyh/d-i/images/daily/${DI}/initrd.gz
;; ;;
esac esac
else else
wget --no-clobber -O "${DESTDIR}"/"${VMLINUZ_DI}" "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DI}"/vmlinuz wget --no-clobber -O "${DESTDIR}"/"${VMLINUZ_DI}" "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DI}"/"${DI_KERNEL}"
wget --no-clobber -O "${DESTDIR}"/"${INITRD_DI}" "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DI}"/initrd.gz wget --no-clobber -O "${DESTDIR}"/"${INITRD_DI}" "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DI}"/initrd.gz
fi fi
@ -153,43 +170,47 @@ then
then then
case "${LIVE_ARCHITECTURE}" in case "${LIVE_ARCHITECTURE}" in
amd64) amd64)
wget --no-clobber -O "${DESTDIR}"/"${VMLINUZ_GI}" http://people.debian.org/~aba/d-i/images/daily/cdrom/gtk/vmlinuz wget --no-clobber -O "${DESTDIR}"/"${VMLINUZ_GI}" http://people.debian.org/~aba/d-i/images/daily/${DI_GTK}/${DI_KERNEL}
wget --no-clobber -O "${DESTDIR}"/"${INITRD_GI}" http://people.debian.org/~aba/d-i/images/daily/cdrom/gtk/initrd.gz wget --no-clobber -O "${DESTDIR}"/"${INITRD_GI}" http://people.debian.org/~aba/d-i/images/daily/${DI_GTK}/initrd.gz
;; ;;
i386) i386)
wget --no-clobber -O "${DESTDIR}"/"${VMLINUZ_GI}" http://people.debian.org/~joeyh/d-i/images/daily/cdrom/gtk/vmlinuz wget --no-clobber -O "${DESTDIR}"/"${VMLINUZ_GI}" http://people.debian.org/~joeyh/d-i/images/daily/${DI_GTK}/${DI_KERNEL}
wget --no-clobber -O "${DESTDIR}"/"${INITRD_GI}" http://people.debian.org/~joeyh/d-i/images/daily/cdrom/gtk/initrd.gz wget --no-clobber -O "${DESTDIR}"/"${INITRD_GI}" http://people.debian.org/~joeyh/d-i/images/daily/${DI_GTK}/initrd.gz
;; ;;
esac esac
else else
wget --no-clobber -O "${DESTDIR}"/"${VMLINUZ_GI}" "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DI}"/gtk/vmlinuz wget --no-clobber -O "${DESTDIR}"/"${VMLINUZ_GI}" "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DI_GTK}"/"${DI_KERNEL}"
wget --no-clobber -O "${DESTDIR}"/"${INITRD_GI}" "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DI}"/gtk/initrd.gz wget --no-clobber -O "${DESTDIR}"/"${INITRD_GI}" "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DI_GTK}"/initrd.gz
fi fi
fi fi
# Downloading additional packages if [ "${LIVE_DEBIAN_INSTALLER}" != "netinst" ]; then
mkdir -p chroot/binary.deb/archives/partial # Downloading additional packages
mv chroot/var/lib/dpkg/status chroot/var/lib/dpkg/status.tmp mkdir -p chroot/binary.deb/archives/partial
touch chroot/var/lib/dpkg/status mv chroot/var/lib/dpkg/status chroot/var/lib/dpkg/status.tmp
touch chroot/var/lib/dpkg/status
case "${LIVE_ARCHITECTURE}" in case "${LIVE_ARCHITECTURE}" in
amd64) amd64)
DI_PACKAGES="linux-image-2.6-amd64 elilo lilo grub" DI_PACKAGES="linux-image-2.6-amd64 lilo grub"
;; ;;
i386) i386)
DI_PACKAGES="linux-image-2.6-486 linux-image-2.6-686 elilo lilo grub" DI_PACKAGES="linux-image-2.6-486 linux-image-2.6-686 elilo lilo grub"
;; ;;
powerpc) powerpc)
DI_PACKAGES="linux-image-2.6-powerpc linux-image-2.6-powerpc64 linux-image-2.6-powerpc-smp linux-image-2.6-prep yaboot" # FIXME bootloader? DI_PACKAGES="linux-image-2.6-powerpc linux-image-2.6-powerpc64 linux-image-2.6-powerpc-smp linux-image-2.6-prep yaboot" # FIXME bootloader?
;; ;;
esac esac
Chroot "apt-get -o Dir::Cache=/binary.deb --download-only install --yes ${DI_PACKAGES}" DI_PACKAGES="${DI_PACKAGES} cryptsetup lvm2"
mv chroot/binary.deb ./
mv chroot/var/lib/dpkg/status.tmp chroot/var/lib/dpkg/status Chroot "apt-get -o Dir::Cache=/binary.deb --download-only install --yes ${DI_PACKAGES}"
mv chroot/binary.deb ./
mv chroot/var/lib/dpkg/status.tmp chroot/var/lib/dpkg/status
fi
# Including base debian packages # Including base debian packages
if [ -d cache/packages_bootstrap ] if [ -d cache/packages_bootstrap ]
@ -221,6 +242,36 @@ then
done done
fi fi
# Including local debs
if ls ../config/binary_local-debs/* &> /dev/null
then
for FILE in ../config/binary_local-debs/*.deb
do
SOURCE="`dpkg -f ${FILE} Source | awk '{ print $1 }'`"
if [ -z "${SOURCE}" ]
then
SOURCE="`basename ${FILE} | awk -F_ '{ print $1 }'`"
fi
case "${SOURCE}" in
lib?*)
LETTER="`echo ${SOURCE} | sed 's/\(....\).*/\1/'`"
;;
*)
LETTER="`echo ${SOURCE} | sed 's/\(.\).*/\1/'`"
;;
esac
# Install directory
mkdir -p binary/pool/main/"${LETTER}"/"${SOURCE}"
# Move files
cp "${FILE}" binary/pool/main/"${LETTER}"/"${SOURCE}"
done
fi
# Generating deb indices # Generating deb indices
mkdir -p binary/dists/${LIVE_DISTRIBUTION}/main/binary-${LIVE_ARCHITECTURE} mkdir -p binary/dists/${LIVE_DISTRIBUTION}/main/binary-${LIVE_ARCHITECTURE}
@ -256,9 +307,21 @@ UDEBS="`awk '/Filename: / { print $2 }' Packages`"
# Downloading udebs # Downloading udebs
for UDEB in ${UDEBS} for UDEB in ${UDEBS}
do do
wget "${LIVE_MIRROR_BOOTSTRAP}"/${UDEB} if [ -f ../cache/packages_debian-installer.udeb/"`basename ${UDEB}`" ]
then
# Copying cached udebs
cp -l ../cache/packages_debian-installer.udeb/"`basename ${UDEB}`" ./
else
# Downloading udebs
wget "${LIVE_MIRROR_BOOTSTRAP}"/${UDEB}
fi
done done
# Caching udebs
rm -rf ../cache/packages_debian-installer.udeb
mkdir -p ../cache/packages_debian-installer.udeb
cp -l *.udeb ../cache/packages_debian-installer.udeb
# Including local udebs # Including local udebs
if ls ../config/binary_local-udebs/* &> /dev/null if ls ../config/binary_local-udebs/* &> /dev/null
then then
@ -345,25 +408,5 @@ done
ln -s . binary/debian ln -s . binary/debian
# Creating disk info
mkdir binary/.disk
echo "main" > binary/.disk/base_components
touch binary/.disk/base_installable
echo "not_complete" > binary/.disk/cd_type
echo "Debian GNU/Linux ${LIVE_DISTRIBUTION} - Unofficial ${LIVE_ARCHITECTURE} LIVE Binary `date +%Y%m%d-%H:%M`" > binary/.disk/info
touch binary/.disk/mkisofs
cat > binary/.disk/udeb_include << EOF
netcfg
ethdetect
pcmcia-cs-udeb
pcmciautils-udeb
wireless-tools-udeb
EOF
if [ -d binary/pool/main/l/live-installer ]
then
echo "live-installer" >> binary/.disk/udeb_include
fi
# Creating stage file # Creating stage file
Create_stagefile .stage/binary_debian-installer Create_stagefile .stage/binary_debian-installer

109
helpers/lh_binary_disk Executable file
View File

@ -0,0 +1,109 @@
#!/bin/sh
# lh_binary_disk (1) - install disk information into binary
# Copyright (C) 2006-2007 Daniel Baumann <daniel@debian.org>
#
# live-helper 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
LH_BASE="${LH_BASE:-/usr/share/live-helper}"
for FUNCTION in "${LH_BASE}"/functions/*.sh
do
. "${FUNCTION}"
done
# Setting static variables
DESCRIPTION="install disk information into binary"
HELP=""
USAGE="${PROGRAM} [--force]"
Arguments "${@}"
# Reading configuration files
Read_conffile config/common
Read_conffile config/bootstrap
Read_conffile config/chroot
Read_conffile config/binary
Read_conffile config/source
Set_defaults
if [ "${LIVE_BINARY_IMAGES}" != "iso" ]
then
exit 0
fi
Echo_message "Begin installing disk information..."
# Requiring stage file
Require_stagefile .stage/bootstrap
# Checking stage file
Check_stagefile .stage/binary_disk
# Checking lock file
Check_lockfile .lock
# Creating lock file
Create_lockfile .lock
mkdir -p binary/.disk
ARCHITECTURE="`echo ${LIVE_ARCHITECTURE} | sed -e 's# #/#g'`"
DISTRIBUTION="`echo ${LIVE_DISTRIBUTION} | cut -b 1 | tr '[a-z]' '[A-Z]'`"
DISTRIBUTION="${DISTRIBUTION}`echo ${LIVE_DISTRIBUTION} | cut -b 2-`"
eval VERSION="$`echo VERSION_${LIVE_DISTRIBUTION}`"
case "${LH_MODE}" in
debian)
if [ -d binary/pool/main/b/base-installer ]
then
if [ -d binary/pool/main/l/live-installer ]
then
TYPE="LIVE/INSTALL"
fi
TYPE="LIVE/NETINST"
else
TYPE="LIVE"
fi
echo "Debian GNU/Linux ${VERSION} \"${DISTRIBUTION}\" - Official ${ARCHITECTURE} ${TYPE} Binary `date +%Y%m%d-%H:%M`" > binary/.disk/info
;;
ubuntu)
echo "Ubuntu Linux ${VERSION} \"${DISTRIBUTION}\" - Unofficial ${ARCHITECTURE} LIVE/NETINST Binary `date +%Y%m%d-%H:%M`" > binary/.disk/info
# Ubuntu 7.04 "Feisty Fawn" - Release i386 (20070418)
;;
esac
if [ "${LIVE_DEBIAN_INSTALLER}" != "disabled" ]
then
echo "main" > binary/.disk/base_components
touch binary/.disk/base_installable
echo "not_complete" > binary/.disk/cd_type
#touch binary/.disk/mkisofs
cat > binary/.disk/udeb_include << EOF
netcfg
ethdetect
pcmcia-cs-udeb
pcmciautils-udeb
wireless-tools-udeb
EOF
if [ -d binary/pool/main/l/live-installer ]
then
echo "live-installer" >> binary/.disk/udeb_include
fi
fi
# Creating stage file
Create_stagefile .stage/binary_disk

View File

@ -45,35 +45,17 @@ Require_stagefile .stage/bootstrap
# Checking stage file # Checking stage file
Check_stagefile .stage/binary_grub Check_stagefile .stage/binary_grub
# Checking grub templates
Check_templates grub
# Checking lock file # Checking lock file
Check_lockfile .lock Check_lockfile .lock
# Creating lock file # Creating lock file
Create_lockfile .lock Create_lockfile .lock
if [ "${LIVE_ARCHITECTURE}" != "amd64" ] && [ "${LIVE_ARCHITECTURE}" != "i386" ] # Check architecture
then Check_architecture amd64 i386
Echo_warning "skipping binary_grub, foreign architecture."
exit 0
fi
# Check user templates
if [ ! -d "${LIVE_TEMPLATES}" ]
then
if [ -d ../"${LIVE_TEMPLATES}" ]
then
LIVE_TEMPLATES="../${LIVE_TEMPLATES}"
else
Echo_error "user specified templates not accessible in ${LIVE_TEMPLATES}"
exit 1
fi
fi
# Check local templates
if [ -d config/templates/grub ]
then
LIVE_TEMPLATES="config/templates"
fi
# Checking depends # Checking depends
Check_package chroot/usr/sbin/grub grub Check_package chroot/usr/sbin/grub grub
@ -93,13 +75,22 @@ esac
# Setting destination directory # Setting destination directory
case "${LIVE_BINARY_IMAGES}" in case "${LIVE_BINARY_IMAGES}" in
iso|tar|usb-hdd) iso|tar)
DESTDIR_LIVE="binary/live" case "${LH_INITRAMFS}" in
casper)
DESTDIR_LIVE="binary/casper"
;;
live-initramfs)
DESTDIR_LIVE="binary/live"
;;
esac
DESTDIR_INSTALL="binary/install" DESTDIR_INSTALL="binary/install"
;; ;;
net) usb-hdd|net)
Echo_error "not supported, aborting (FIXME)." Echo_error "not yet supported, aborting (FIXME)."
exit 1 exit 1
;; ;;
esac esac
@ -165,6 +156,11 @@ then
esac esac
fi fi
if [ "${LIVE_UNION_FILESYSTEM}" != "unionfs" ]
then
LIVE_BOOTAPPEND="${LIVE_BOOTAPPEND} union=${LIVE_UNION_FILESYSTEM}"
fi
LIVE_BOOTAPPEND="`echo ${LIVE_BOOTAPPEND} | sed -e 's/ //'`" LIVE_BOOTAPPEND="`echo ${LIVE_BOOTAPPEND} | sed -e 's/ //'`"
# Parameters are listed at: linux/Documentation/kernel-parameters.txt # Parameters are listed at: linux/Documentation/kernel-parameters.txt
@ -194,7 +190,7 @@ fi
LINUX="`echo ${LINUX} | sed -e 's#//#/#g'`" LINUX="`echo ${LINUX} | sed -e 's#//#/#g'`"
# Assembling debian-installer configuration # Assembling debian-installer configuration
if [ "${LIVE_DEBIAN_INSTALLER}" = "enabled" ] if [ "${LIVE_DEBIAN_INSTALLER}" != "disabled" ]
then then
LINUX="title\t\tLive:\nroot\n\n${LINUX}" LINUX="title\t\tLive:\nroot\n\n${LINUX}"

56
helpers/lh_binary_hacks Executable file
View File

@ -0,0 +1,56 @@
#!/bin/sh
# lh_binary_hacks(1) - execute hacks in binary
# Copyright (C) 2006-2007 Daniel Baumann <daniel@debian.org>
#
# live-helper 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
LH_BASE="${LH_BASE:-/usr/share/live-helper}"
for FUNCTION in "${LH_BASE}"/functions/*.sh
do
. "${FUNCTION}"
done
# Setting static variables
DESCRIPTION="execute hacks in binary"
HELP=""
USAGE="${PROGRAM} [--force]"
Arguments "${@}"
# Reading configuration files
Read_conffile config/common
Read_conffile config/bootstrap
Read_conffile config/chroot
Read_conffile config/binary
Read_conffile config/source
Set_defaults
Echo_message "Begin executing hacks..."
# Requiring stage file
Require_stagefile .stage/bootstrap
# Checking stage file
Check_stagefile .stage/binary_hacks
# Checking lock file
Check_lockfile .lock
# Creating lock file
Create_lockfile .lock
# Removing live-initramfs docs
if [ "${LH_INITRAMFS}" = "casper" ]
then
rm -f binary/parameters.txt
fi
# Creating stage file
Create_stagefile .stage/binary_hacks

View File

@ -84,42 +84,23 @@ case "${LIVE_ARCHITECTURE}" in
;; ;;
esac esac
if [ "${LIVE_DEBIAN_INSTALLER}" = "enabled" ] # Working arround vfat limitations
if [ "${LIVE_BINARY_IMAGE}" = "usb-hdd" ]
then then
# Working arround vfat limitations CP_OPTIONS="-L"
if [ "${LIVE_BINARY_IMAGE}" = "usb-hdd" ] fi
then
CP_OPTIONS="-L"
fi
# Copying install templates # Copying common templates
if [ -d "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/install ] && \ if [ -d "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/common ] && \
ls "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/install/* &> /dev/null ls "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/common/* &> /dev/null
then then
cp -r ${CP_OPTIONS} "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/install/* binary cp -r ${CP_OPTIONS} "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/common/* binary
fi fi
if [ -d "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/install."${ARCH}" ] && \ if [ -d "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/common."${ARCH}" ] && \
ls "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/install."${ARCH}"/* &> /dev/null ls "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/common."${ARCH}"/* &> /dev/null
then then
cp -r ${CP_OPTIONS} "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/install."${ARCH}"/* binary cp -r ${CP_OPTIONS} "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/common."${ARCH}"/* binary
fi
# Adjusting install templates
DEBIAN_NAME="Debian GNU/Linux 4.0 r0 \"Etch\" - Unofficial amd64 NETINST/LIVE Binary-1"
DEBIAN_DATE="`date +%Y%m%d-%H:%M`"
if [ "${LIVE_ARCHITECTURE}" = "i386" ]
then
DEBIAN_TOOLS_HTML=" <P>\n <tt>&nbsp;\n <A href="tools/">/tools/</a>\n </tt>\n\n and\n <tt>&nbsp;\n <A href="install/floppy/">/install/floppy/</a>\n </tt>"
DEBIAN_TOOLS_TXT="/tools/ and /install/floppy/"
else
DEBIAN_TOOLS_HTML=" <P>\n <tt>&nbsp;\n <A href="tools/">/tools/</a>\n </tt>\n\n\n\n\n\n"
DEBIAN_TOOLS_TXT="/tools/"
fi
sed -i -e "s#DEBIAN_NAME#${DEBIAN_NAME}#g" -e "s/DEBIAN_DATE/${DEBIAN_DATE}/g" -e "s#DEBIAN_TOOLS#${DEBIAN_TOOLS_HTML}#g" binary/README.html
sed -i -e "s#DEBIAN_NAME#${DEBIAN_NAME}#g" -e "s/DEBIAN_DATE/${DEBIAN_DATE}/g" -e "s#DEBIAN_TOOLS#${DEBIAN_TOOLS_TXT}#g" binary/README.txt
fi fi
# Copying live templates # Copying live templates
@ -135,5 +116,50 @@ then
cp -r ${CP_OPTIONS} "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/live."${ARCH}"/* binary cp -r ${CP_OPTIONS} "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/live."${ARCH}"/* binary
fi fi
if [ "${LIVE_DEBIAN_INSTALLER}" != "disabled" ]
then
# Copying install templates
if [ -d "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/install ] && \
ls "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/install/* &> /dev/null
then
cp -r ${CP_OPTIONS} "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/install/* binary
fi
if [ -d "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/install."${ARCH}" ] && \
ls "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/install."${ARCH}"/* &> /dev/null
then
cp -r ${CP_OPTIONS} "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/install."${ARCH}"/* binary
fi
# Adjusting install templates
ARCHITECTURE="`echo ${LIVE_ARCHITECTURE} | sed -e 's# #/#g'`"
DISTRIBUTION="`echo ${LIVE_DISTRIBUTION} | cut -b 1 | tr '[a-z]' '[A-Z]'`"
DISTRIBUTION="${DISTRIBUTION}`echo ${LIVE_DISTRIBUTION} | cut -b 2-`"
eval VERSION="$`echo VERSION_${LIVE_DISTRIBUTION}`"
if [ -d binary/pool/main/l/live-installer ]
then
TYPE="LIVE/INSTALL"
fi
TYPE="LIVE/NETINST"
DEBIAN_NAME="Debian GNU/Linux ${VERSION} \"${DISTRIBUTION}\" - Official ${ARCHITECTURE} ${TYPE} Binary `date +%Y%m%d-%H:%M`"
DEBIAN_DATE="`date +%Y%m%d-%H:%M`"
if [ "${LIVE_ARCHITECTURE}" = "i386" ]
then
DEBIAN_TOOLS_HTML=" <P>\n <tt>&nbsp;\n <A href="tools/">/tools/</a>\n </tt>\n\n and\n <tt>&nbsp;\n <A href="install/floppy/">/install/floppy/</a>\n </tt>"
DEBIAN_TOOLS_TXT="/tools/ and /install/floppy/"
else
DEBIAN_TOOLS_HTML=" <P>\n <tt>&nbsp;\n <A href="tools/">/tools/</a>\n </tt>\n\n\n\n\n\n"
DEBIAN_TOOLS_TXT="/tools/"
fi
sed -i -e "s#DEBIAN_NAME#${DEBIAN_NAME}#g" -e "s/DEBIAN_DATE/${DEBIAN_DATE}/g" -e "s#DEBIAN_TOOLS#${DEBIAN_TOOLS_HTML}#g" binary/README.html
sed -i -e "s#DEBIAN_NAME#${DEBIAN_NAME}#g" -e "s/DEBIAN_DATE/${DEBIAN_DATE}/g" -e "s#DEBIAN_TOOLS#${DEBIAN_TOOLS_TXT}#g" binary/README.txt
fi
# Creating stage file # Creating stage file
Create_stagefile .stage/binary_includes Create_stagefile .stage/binary_includes

View File

@ -105,7 +105,7 @@ case "${LIVE_BOOTLOADER}" in
syslinux) syslinux)
GENISOIMAGE_OPTIONS="${GENISOIMAGE_OPTIONS} -no-emul-boot -boot-load-size 4 -boot-info-table" GENISOIMAGE_OPTIONS="${GENISOIMAGE_OPTIONS} -no-emul-boot -boot-load-size 4 -boot-info-table"
GENISOIMAGE_OPTIONS="${GENISOIMAGE_OPTIONS} -b isolinux/isolinux.bin -c isolinux/boot.cat" GENISOIMAGE_OPTIONS="${GENISOIMAGE_OPTIONS} -r -b isolinux/isolinux.bin -c isolinux/boot.cat"
if [ "${LIVE_PACKAGES_LISTS}" = "mini" ] || [ "${LIVE_PACKAGES_LISTS}" = "minimal" ] if [ "${LIVE_PACKAGES_LISTS}" = "mini" ] || [ "${LIVE_PACKAGES_LISTS}" = "minimal" ]
then then

View File

@ -52,7 +52,15 @@ rm -f chroot/boot/initrd*bak*
# Setting destination directory # Setting destination directory
case "${LIVE_BINARY_IMAGES}" in case "${LIVE_BINARY_IMAGES}" in
iso) iso)
DESTDIR="binary/live" case "${LH_INITRAMFS}" in
casper)
DESTDIR="binary/casper"
;;
live-initramfs)
DESTDIR="binary/live"
;;
esac
;; ;;
net) net)
@ -70,6 +78,20 @@ case "${LIVE_BINARY_IMAGES}" in
;; ;;
esac esac
case "${LIVE_ARCHITECTURE}" in
amd64)
LINUX="vmlinuz"
;;
i386)
LINUX="vmlinuz"
;;
powerpc)
LINUX="vmlinux"
;;
esac
# Temporary check for broken syslinux # Temporary check for broken syslinux
if [ "${LIVE_BINARY_IMAGES}" = "iso" ] if [ "${LIVE_BINARY_IMAGES}" = "iso" ]
then then
@ -79,17 +101,14 @@ then
case "${LIVE_ARCHITECTURE}" in case "${LIVE_ARCHITECTURE}" in
amd64) amd64)
DESTDIR="${DESTDIR}.amd" DESTDIR="${DESTDIR}.amd"
LINUX="vmlinuz"
;; ;;
i386) i386)
DESTDIR="${DESTDIR}.386" DESTDIR="${DESTDIR}.386"
LINUX="vmlinuz"
;; ;;
powerpc) powerpc)
DESTDIR="${DESTDIR}.ppc" DESTDIR="${DESTDIR}.ppc"
LINUX="vmlinux"
;; ;;
esac esac
fi fi

View File

@ -48,19 +48,22 @@ Create_lockfile .lock
case "${LH_INITRAMFS}" in case "${LH_INITRAMFS}" in
casper) casper)
INITFS="casper" # Add filesystem.manifest
Chroot "dpkg --get-selections" | awk '{ print $1 }' | sort -u > binary/casper/filesystem.manifest
;; ;;
live-initramfs) live-initramfs)
INITFS="live" # Add packages.list
cat > binary/packages.txt << EOF
This file contains the list of all packages installed in this live system.
EOF
Chroot "dpkg -l" >> binary/packages.txt
;; ;;
esac esac
# Add filesystem.manifest
Chroot "dpkg --get-selections" | awk '{ print $1 }' | sort -u > binary/${INITFS}/filesystem.manifest
# Add packages.list
Chroot "dpkg -l" > binary/packages.txt
# Creating stage file # Creating stage file
Create_stagefile .stage/binary_manifest Create_stagefile .stage/binary_manifest

View File

@ -55,7 +55,18 @@ fi
# Calculating md5sums # Calculating md5sums
cd binary cd binary
find . -type f | sort | grep -v 'isolinux/isolinux.bin' | grep -v 'boot/grub/stage2_eltorito' | xargs md5sum > ../md5sum.txt find . -type f | sort | grep -v 'isolinux/isolinux.bin' | grep -v 'boot/grub/stage2_eltorito' | xargs md5sum > ../md5sum.txt
mv ../md5sum.txt ./
cat > md5sum.txt << EOF
This file contains the list of md5 checksums of all files on this medium.
You can verify them automatically with the 'integrity-check' boot parameter,
or, manually with: 'md5sum -c md5sum.txt'.
EOF
cat ../md5sum.txt >> md5sum.txt
rm -f ../md5sum.txt
cd "${OLDPWD}" cd "${OLDPWD}"

View File

@ -74,7 +74,15 @@ Install_package
# Setting destination directory # Setting destination directory
case "${LIVE_BINARY_IMAGES}" in case "${LIVE_BINARY_IMAGES}" in
iso) iso)
DESTDIR="binary/live" case "${LH_INITRAMFS}" in
casper)
DESTDIR="binary/casper"
;;
live-initramfs)
DESTDIR="binary/live"
;;
esac
;; ;;
net) net)
@ -82,7 +90,15 @@ case "${LIVE_BINARY_IMAGES}" in
;; ;;
tar|usb-hdd) tar|usb-hdd)
DESTDIR="binary/live" case "${LH_INITRAMFS}" in
casper)
DESTDIR="binary/casper"
;;
live-initramfs)
DESTDIR="binary/live"
;;
esac
# Workaround for syslinux (<< 3.36) which doesn't support long file/path names # Workaround for syslinux (<< 3.36) which doesn't support long file/path names
if [ "${LIVE_DISTRIBUTION}" = "etch" ] && [ "${LIVE_BOOTLOADER}" = "syslinux" ] if [ "${LIVE_DISTRIBUTION}" = "etch" ] && [ "${LIVE_BOOTLOADER}" = "syslinux" ]

View File

@ -153,7 +153,7 @@ case "${LIVE_CHROOT_FILESYSTEM}" in
if [ "${LIVE_PACKAGES_LISTS}" != "minimal" ] && [ "${LIVE_PACKAGES_LISTS}" != "mini" ] if [ "${LIVE_PACKAGES_LISTS}" != "minimal" ] && [ "${LIVE_PACKAGES_LISTS}" != "mini" ]
then then
MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -e chroot/boot/${LINUX}* chroot/boot/initrd.img* chroot/${LINUX}* chroot/initrd.img* chroot/boot/config-* chroot/boot/System.map-*" MKSQUASHFS_OPTIONS="${MKSQUASHFS_OPTIONS} -e chroot/boot/${LINUX}* chroot/boot/initrd.img* chroot/${LINUX}* chroot/initrd.img*"
fi fi
if [ -f config/binary_rootfs/squashfs.sort ] if [ -f config/binary_rootfs/squashfs.sort ]

View File

@ -45,35 +45,17 @@ Require_stagefile .stage/bootstrap
# Checking stage file # Checking stage file
Check_stagefile .stage/binary_syslinux Check_stagefile .stage/binary_syslinux
# Checking syslinux templates
Check_templates syslinux
# Checking lock file # Checking lock file
Check_lockfile .lock Check_lockfile .lock
# Creating lock file # Creating lock file
Create_lockfile .lock Create_lockfile .lock
if [ "${LIVE_ARCHITECTURE}" != "amd64" ] && [ "${LIVE_ARCHITECTURE}" != "i386" ] # Check architecture
then Check_architecture amd64 i386
Echo_warning "skipping binary_syslinux, foreign architecture."
exit 0
fi
# Checking user templates
if [ ! -d "${LIVE_TEMPLATES}" ]
then
if [ -d ../"${LIVE_TEMPLATES}" ]
then
LIVE_TEMPLATES="../${LIVE_TEMPLATES}"
else
Echo_error "user specified templates not accessible in ${LIVE_TEMPLATES}"
exit 1
fi
fi
# Check local templates
if [ -d config/templates/syslinux ]
then
LIVE_TEMPLATES="config/templates"
fi
# Checking depends # Checking depends
Check_package chroot/usr/bin/syslinux syslinux Check_package chroot/usr/bin/syslinux syslinux
@ -81,6 +63,47 @@ Check_package chroot/usr/bin/syslinux syslinux
# Installing depends # Installing depends
Install_package Install_package
# Local methods
Syslinux_live_entry ()
{
LABEL="${1}"
KERNEL="${2}"
INITRD="${3}"
APPEND="${4}"
# pxelinux and syslinux << 3.36 lacks support to file/path
if [ "${LIVE_BINARY_IMAGES}" != "net" ] && [ "${DIRECTORY}" != "binary" ]
then
DIRECTORY="/`basename ${DESTDIR_LIVE}`"
KERNEL="${DIRECTORY}/${KERNEL}"
INITRD="${DIRECTORY}/${INITRD}"
fi
LINUX_LIVE="${LINUX_LIVE}\nLABEL ${LABEL}\n"
LINUX_LIVE="${LINUX_LIVE}\tkernel ${KERNEL}\n"
LINUX_LIVE="${LINUX_LIVE}\tappend initrd=${INITRD} boot=${INITFS} LIVE_BOOTAPPEND ${APPEND}\n"
}
Syslinux_install_entry ()
{
LABEL="${1}"
KERNEL="${2}"
INITRD="${3}"
APPEND="${4}"
# pxelinux and syslinux << 3.36 lacks support to file/path
if [ "${LIVE_BINARY_IMAGES}" != "net" ] && [ "${DIRECTORY}" != "binary" ]
then
DIRECTORY="/`basename ${DESTDIR_INSTALL}`"
KERNEL="${DIRECTORY}/${KERNEL}"
INITRD="${DIRECTORY}/${INITRD}"
fi
LINUX_INSTALL="${LINUX_INSTALL}\nLABEL ${LABEL}\n"
LINUX_INSTALL="${LINUX_INSTALL}\tkernel ${KERNEL}\n"
LINUX_INSTALL="${LINUX_INSTALL}\tappend initrd=${INITRD} ${APPEND} --\n"
}
case "${LH_INITRAMFS}" in case "${LH_INITRAMFS}" in
casper) casper)
INITFS="casper" INITFS="casper"
@ -94,17 +117,35 @@ esac
# Setting destination directory # Setting destination directory
case "${LIVE_BINARY_IMAGES}" in case "${LIVE_BINARY_IMAGES}" in
iso) iso)
DESTDIR_LIVE="binary/live" case "${LH_INITRAMFS}" in
casper)
DESTDIR_LIVE="binary/casper"
;;
live-initramfs)
DESTDIR_LIVE="binary/live"
;;
esac
DESTDIR_INSTALL="binary/install" DESTDIR_INSTALL="binary/install"
;; ;;
net) net)
DESTDIR_LIVE="tftpboot" DESTDIR_LIVE="tftpboot"
DESTDIR_INSTALL="tftpboot" DESTDIR_INSTALL="tftpboot"
;; ;;
tar|usb-hdd) tar|usb-hdd)
DESTDIR_LIVE="binary/live" case "${LH_INITRAMFS}" in
casper)
DESTDIR_LIVE="binary/casper"
;;
live-initramfs)
DESTDIR_LIVE="binary/live"
;;
esac
DESTDIR_INSTALL="binary/install" DESTDIR_INSTALL="binary/install"
# Workaround for syslinux (<< 3.36) which doesn't support long file/path names # Workaround for syslinux (<< 3.36) which doesn't support long file/path names
@ -177,69 +218,51 @@ then
esac esac
fi fi
if [ "${LIVE_UNION_FILESYSTEM}" != "unionfs" ]
then
LIVE_BOOTAPPEND="${LIVE_BOOTAPPEND} union=${LIVE_UNION_FILESYSTEM}"
fi
LIVE_BOOTAPPEND="`echo ${LIVE_BOOTAPPEND} | sed -e 's/ //'`" LIVE_BOOTAPPEND="`echo ${LIVE_BOOTAPPEND} | sed -e 's/ //'`"
# Parameters are listed at: linux/Documentation/kernel-parameters.txt # Parameters are listed at: linux/Documentation/kernel-parameters.txt
FAILSAFE="noapic noapm nodma nomce nolapic nosmp vga=normal" FAILSAFE="noapic noapm nodma nomce nolapic nosmp vga=normal"
# Assembling kernel configuration # Assembling kernel configuration
if [ "${LIVE_BINARY_IMAGES}" != "net" ]
then
DEFAULT_FLAVOUR="`echo ${LIVE_LINUX_FLAVOURS} | awk '{ print $1 }'`"
# Workaround for syslinux (<< 3.36) which doesn't support long file/path names # Default entries
if [ "`basename ${DESTDIR_LIVE}`" = "binary" ] DEFAULT_FLAVOUR="`echo ${LIVE_LINUX_FLAVOURS} | awk '{ print $1 }'`"
then DEFAULT_KERNEL="`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`"
LINUX="# Debian GNU/Linux - live\nLABEL live\n\tkernel `basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND" DEFAULT_INITRD="initrd.img-`echo ${DEFAULT_KERNEL} | sed -e 's/vmlinuz-//'`"
LINUX="${LINUX}\n\n# Debian GNU/Linux - live-failsafe\nLABEL live-failsafe\n\tkernel `basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
else Syslinux_live_entry "live" "${DEFAULT_KERNEL}" "${DEFAULT_INITRD}"
LINUX="# Debian GNU/Linux - live\nLABEL live\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND" Syslinux_live_entry "live-failsafe" "${DEFAULT_KERNEL}" "${DEFAULT_INITRD}" "${FAILSAFE}"
LINUX="${LINUX}\n\n# Debian GNU/Linux - live-failsafe\nLABEL live-failsafe\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
fi
else
DEFAULT_FLAVOUR="`echo ${LIVE_LINUX_FLAVOURS} | awk '{ print $1 }'`"
LINUX="# Debian GNU/Linux - live\nLABEL live\n\tkernel `basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
LINUX="${LINUX}\n\n# Debian GNU/Linux - live-failsafe\nLABEL live-failsafe\n\tkernel `basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
fi
if [ "`echo ${LIVE_LINUX_FLAVOURS} | wc -w`" -gt "1" ] if [ "`echo ${LIVE_LINUX_FLAVOURS} | wc -w`" -gt "1" ]
then then
for KERNEL in chroot/boot/vmlinuz* for KERNEL in chroot/boot/vmlinuz*
do do
if [ -z "${LINUX}" ] KERNEL_IMAGE="`basename ${KERNEL}`"
then KERNEL_VERSION="`echo ${KERNEL_IMAGE} | sed -e 's/vmlinuz-//'`"
if [ "${LIVE_BINARY_IMAGES}" = "iso" ] INITRD="initrd.img-${KERNEL_VERSION}"
then
LINUX="# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename ${KERNEL}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND" Syslinux_live_entry "live-${KERNEL_VERSION}" "${KERNEL_IMAGE}" "${INITRD}"
LINUX="${LINUX}\n\n# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`-failsafe\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`-failsafe\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename ${KERNEL}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}" Syslinux_live_entry "live-${KERNEL_VERSION}-failsafe" "${KERNEL_IMAGE}" "${INITRD}" "${FAILSAFE}"
else
LINUX="# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel `basename ${KERNEL}`\n\tappend initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} live_BOOTAPPEND"
LINUX="${LINUX}\n\n# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel `basename ${KERNEL}`\n\tappend initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
fi
else
if [ "${LIVE_BINARY_IMAGES}" = "iso" ]
then
LINUX="${LINUX}\n\n# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename ${KERNEL}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
LINUX="${LINUX}\n\n# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`-failsafe\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`-failsafe\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename ${KERNEL}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
else
LINUX="${LINUX}\n\n# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel `basename ${KERNEL}`\n\tappend initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
LINUX="${LINUX}\n\n# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel `basename ${KERNEL}`\n\tappend initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
fi
fi
done done
fi fi
# Removing '//' LINUX_LIVE="`echo ${LINUX_LIVE} | sed -e 's/binary//g' -e 's#//#/#g'`"
LINUX="`echo ${LINUX} | sed -e 's#//#/#g'`"
# Assembling debian-installer configuration # Assembling debian-installer configuration
if [ "${LIVE_DEBIAN_INSTALLER}" = "enabled" ] if [ "${LIVE_DEBIAN_INSTALLER}" != "disabled" ]
then then
VMLINUZ_DI="vmlinuz" VMLINUZ_DI="vmlinuz"
INITRD_DI="initrd.gz" INITRD_DI="initrd.gz"
APPEND_DI="vga=normal"
VMLINUZ_GI="gtk/vmlinuz" VMLINUZ_GI="gtk/vmlinuz"
INITRD_GI="gtk/initrd.gz" INITRD_GI="gtk/initrd.gz"
APPEND_GI="video=vesa:ywrap,mtrr vga=788"
# Workaround for syslinux (<< 3.36) which doesn't support long file/path names # Workaround for syslinux (<< 3.36) which doesn't support long file/path names
if [ "${LIVE_DISTRIBUTION}" = "etch" ] if [ "${LIVE_DISTRIBUTION}" = "etch" ]
@ -254,55 +277,31 @@ then
fi fi
fi fi
# Workaround for syslinux (<< 3.36) which doesn't support long file/path names Syslinux_install_entry "linux" "${VMLINUZ_DI}" "${INITRD_DI}" "${APPEND_DI}"
if [ "`basename ${DESTDIR_LIVE}`" = "binary" ] Syslinux_install_entry "install" "${VMLINUZ_DI}" "${INITRD_DI}" "${APPEND_DI}"
then Syslinux_install_entry "installgui" "${VMLINUZ_GI}" "${INITRD_GI}" "${APPEND_GI}"
LIVE_LINUX_INSTALL="LABEL install\n\tkernel ${VMLINUZ_DI}\n\tappend vga=normal initrd=${INITRD_DI} -- " Syslinux_install_entry "expert" "${VMLINUZ_DI}" "${INITRD_DI}" "priority=low ${APPEND_DI}"
LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL linux\n\tkernel ${VMLINUZ_DI}\n\tappend vga=normal initrd=${INITRD_DI} -- " Syslinux_install_entry "expertgui" "${VMLINUZ_GI}" "${INITRD_GI}" "priority=low ${APPEND_GI}"
LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL installgui\n\tkernel ${VMLINUZ_GI}\n\tappend video=vesa:ywrap,mtrr vga=788 initrd=${INITRD_GI} -- " Syslinux_install_entry "rescue" "${VMLINUZ_DI}" "${INITRD_DI}" "rescue/enable=true ${APPEND_DI}"
Syslinux_install_entry "rescuegui" "${VMLINUZ_GI}" "${INITRD_GI}" "rescue/enable=true ${APPEND_GI}"
LIVE_KENREL_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL expert\n\tkernel ${VMLINUZ_DI}\n\tappend priority=low vga=normal initrd=${INITRD_DI} -- " Syslinux_install_entry "auto" "${VMLINUZ_DI}" "${INITRD_DI}" "auto=true ${APPEND_DI}"
LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL expertgui\n\tkernel ${VMLINUZ_GI}\n\tappend priority=low video=vesa:ywrap,mtrr vga=788 initrd=${INITRD_GI} -- " Syslinux_install_entry "autogui" "${VMLINUZ_GI}" "${INITRD_GI}" "auto=true ${APPEND_GI}"
LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL rescue\n\tkernel ${VMLINUZ_DI}\n\tappend vga=normal initrd=${INITRD_DI} rescue/enable=true -- "
LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL rescuegui\n\tkernel ${VMLINUZ_GI}\n\tappend video=vesa:ywrap,mtrr vga=788 initrd=${INITRD_GI} rescue/enable=true -- "
LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL auto\n\tkernel ${VMLINUZ_DI}\n\tappend auto=true priority=critical vga=normal initrd=${INITRD_DI} -- "
LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL autogui\n\tkernel ${VMLINUZ_GI}\n\tappend auto=true priority=critical video=vesa:ywrap,mtrr vga=788 initrd=${INITRD_GI} -- "
else
LIVE_LINUX_INSTALL="LABEL install\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_DI}\n\tappend vga=normal initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_DI} -- "
LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL linux\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_DI}\n\tappend vga=normal initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_DI} -- "
LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL installgui\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_GI}\n\tappend video=vesa:ywrap,mtrr vga=788 initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_GI} -- "
LIVE_KENREL_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL expert\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_DI}\n\tappend priority=low vga=normal initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_DI} -- "
LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL expertgui\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_GI}\n\tappend priority=low video=vesa:ywrap,mtrr vga=788 initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_GI} -- "
LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL rescue\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_DI}\n\tappend vga=normal initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_DI} rescue/enable=true -- "
LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL rescuegui\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_GI}\n\tappend video=vesa:ywrap,mtrr vga=788 initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_GI} rescue/enable=true -- "
LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL auto\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_DI}\n\tappend auto=true priority=critical vga=normal initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_DI} -- "
LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL autogui\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_GI}\n\tappend auto=true priority=critical video=vesa:ywrap,mtrr vga=788 initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_GI} -- "
fi
fi fi
LIVE_LINUX_INSTALL="`echo ${LIVE_LINUX_INSTALL} | sed -e 's/binary//g' -e 's#//#/#g'`" LINUX_INSTALL="`echo ${LINUX_INSTALL} | sed -e 's/binary//g' -e 's#//#/#g'`"
# Assembling memtest configuration # Assembling memtest configuration
if [ -f "${DESTDIR_LIVE}"/memtest ] if [ -f "${DESTDIR_LIVE}"/memtest ]
then then
if [ "${LIVE_BINARY_IMAGES}" != "net" ] KERNEL_PATH="/`basename ${DESTDIR_LIVE}`/"
# pxelinux and syslinux << 3.36 lacks support to file/path
if [ "${LIVE_BINARY_IMAGES}" = "net" ] || [ "`basename ${DESTDIR_LIVE}`" = "binary" ]
then then
# Workaround for syslinux (<< 3.36) which doesn't support long file/path names KERNEL_PATH=""
if [ "`basename ${DESTDIR_LIVE}`" = "binary" ]
then
MEMTEST="LABEL memtest\n\tkernel memtest"
else
MEMTEST="LABEL memtest\n\tkernel /`basename ${DESTDIR_LIVE}`/memtest"
fi
else
MEMTEST="LABEL memtest\n\tkernel memtest"
fi fi
MEMTEST="LABEL ${KERNEL_PATH}memtest\n\tkernel memtest"
MEMTEST="`echo ${MEMTEST} | sed -e 's#//#/#g'`" MEMTEST="`echo ${MEMTEST} | sed -e 's#//#/#g'`"
fi fi
@ -331,7 +330,7 @@ case "${LIVE_BINARY_IMAGES}" in
fi fi
# Configure syslinux templates # Configure syslinux templates
sed -i -e "s@LIVE_LINUX_LIVE@${LINUX}@" -e "s@LIVE_LINUX_INSTALL@${LIVE_LINUX_INSTALL}@" -e "s@LIVE_MEMTEST@${MEMTEST}@" binary/isolinux/isolinux.cfg sed -i -e "s@LINUX_LIVE@${LINUX_LIVE}@" -e "s@LINUX_INSTALL@${LINUX_INSTALL}@" -e "s@MEMTEST@${MEMTEST}@" binary/isolinux/isolinux.cfg
sed -i -e "s#LIVE_BOOTAPPEND#${LIVE_BOOTAPPEND}#" binary/isolinux/isolinux.cfg sed -i -e "s#LIVE_BOOTAPPEND#${LIVE_BOOTAPPEND}#" binary/isolinux/isolinux.cfg
sed -i -e "s/LIVE_DATE/`date +%Y%m%d`/" binary/isolinux/f1.txt sed -i -e "s/LIVE_DATE/`date +%Y%m%d`/" binary/isolinux/f1.txt
sed -i -e "s/LIVE_VERSION/${VERSION}/" binary/isolinux/f10.txt sed -i -e "s/LIVE_VERSION/${VERSION}/" binary/isolinux/f10.txt
@ -342,19 +341,26 @@ case "${LIVE_BINARY_IMAGES}" in
# Working arround syslinux 8.3 limitation # Working arround syslinux 8.3 limitation
if [ "`echo ${LIVE_LINUX_FLAVOURS} | wc -w`" -gt "1" ] if [ "`echo ${LIVE_LINUX_FLAVOURS} | wc -w`" -gt "1" ]
then then
NUMBER="0"
# FIXME: This has a bug *iff* flavours = 686 686-bigmem (note the order).
for FLAVOUR in ${LIVE_LINUX_FLAVOURS} for FLAVOUR in ${LIVE_LINUX_FLAVOURS}
do do
NUMBER=$(($NUMBER + 1)) NUMBER="$(($NUMBER + 1))"
mv "${DESTDIR_LIVE}"/vmlinuz-*-${FLAVOUR} "${DESTDIR_LIVE}"/vmlinuz${NUMBER} mv "${DESTDIR_LIVE}"/vmlinuz-*-${FLAVOUR} "${DESTDIR_LIVE}"/vmlinuz${NUMBER}
mv "${DESTDIR_LIVE}"/initrd.img-*-${FLAVOUR} "${DESTDIR_LIVE}"/initrd${NUMBER}.img mv "${DESTDIR_LIVE}"/initrd.img-*-${FLAVOUR} "${DESTDIR_LIVE}"/initrd${NUMBER}.img
sed -i -e "s/vmlinuz-.*-${FLAVOUR}/vmlinuz${NUMBER}/g" -e "s/initrd.img-.*-${FLAVOUR}/initrd${NUMBER}.img/g" binary/isolinux/isolinux.cfg sed -i -e "s/vmlinuz-.*-${FLAVOUR}$/vmlinuz${NUMBER}/g" -e "s/initrd.img-.*-${FLAVOUR} /initrd${NUMBER}.img /g" binary/isolinux/isolinux.cfg
done done
else else
mv "${DESTDIR_LIVE}"/vmlinuz-*-${LIVE_LINUX_FLAVOURS} "${DESTDIR_LIVE}"/vmlinuz mv "${DESTDIR_LIVE}"/vmlinuz-*-${LIVE_LINUX_FLAVOURS} "${DESTDIR_LIVE}"/vmlinuz
mv "${DESTDIR_LIVE}"/initrd.img-*-${LIVE_LINUX_FLAVOURS} "${DESTDIR_LIVE}"/initrd.img mv "${DESTDIR_LIVE}"/initrd.img-*-${LIVE_LINUX_FLAVOURS} "${DESTDIR_LIVE}"/initrd.img
sed -i -e "s/vmlinuz-.*-${LIVE_LINUX_FLAVOURS}/vmlinuz/g" -e "s/initrd.img-.*-${LIVE_LINUX_FLAVOURS}/initrd.img/g" binary/isolinux/isolinux.cfg sed -i -e "s/vmlinuz-.*-${LIVE_LINUX_FLAVOURS}/vmlinuz/g" -e "s/initrd.img-.*-${LIVE_LINUX_FLAVOURS}/initrd.img/g" binary/isolinux/isolinux.cfg
fi fi
# Remove whitespaces
sed -i -e 's/\ $//g' binary/isolinux/isolinux.cfg
;; ;;
net) net)
@ -385,7 +391,7 @@ case "${LIVE_BINARY_IMAGES}" in
fi fi
# Configure syslinux templates # Configure syslinux templates
sed -i -e "s@LIVE_LINUX_LIVE@${LINUX}@" -e "s@LIVE_LINUX_INSTALL@${LIVE_LINUX_INSTALL}@" -e "s@LIVE_MEMTEST@${MEMTEST}@" tftpboot/pxelinux.cfg/default sed -i -e "s@LINUX_LIVE@${LINUX_LIVE}@" -e "s@LINUX_INSTALL@${LINUX_INSTALL}@" -e "s@MEMTEST@${MEMTEST}@" tftpboot/pxelinux.cfg/default
sed -i -e "s/LIVE_NET_SERVER/${LIVE_NET_SERVER}/" -e "s#LIVE_NET_PATH#${LIVE_NET_PATH}#" -e "s#LIVE_BOOTAPPEND#${LIVE_BOOTAPPEND}#" tftpboot/pxelinux.cfg/default sed -i -e "s/LIVE_NET_SERVER/${LIVE_NET_SERVER}/" -e "s#LIVE_NET_PATH#${LIVE_NET_PATH}#" -e "s#LIVE_BOOTAPPEND#${LIVE_BOOTAPPEND}#" tftpboot/pxelinux.cfg/default
sed -i -e "s/LIVE_DATE/`date +%Y%m%d`/" tftpboot/pxelinux.cfg/f1.txt sed -i -e "s/LIVE_DATE/`date +%Y%m%d`/" tftpboot/pxelinux.cfg/f1.txt
sed -i -e "s/LIVE_VERSION/${VERSION}/" tftpboot/pxelinux.cfg/f10.txt sed -i -e "s/LIVE_VERSION/${VERSION}/" tftpboot/pxelinux.cfg/f10.txt
@ -396,19 +402,24 @@ case "${LIVE_BINARY_IMAGES}" in
# Working arround syslinux 8.3 limitation # Working arround syslinux 8.3 limitation
if [ "`echo ${LIVE_LINUX_FLAVOURS} | wc -w`" -gt "1" ] if [ "`echo ${LIVE_LINUX_FLAVOURS} | wc -w`" -gt "1" ]
then then
NUMBER="0"
for FLAVOUR in ${LIVE_LINUX_FLAVOURS} for FLAVOUR in ${LIVE_LINUX_FLAVOURS}
do do
NUMBER=$(($NUMBER + 1)) NUMBER="$(($NUMBER + 1))"
mv "${DESTDIR_LIVE}"/vmlinuz-*-${FLAVOUR} "${DESTDIR_LIVE}"/vmlinuz${NUMBER} mv "${DESTDIR_LIVE}"/vmlinuz-*-${FLAVOUR} "${DESTDIR_LIVE}"/vmlinuz${NUMBER}
mv "${DESTDIR_LIVE}"/initrd.img-*-${FLAVOUR} "${DESTDIR_LIVE}"/initrd${NUMBER}.img mv "${DESTDIR_LIVE}"/initrd.img-*-${FLAVOUR} "${DESTDIR_LIVE}"/initrd${NUMBER}.img
sed -i -e "s/vmlinuz-.*-${FLAVOUR}/vmlinuz${NUMBER}/g" -e "s/initrd.img-.*-${FLAVOUR}/initrd${NUMBER}.img/g" binary/isolinux/isolinux.cfg sed -i -e "s/vmlinuz-.*-${FLAVOUR}$/vmlinuz${NUMBER}/g" -e "s/initrd.img-.*-${FLAVOUR} /initrd${NUMBER}.img /g" binary/isolinux/isolinux.cfg
done done
else else
mv "${DESTDIR_LIVE}"/vmlinuz-*-${LIVE_LINUX_FLAVOURS} "${DESTDIR_LIVE}"/vmlinuz mv "${DESTDIR_LIVE}"/vmlinuz-*-${LIVE_LINUX_FLAVOURS} "${DESTDIR_LIVE}"/vmlinuz
mv "${DESTDIR_LIVE}"/initrd.img-*-${LIVE_LINUX_FLAVOURS} "${DESTDIR_LIVE}"/initrd.img mv "${DESTDIR_LIVE}"/initrd.img-*-${LIVE_LINUX_FLAVOURS} "${DESTDIR_LIVE}"/initrd.img
sed -i -e "s/vmlinuz-.*-${LIVE_LINUX_FLAVOURS}/vmlinuz/g" -e "s/initrd.img-.*-${LIVE_LINUX_FLAVOURS}/initrd.img/g" binary/isolinux/isolinux.cfg sed -i -e "s/vmlinuz-.*-${LIVE_LINUX_FLAVOURS}/vmlinuz/g" -e "s/initrd.img-.*-${LIVE_LINUX_FLAVOURS}/initrd.img/g" binary/isolinux/isolinux.cfg
fi fi
# Remove whitespaces
sed -i -e 's/\ $//g' binary/isolinux/isolinux.cfg
;; ;;
tar|usb-hdd) tar|usb-hdd)
@ -444,7 +455,7 @@ case "${LIVE_BINARY_IMAGES}" in
fi fi
# Configure syslinux templates # Configure syslinux templates
sed -i -e "s@LIVE_LINUX_LIVE@${LINUX}@" -e "s@LIVE_LINUX_INSTALL@${LIVE_LINUX_INSTALL}@" -e "s@LIVE_MEMTEST@${MEMTEST}@" "${DESTDIR}"/syslinux.cfg sed -i -e "s@LINUX_LIVE@${LINUX_LIVE}@" -e "s@LINUX_INSTALL@${LINUX_INSTALL}@" -e "s@MEMTEST@${MEMTEST}@" "${DESTDIR}"/syslinux.cfg
sed -i -e "s#LIVE_BOOTAPPEND#${LIVE_BOOTAPPEND}#" "${DESTDIR}"/syslinux.cfg sed -i -e "s#LIVE_BOOTAPPEND#${LIVE_BOOTAPPEND}#" "${DESTDIR}"/syslinux.cfg
sed -i -e "s/LIVE_DATE/`date +%Y%m%d`/" "${DESTDIR}"/f1.txt sed -i -e "s/LIVE_DATE/`date +%Y%m%d`/" "${DESTDIR}"/f1.txt
sed -i -e "s/LIVE_VERSION/${VERSION}/" "${DESTDIR}"/f10.txt sed -i -e "s/LIVE_VERSION/${VERSION}/" "${DESTDIR}"/f10.txt
@ -455,17 +466,22 @@ case "${LIVE_BINARY_IMAGES}" in
# Workaround for syslinux (<< 3.36) which doesn't support long file/path names # Workaround for syslinux (<< 3.36) which doesn't support long file/path names
if [ "${LIVE_DISTRIBUTION}" = "etch" ] && [ "`echo ${LIVE_LINUX_FLAVOURS} | wc -w`" -gt "1" ] if [ "${LIVE_DISTRIBUTION}" = "etch" ] && [ "`echo ${LIVE_LINUX_FLAVOURS} | wc -w`" -gt "1" ]
then then
NUMBER="0"
for FLAVOUR in ${LIVE_LINUX_FLAVOURS} for FLAVOUR in ${LIVE_LINUX_FLAVOURS}
do do
NUMBER=$(($NUMBER + 1)) NUMBER="$(($NUMBER + 1))"
mv "${DESTDIR_LIVE}"/vmlinuz-*-${FLAVOUR} "${DESTDIR_LIVE}"/vmlinuz${NUMBER} mv "${DESTDIR_LIVE}"/vmlinuz-*-${FLAVOUR} "${DESTDIR_LIVE}"/vmlinuz${NUMBER}
mv "${DESTDIR_LIVE}"/initrd.img-*-${FLAVOUR} "${DESTDIR_LIVE}"/initrd${NUMBER}.img mv "${DESTDIR_LIVE}"/initrd.img-*-${FLAVOUR} "${DESTDIR_LIVE}"/initrd${NUMBER}.img
sed -i -e "s/vmlinuz-.*-${FLAVOUR}/vmlinuz${NUMBER}/g" -e "s/initrd.img-.*-${FLAVOUR}/initrd${NUMBER}.img/g" "${DESTDIR}"/syslinux.cfg sed -i -e "s/vmlinuz-.*-${FLAVOUR}$/vmlinuz${NUMBER}/g" -e "s/initrd.img-.*-${FLAVOUR} /initrd${NUMBER}.img /g" "${DESTDIR}"/syslinux.cfg
done done
else else
mv "${DESTDIR_LIVE}"/vmlinuz-*-${LIVE_LINUX_FLAVOURS} "${DESTDIR_LIVE}"/vmlinuz mv "${DESTDIR_LIVE}"/vmlinuz-*-${LIVE_LINUX_FLAVOURS} "${DESTDIR_LIVE}"/vmlinuz
mv "${DESTDIR_LIVE}"/initrd.img-*-${LIVE_LINUX_FLAVOURS} "${DESTDIR_LIVE}"/initrd.img mv "${DESTDIR_LIVE}"/initrd.img-*-${LIVE_LINUX_FLAVOURS} "${DESTDIR_LIVE}"/initrd.img
sed -i -e "s/vmlinuz-.*-${LIVE_LINUX_FLAVOURS}/vmlinuz/g" -e "s/initrd.img-.*-${LIVE_LINUX_FLAVOURS}/initrd.img/g" "${DESTDIR}"/syslinux.cfg sed -i -e "s/vmlinuz-.*-${LIVE_LINUX_FLAVOURS}/vmlinuz/g" -e "s/initrd.img-.*-${LIVE_LINUX_FLAVOURS}/initrd.img/g" "${DESTDIR}"/syslinux.cfg
# Remove whitespaces
sed -i -e 's/\ $//g' "${DESTDIR}"/syslinux.cfg
fi fi
;; ;;
esac esac

View File

@ -108,7 +108,7 @@ lh_losetup $FREELO chroot/binary.img 1
Chroot " mkfs.vfat -F 16 -n DEBIAN_LIVE ${FREELO}" Chroot " mkfs.vfat -F 16 -n DEBIAN_LIVE ${FREELO}"
mkdir -p chroot/binary.tmp mkdir -p chroot/binary.tmp
${LH_ROOT_COMMAND} mount ${FREELO} chroot/binary.tmp ${LH_ROOT_COMMAND} mount ${FREELO} chroot/binary.tmp
cp -r binary/* chroot/binary.tmp cp -rL binary/* chroot/binary.tmp
FIXME() FIXME()
{ {
@ -155,7 +155,7 @@ echo "!!! The above error/warning messages can be ignored !!!"
if [ -n "${MAKEDEV}" ] if [ -n "${MAKEDEV}" ]
then then
rm -f chroot/dev rm -rf chroot/dev
mv chroot/dev.tmp chroot/dev mv chroot/dev.tmp chroot/dev
fi fi

View File

@ -45,35 +45,17 @@ Require_stagefile .stage/bootstrap
# Checking stage file # Checking stage file
Check_stagefile .stage/binary_yaboot Check_stagefile .stage/binary_yaboot
# Checking yaboot templates
Check_templates yaboot
# Checking lock file # Checking lock file
Check_lockfile .lock Check_lockfile .lock
# Creating lock file # Creating lock file
Create_lockfile .lock Create_lockfile .lock
if [ "${LIVE_ARCHITECTURE}" != "powerpc" ] && [ "${LIVE_ARCHITECTURE}" != "ppc64" ] # Check architecture
then Check_architecture powerpc ppc64
Echo_warning "skipping binary_yaboot, foreign architecture."
#exit 0 # REMOVE_ME
fi
# Check user templates
if [ ! -d "${LIVE_TEMPLATES}" ]
then
if [ -d ../"${LIVE_TEMPLATES}" ]
then
LIVE_TEMPLATES="../${LIVE_TEMPLATES}"
else
Echo_error "user specified templates not accessible in ${LIVE_TEMPLATES}"
exit 1
fi
fi
# Checking local templates
if [ -d config/templates/yaboot ]
then
LIVE_TEMPLATES="config/templates"
fi
# Checking depends # Checking depends
Check_package chroot/usr/lib/yaboot/yaboot yaboot Check_package chroot/usr/lib/yaboot/yaboot yaboot
@ -159,6 +141,11 @@ then
esac esac
fi fi
if [ "${LIVE_UNION_FILESYSTEM}" != "unionfs" ]
then
LIVE_BOOTAPPEND="${LIVE_BOOTAPPEND} union=${LIVE_UNION_FILESYSTEM}"
fi
LIVE_BOOTAPPEND="`echo ${LIVE_BOOTAPPEND} | sed -e 's/ //'`" LIVE_BOOTAPPEND="`echo ${LIVE_BOOTAPPEND} | sed -e 's/ //'`"
# Parameters are listed at: linux/Documentation/kernel-parameters.txt # Parameters are listed at: linux/Documentation/kernel-parameters.txt
@ -202,7 +189,7 @@ fi
LINUX="`echo ${LINUX} | sed -e 's#//#/#g'`" LINUX="`echo ${LINUX} | sed -e 's#//#/#g'`"
# Assembling debian-installer configuration # Assembling debian-installer configuration
if [ "${LIVE_DEBIAN_INSTALLER}" = "enabled" ] if [ "${LIVE_DEBIAN_INSTALLER}" != "disabled" ]
then then
VMLINUZ_DI="vmlinuz" VMLINUZ_DI="vmlinuz"
INITRD_DI="initrd.gz" INITRD_DI="initrd.gz"

View File

@ -40,6 +40,7 @@ lh_chroot_debianchroot install ${*}
lh_chroot_sysvrc install ${*} lh_chroot_sysvrc install ${*}
lh_chroot_hosts install ${*} lh_chroot_hosts install ${*}
lh_chroot_resolv install ${*} lh_chroot_resolv install ${*}
lh_chroot_hostname install ${*}
lh_chroot_apt install ${*} lh_chroot_apt install ${*}
lh_chroot_sources install ${*} lh_chroot_sources install ${*}
lh_chroot_linux-image install ${*} lh_chroot_linux-image install ${*}
@ -64,6 +65,7 @@ lh_chroot_interactive ${*}
lh_chroot_linux-image remove ${*} lh_chroot_linux-image remove ${*}
lh_chroot_sources remove ${*} lh_chroot_sources remove ${*}
lh_chroot_apt remove ${*} lh_chroot_apt remove ${*}
lh_chroot_hostname remove ${*}
lh_chroot_resolv remove ${*} lh_chroot_resolv remove ${*}
lh_chroot_hosts remove ${*} lh_chroot_hosts remove ${*}
lh_chroot_sysvrc remove ${*} lh_chroot_sysvrc remove ${*}

98
helpers/lh_chroot_hostname Executable file
View File

@ -0,0 +1,98 @@
#!/bin/sh
# lh_chroot_hostname(1) - manage /etc/hostname
# Copyright (C) 2006-2007 Daniel Baumann <daniel@debian.org>
#
# live-helper 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
LH_BASE="${LH_BASE:-/usr/share/live-helper}"
for FUNCTION in "${LH_BASE}"/functions/*.sh
do
. "${FUNCTION}"
done
# Setting static variables
DESCRIPTION="manage /etc/hostname"
HELP=""
USAGE="${PROGRAM} {install|remove} [--force]"
Arguments "${@}"
# Reading configuration files
Read_conffile config/common
Read_conffile config/bootstrap
Read_conffile config/chroot
Read_conffile config/binary
Read_conffile config/source
Set_defaults
# Requiring stage file
Require_stagefile .stage/bootstrap
case "${1}" in
install)
Echo_message "Configuring file /etc/hostname"
# Checking stage file
Check_stagefile .stage/chroot_hostname
# Checking lock file
Check_lockfile .lock
# Creating lock file
Create_lockfile .lock
if [ -f chroot/etc/hostname ]
then
# Save hostname file
mv chroot/etc/hostname chroot/etc/hostname.orig
fi
# Create hostname file
echo "localhost.localdomain" > chroot/etc/hostname
# Set hostname
Chroot "hostname -F /etc/hostname"
# Creating stage file
Create_stagefile .stage/chroot_hostname
;;
remove)
Echo_message "Deconfiguring file /etc/hostname"
# Checking lock file
Check_lockfile .lock
# Creating lock file
Create_lockfile .lock
if [ -f chroot/etc/hostname.orig ]
then
# Restore hostname file
mv chroot/etc/hostname.orig chroot/etc/hostname
else
# Remove hostname file
rm -f chroot/etc/hostname
fi
# Set hostname (somehow this seems to be really needed :/)
if [ -f /etc/hostname ]
then
hostname -F /etc/hostname
fi
# Removing stage file
rm -f .stage/chroot_hostname
;;
*)
Usage
;;
esac

View File

@ -51,13 +51,21 @@ case "${1}" in
if [ -f chroot/etc/hosts ] if [ -f chroot/etc/hosts ]
then then
# Save hosts file # Save hosts file
cp chroot/etc/hosts chroot/etc/hosts.orig mv chroot/etc/hosts chroot/etc/hosts.orig
fi fi
# Creating hosts file
cat > chroot/etc/hosts << EOF
127.0.0.1 localhost localhost.localdomain
127.0.1.1 debian
EOF
if [ -f /etc/hosts ] if [ -f /etc/hosts ]
then then
# Copy hosts file # Append hosts file
cp /etc/hosts chroot/etc/hosts #grep -e "127.0.0.1" -e "127.0.1.1" /etc/hosts >> chroot/etc/hosts
cat /etc/hosts >> chroot/etc/hosts
fi fi
# Creating stage file # Creating stage file

View File

@ -51,7 +51,7 @@ case "${1}" in
if [ -f chroot/etc/resolv.conf ] if [ -f chroot/etc/resolv.conf ]
then then
# Save resolv file # Save resolv file
cp chroot/etc/resolv.conf chroot/etc/resolv.conf.orig mv chroot/etc/resolv.conf chroot/etc/resolv.conf.orig
fi fi
if [ -f /etc/resolv.conf ] if [ -f /etc/resolv.conf ]

View File

@ -236,6 +236,10 @@ cat > "${LIVE_ROOT}"/config/chroot << EOF
# (Default: ${LIVE_CHROOT_FILESYSTEM}) # (Default: ${LIVE_CHROOT_FILESYSTEM})
LIVE_CHROOT_FILESYSTEM="${LIVE_CHROOT_FILESYSTEM}" LIVE_CHROOT_FILESYSTEM="${LIVE_CHROOT_FILESYSTEM}"
# \$LIVE_UNION_FILESYSTEM: set union filesystem
# (Default: ${LIVE_UNION_FILESYSTEM}
LIVE_UNION_FILESYSTEM="${LIVE_UNION_FILESYSTEM}"
# \$LIVE_HOOKS: set hook commands # \$LIVE_HOOKS: set hook commands
# (Default: empty) # (Default: empty)
LIVE_HOOKS="${LIVE_HOOKS}" LIVE_HOOKS="${LIVE_HOOKS}"
@ -291,6 +295,7 @@ EOF
# Creating lh_binary_* configuration # Creating lh_binary_* configuration
mkdir -p "${LIVE_ROOT}"/config/binary_grub mkdir -p "${LIVE_ROOT}"/config/binary_grub
mkdir -p "${LIVE_ROOT}"/config/binary_local-debs
mkdir -p "${LIVE_ROOT}"/config/binary_local-hooks mkdir -p "${LIVE_ROOT}"/config/binary_local-hooks
mkdir -p "${LIVE_ROOT}"/config/binary_local-includes mkdir -p "${LIVE_ROOT}"/config/binary_local-includes
mkdir -p "${LIVE_ROOT}"/config/binary_local-udebs mkdir -p "${LIVE_ROOT}"/config/binary_local-udebs

View File

@ -35,11 +35,13 @@ Set_defaults
# Enabling network in chroot # Enabling network in chroot
lh_chroot_hosts install ${*} lh_chroot_hosts install ${*}
lh_chroot_resolv install ${*} lh_chroot_resolv install ${*}
lh_chroot_hostname install ${*}
lh_chroot_sources install ${*} lh_chroot_sources install ${*}
# Preparing images # Preparing images
lh_source_debian-live ${*} lh_source_debian-live ${*}
lh_source_debian ${*} lh_source_debian ${*}
lh_source_disk ${*}
lh_source_md5sum ${*} lh_source_md5sum ${*}
# Building images # Building images
@ -50,5 +52,6 @@ lh_source_usb-hdd ${*}
# Deconfiguring chroot # Deconfiguring chroot
rm -f .stage/chroot_sources rm -f .stage/chroot_sources
lh_chroot_hostname remove ${*}
lh_chroot_resolv remove ${*} lh_chroot_resolv remove ${*}
lh_chroot_hosts remove ${*} lh_chroot_hosts remove ${*}

84
helpers/lh_source_disk Executable file
View File

@ -0,0 +1,84 @@
#!/bin/sh
# lh_source_disk (1) - install disk information into source
# Copyright (C) 2006-2007 Daniel Baumann <daniel@debian.org>
#
# live-helper 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
LH_BASE="${LH_BASE:-/usr/share/live-helper}"
for FUNCTION in "${LH_BASE}"/functions/*.sh
do
. "${FUNCTION}"
done
# Setting static variables
DESCRIPTION="install disk information into source"
HELP=""
USAGE="${PROGRAM} [--force]"
Arguments "${@}"
# Reading configuration files
Read_conffile config/common
Read_conffile config/bootstrap
Read_conffile config/chroot
Read_conffile config/binary
Read_conffile config/source
Set_defaults
if [ "${LIVE_SOURCE_IMAGES}" != "iso" ]
then
exit 0
fi
Echo_message "Begin installing disk information..."
# Requiring stage file
Require_stagefile .stage/bootstrap
# Checking stage file
Check_stagefile .stage/source_disk
# Checking lock file
Check_lockfile .lock
# Creating lock file
Create_lockfile .lock
mkdir -p source/.disk
ARCHITECTURE="`echo ${LIVE_ARCHITECTURE} | sed -e 's# #/#g'`"
DISTRIBUTION="`echo ${LIVE_DISTRIBUTION} | cut -b 1 | tr '[a-z]' '[A-Z]'`"
DISTRIBUTION="${DISTRIBUTION}`echo ${LIVE_DISTRIBUTION} | cut -b 2-`"
eval VERSION="$`echo VERSION_${LIVE_DISTRIBUTION}`"
case "${LH_MODE}" in
debian)
if [ -d binary/pool/main/b/base-installer ]
then
if [ -d binary/pool/main/l/live-installer ]
then
TYPE="LIVE/INSTALL"
fi
TYPE="LIVE/NETINST"
else
TYPE="LIVE"
fi
echo "Debian GNU/Linux ${VERSION} \"${DISTRIBUTION}\" - Official ${ARCHITECTURE} ${TYPE} Source `date +%Y%m%d-%H:%M`" > source/.disk/info
;;
ubuntu)
echo "Ubuntu Linux ${VERSION} \"${DISTRIBUTION}\" - Unofficial ${ARCHITECTURE} LIVE/NETINST Source `date +%Y%m%d-%H:%M`" > source/.disk/info
;;
esac
# Creating stage file
Create_stagefile .stage/source_disk

View File

@ -60,7 +60,19 @@ fi
# Calculating md5sums # Calculating md5sums
cd source cd source
find . -type f | sort | xargs md5sum > ../md5sum.txt find . -type f | sort | xargs md5sum > ../md5sum.txt
mv ../md5sum.txt ./
cat > md5sum.txt << EOF
This file contains the list of md5 checksums of all files on this medium.
You can verify them automatically with the 'integrity-check' boot parameter,
or, manually with: 'md5sum -c md5sum.txt'.
EOF
cat ../md5sum.txt >> md5sum.txt
rm -f ../md5sum.txt
cd "${OLDPWD}" cd "${OLDPWD}"
# Creating stage file # Creating stage file

View File

@ -101,7 +101,7 @@ echo "!!! The above error/warning messages can be ignored !!!"
if [ -n "${MAKEDEV}" ] if [ -n "${MAKEDEV}" ]
then then
rm -f chroot/dev rm -rf chroot/dev
mv chroot/dev.tmp chroot/dev mv chroot/dev.tmp chroot/dev
fi fi

View File

@ -18,7 +18,7 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# #
# On Debian systems, the complete text of the GNU General Public License # On Debian systems, the complete text of the GNU General Public License
# can be found in /usr/share/common-licenses/GPL file. # can be found in /usr/share/common-licenses/GPL-2 file.
set -e set -e

View File

@ -1,4 +1,4 @@
.TH LH_BINARY 1 "25.06.2007" "1.0~a16" "live\-helper" .TH LH_BINARY 1 "02.07.2007" "1.0~a17" "live\-helper"
.SH NAME .SH NAME
lh_binary \- Meta\-Helper f\[:u]r lh_binary_* lh_binary \- Meta\-Helper f\[:u]r lh_binary_*

View File

@ -1,4 +1,4 @@
.TH LH_BINARY 1 "2007\-06\-25" "1.0~a16" "live\-helper" .TH LH_BINARY 1 "2007\-07\-02" "1.0~a17" "live\-helper"
.SH NAME .SH NAME
lh_binary \- meta\-helper for lh_binary_* lh_binary \- meta\-helper for lh_binary_*

View File

@ -1,4 +1,4 @@
.TH LH_BOOTSTRAP 1 "25.06.2007" "1.0~a16" "live\-helper" .TH LH_BOOTSTRAP 1 "02.07.2007" "1.0~a17" "live\-helper"
.SH NAME .SH NAME
lh_bootstrap \- Meta\-Helper f\[:u]r lh_bootstrap_* lh_bootstrap \- Meta\-Helper f\[:u]r lh_bootstrap_*

View File

@ -1,4 +1,4 @@
.TH LH_BOOTSTRAP 1 "2007\-06\-25" "1.0~a16" "live\-helper" .TH LH_BOOTSTRAP 1 "2007\-07\-02" "1.0~a17" "live\-helper"
.SH NAME .SH NAME
lh_bootstrap \- meta\-helper for lh_bootstrap_* lh_bootstrap \- meta\-helper for lh_bootstrap_*

View File

@ -1,4 +1,4 @@
.TH LH_BOOTSTRAP_CDEBOOTSTRAP 1 "25.06.2007" "1.0~a16" "live\-helper" .TH LH_BOOTSTRAP_CDEBOOTSTRAP 1 "02.07.2007" "1.0~a17" "live\-helper"
.SH NAME .SH NAME
lh_bootstrap_cdebootstrap \- erstellt ein Debian-System mit \fIcdebootstrap\fR(1) lh_bootstrap_cdebootstrap \- erstellt ein Debian-System mit \fIcdebootstrap\fR(1)

View File

@ -1,4 +1,4 @@
.TH LH_BOOTSTRAP_CDEBOOTSTRAP 1 "2007\-06\-25" "1.0~a16" "live\-helper" .TH LH_BOOTSTRAP_CDEBOOTSTRAP 1 "2007\-07\-02" "1.0~a17" "live\-helper"
.SH NAME .SH NAME
lh_bootstrap_cdebootstrap \- bootstrap a Debian system with \fIcdebootstrap\fR(1) lh_bootstrap_cdebootstrap \- bootstrap a Debian system with \fIcdebootstrap\fR(1)

View File

@ -1,4 +1,4 @@
.TH LH_BOOTSTRAP_DEBOOTSTRAP 1 "25.06.2007" "1.0~a16" "live\-helper" .TH LH_BOOTSTRAP_DEBOOTSTRAP 1 "02.07.2007" "1.0~a17" "live\-helper"
.SH NAME .SH NAME
lh_bootstrap_debootstrap \- erstellt ein Debian-System mit \fIdebootstrap\fR(8) lh_bootstrap_debootstrap \- erstellt ein Debian-System mit \fIdebootstrap\fR(8)

View File

@ -1,4 +1,4 @@
.TH LH_BOOTSTRAP_DEBOOTSTRAP 1 "2007\-06\-25" "1.0~a16" "live\-helper" .TH LH_BOOTSTRAP_DEBOOTSTRAP 1 "2007\-07\-02" "1.0~a17" "live\-helper"
.SH NAME .SH NAME
lh_bootstrap_debootstrap \- bootstrap a Debian system with \fIdebootstrap\fR(8) lh_bootstrap_debootstrap \- bootstrap a Debian system with \fIdebootstrap\fR(8)

View File

@ -1,4 +1,4 @@
.TH LH_BUILD 1 "25.06.2007" "1.0~a16" "live\-helper" .TH LH_BUILD 1 "02.07.2007" "1.0~a17" "live\-helper"
.SH NAME .SH NAME
lh_build \- erstellen eines Live-Systemes lh_build \- erstellen eines Live-Systemes

Some files were not shown because too many files have changed in this diff Show More