summaryrefslogtreecommitdiff
path: root/helpers
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2007-09-23 10:05:13 +0200
committerDaniel Baumann <daniel@debian.org>2011-03-09 18:22:25 +0100
commitcd5110f6b8eb77519d704972276cfd5be6bff055 (patch)
tree3bc1bcdbff4ec3bd5a82ae34d9efed47b157e3e0 /helpers
parentfdef63e60c2e68226da2fe92d6cc393c1af2b801 (diff)
downloadlive-build-cd5110f6b8eb77519d704972276cfd5be6bff055.zip
live-build-cd5110f6b8eb77519d704972276cfd5be6bff055.tar.gz
Adding live-helper 1.0~a17-1.
Diffstat (limited to 'helpers')
-rwxr-xr-xhelpers/lh_binary4
-rwxr-xr-xhelpers/lh_binary_debian-installer155
-rwxr-xr-xhelpers/lh_binary_disk109
-rwxr-xr-xhelpers/lh_binary_grub52
-rwxr-xr-xhelpers/lh_binary_hacks56
-rwxr-xr-xhelpers/lh_binary_includes66
-rwxr-xr-xhelpers/lh_binary_iso2
-rwxr-xr-xhelpers/lh_binary_linux-image27
-rwxr-xr-xhelpers/lh_binary_manifest19
-rwxr-xr-xhelpers/lh_binary_md5sum13
-rwxr-xr-xhelpers/lh_binary_memtest20
-rwxr-xr-xhelpers/lh_binary_rootfs2
-rwxr-xr-xhelpers/lh_binary_syslinux246
-rwxr-xr-xhelpers/lh_binary_usb-hdd4
-rwxr-xr-xhelpers/lh_binary_yaboot35
-rwxr-xr-xhelpers/lh_chroot2
-rwxr-xr-xhelpers/lh_chroot_hostname98
-rwxr-xr-xhelpers/lh_chroot_hosts14
-rwxr-xr-xhelpers/lh_chroot_resolv2
-rwxr-xr-xhelpers/lh_config5
-rwxr-xr-xhelpers/lh_source3
-rwxr-xr-xhelpers/lh_source_disk84
-rwxr-xr-xhelpers/lh_source_md5sum14
-rwxr-xr-xhelpers/lh_source_usb-hdd2
-rwxr-xr-xhelpers/make-live2
25 files changed, 767 insertions, 269 deletions
diff --git a/helpers/lh_binary b/helpers/lh_binary
index fb91cb3..e45491e 100755
--- a/helpers/lh_binary
+++ b/helpers/lh_binary
@@ -32,6 +32,7 @@ lh_chroot_proc install ${*}
lh_chroot_sysfs install ${*}
lh_chroot_hosts install ${*}
lh_chroot_resolv install ${*}
+lh_chroot_hostname install ${*}
lh_chroot_sources install ${*}
# Building root filesystem
@@ -46,9 +47,11 @@ lh_binary_memtest ${*}
lh_binary_grub ${*}
lh_binary_syslinux ${*}
lh_binary_yaboot ${*}
+lh_binary_disk ${*}
lh_binary_includes ${*}
lh_binary_local-includes ${*}
lh_binary_local-hooks ${*}
+lh_binary_hacks ${*}
lh_binary_md5sum ${*}
# Building images
@@ -59,6 +62,7 @@ lh_binary_usb-hdd ${*}
# Deconfiguring chroot
rm -f .stage/chroot_sources
+lh_chroot_hostname remove ${*}
lh_chroot_resolv remove ${*}
lh_chroot_hosts remove ${*}
lh_chroot_sysfs remove ${*}
diff --git a/helpers/lh_binary_debian-installer b/helpers/lh_binary_debian-installer
index 8bb9a77..4d98629 100755
--- a/helpers/lh_binary_debian-installer
+++ b/helpers/lh_binary_debian-installer
@@ -32,10 +32,29 @@ Read_conffile config/binary
Read_conffile config/source
Set_defaults
-if [ "${LIVE_DEBIAN_INSTALLER}" != "enabled" ]
-then
- exit 0
-fi
+# Setting remote d-i directories
+case "${LIVE_DEBIAN_INSTALLER}" in
+ netinst)
+ 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..."
@@ -55,7 +74,6 @@ Create_lockfile .lock
case "${LIVE_BINARY_IMAGES}" in
iso)
DESTDIR="binary/install"
- DI="cdrom"
;;
net)
@@ -68,7 +86,6 @@ case "${LIVE_BINARY_IMAGES}" in
tar|usb-hdd)
DESTDIR="binary/install"
- DI="hd-media"
# Workaround for syslinux (<< 3.36) which doesn't support long file/path names
if [ "${LIVE_DISTRIBUTION}" = "etch" ] && [ "${LIVE_BOOTLOADER}" = "syslinux" ]
@@ -130,17 +147,17 @@ if [ "${LIVE_DISTRIBUTION}" = "sid" ] # FIXME arch
then
case "${LIVE_ARCHITECTURE}" in
amd64)
- wget --no-clobber -O "${DESTDIR}"/"${VMLINUZ_DI}" http://people.debian.org/~aba/d-i/images/daily/cdrom/vmlinuz
- wget --no-clobber -O "${DESTDIR}"/"${INITRD_DI}" http://people.debian.org/~aba/d-i/images/daily/cdrom/initrd.gz
+ 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/${DI}/initrd.gz
;;
i386)
- wget --no-clobber -O "${DESTDIR}"/"${VMLINUZ_DI}" http://people.debian.org/~joeyh/d-i/images/daily/cdrom/vmlinuz
- wget --no-clobber -O "${DESTDIR}"/"${INITRD_DI}" http://people.debian.org/~joeyh/d-i/images/daily/cdrom/initrd.gz
+ 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/${DI}/initrd.gz
;;
esac
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
fi
@@ -153,43 +170,47 @@ then
then
case "${LIVE_ARCHITECTURE}" in
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}"/"${INITRD_GI}" http://people.debian.org/~aba/d-i/images/daily/cdrom/gtk/initrd.gz
+ 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/${DI_GTK}/initrd.gz
;;
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}"/"${INITRD_GI}" http://people.debian.org/~joeyh/d-i/images/daily/cdrom/gtk/initrd.gz
+ 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/${DI_GTK}/initrd.gz
;;
esac
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}"/"${INITRD_GI}" "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DI}"/gtk/initrd.gz
+ 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
fi
fi
-# Downloading additional packages
-mkdir -p chroot/binary.deb/archives/partial
-mv chroot/var/lib/dpkg/status chroot/var/lib/dpkg/status.tmp
-touch chroot/var/lib/dpkg/status
+if [ "${LIVE_DEBIAN_INSTALLER}" != "netinst" ]; then
+ # Downloading additional packages
+ mkdir -p chroot/binary.deb/archives/partial
+ mv chroot/var/lib/dpkg/status chroot/var/lib/dpkg/status.tmp
+ touch chroot/var/lib/dpkg/status
-case "${LIVE_ARCHITECTURE}" in
- amd64)
- DI_PACKAGES="linux-image-2.6-amd64 elilo lilo grub"
- ;;
+ case "${LIVE_ARCHITECTURE}" in
+ amd64)
+ DI_PACKAGES="linux-image-2.6-amd64 lilo grub"
+ ;;
- i386)
- DI_PACKAGES="linux-image-2.6-486 linux-image-2.6-686 elilo lilo grub"
- ;;
+ i386)
+ DI_PACKAGES="linux-image-2.6-486 linux-image-2.6-686 elilo lilo grub"
+ ;;
- 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?
- ;;
-esac
+ 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?
+ ;;
+ esac
+
+ DI_PACKAGES="${DI_PACKAGES} cryptsetup lvm2"
-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
+ 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
if [ -d cache/packages_bootstrap ]
@@ -221,6 +242,36 @@ then
done
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
mkdir -p binary/dists/${LIVE_DISTRIBUTION}/main/binary-${LIVE_ARCHITECTURE}
@@ -256,9 +307,21 @@ UDEBS="`awk '/Filename: / { print $2 }' Packages`"
# Downloading udebs
for UDEB in ${UDEBS}
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
+# 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
if ls ../config/binary_local-udebs/* &> /dev/null
then
@@ -345,25 +408,5 @@ done
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
Create_stagefile .stage/binary_debian-installer
diff --git a/helpers/lh_binary_disk b/helpers/lh_binary_disk
new file mode 100755
index 0000000..3bc1230
--- /dev/null
+++ b/helpers/lh_binary_disk
@@ -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
diff --git a/helpers/lh_binary_grub b/helpers/lh_binary_grub
index d559f63..8cf4ed7 100755
--- a/helpers/lh_binary_grub
+++ b/helpers/lh_binary_grub
@@ -45,35 +45,17 @@ Require_stagefile .stage/bootstrap
# Checking stage file
Check_stagefile .stage/binary_grub
+# Checking grub templates
+Check_templates grub
+
# Checking lock file
Check_lockfile .lock
# Creating lock file
Create_lockfile .lock
-if [ "${LIVE_ARCHITECTURE}" != "amd64" ] && [ "${LIVE_ARCHITECTURE}" != "i386" ]
-then
- 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
+# Check architecture
+Check_architecture amd64 i386
# Checking depends
Check_package chroot/usr/sbin/grub grub
@@ -93,13 +75,22 @@ esac
# Setting destination directory
case "${LIVE_BINARY_IMAGES}" in
- iso|tar|usb-hdd)
- DESTDIR_LIVE="binary/live"
+ iso|tar)
+ case "${LH_INITRAMFS}" in
+ casper)
+ DESTDIR_LIVE="binary/casper"
+ ;;
+
+ live-initramfs)
+ DESTDIR_LIVE="binary/live"
+ ;;
+ esac
+
DESTDIR_INSTALL="binary/install"
;;
- net)
- Echo_error "not supported, aborting (FIXME)."
+ usb-hdd|net)
+ Echo_error "not yet supported, aborting (FIXME)."
exit 1
;;
esac
@@ -165,6 +156,11 @@ then
esac
fi
+if [ "${LIVE_UNION_FILESYSTEM}" != "unionfs" ]
+then
+ LIVE_BOOTAPPEND="${LIVE_BOOTAPPEND} union=${LIVE_UNION_FILESYSTEM}"
+fi
+
LIVE_BOOTAPPEND="`echo ${LIVE_BOOTAPPEND} | sed -e 's/ //'`"
# Parameters are listed at: linux/Documentation/kernel-parameters.txt
@@ -194,7 +190,7 @@ fi
LINUX="`echo ${LINUX} | sed -e 's#//#/#g'`"
# Assembling debian-installer configuration
-if [ "${LIVE_DEBIAN_INSTALLER}" = "enabled" ]
+if [ "${LIVE_DEBIAN_INSTALLER}" != "disabled" ]
then
LINUX="title\t\tLive:\nroot\n\n${LINUX}"
diff --git a/helpers/lh_binary_hacks b/helpers/lh_binary_hacks
new file mode 100755
index 0000000..04759db
--- /dev/null
+++ b/helpers/lh_binary_hacks
@@ -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
diff --git a/helpers/lh_binary_includes b/helpers/lh_binary_includes
index 0841f40..6660699 100755
--- a/helpers/lh_binary_includes
+++ b/helpers/lh_binary_includes
@@ -84,14 +84,41 @@ case "${LIVE_ARCHITECTURE}" in
;;
esac
-if [ "${LIVE_DEBIAN_INSTALLER}" = "enabled" ]
+# Working arround vfat limitations
+if [ "${LIVE_BINARY_IMAGE}" = "usb-hdd" ]
then
- # Working arround vfat limitations
- if [ "${LIVE_BINARY_IMAGE}" = "usb-hdd" ]
- then
- CP_OPTIONS="-L"
- fi
+ CP_OPTIONS="-L"
+fi
+
+# Copying common templates
+if [ -d "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/common ] && \
+ls "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/common/* &> /dev/null
+then
+ cp -r ${CP_OPTIONS} "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/common/* binary
+fi
+
+if [ -d "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/common."${ARCH}" ] && \
+ls "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/common."${ARCH}"/* &> /dev/null
+then
+ cp -r ${CP_OPTIONS} "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/common."${ARCH}"/* binary
+fi
+
+# Copying live templates
+if [ -d "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/live ] && \
+ls "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/live/* &> /dev/null
+then
+ cp -r ${CP_OPTIONS} "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/live/* binary
+fi
+
+if [ -d "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/live."${ARCH}" ] && \
+ls "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/live."${ARCH}"/* &> /dev/null
+then
+ cp -r ${CP_OPTIONS} "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/live."${ARCH}"/* binary
+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
@@ -106,7 +133,19 @@ then
fi
# Adjusting install templates
- DEBIAN_NAME="Debian GNU/Linux 4.0 r0 \"Etch\" - Unofficial amd64 NETINST/LIVE Binary-1"
+ 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" ]
@@ -122,18 +161,5 @@ then
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
-# Copying live templates
-if [ -d "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/live ] && \
-ls "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/live/* &> /dev/null
-then
- cp -r ${CP_OPTIONS} "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/live/* binary
-fi
-
-if [ -d "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/live."${ARCH}" ] && \
-ls "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/live."${ARCH}"/* &> /dev/null
-then
- cp -r ${CP_OPTIONS} "${LIVE_INCLUDES}"/"${LIVE_DISTRIBUTION}"/live."${ARCH}"/* binary
-fi
-
# Creating stage file
Create_stagefile .stage/binary_includes
diff --git a/helpers/lh_binary_iso b/helpers/lh_binary_iso
index e6c8ccc..ce17db7 100755
--- a/helpers/lh_binary_iso
+++ b/helpers/lh_binary_iso
@@ -105,7 +105,7 @@ case "${LIVE_BOOTLOADER}" in
syslinux)
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" ]
then
diff --git a/helpers/lh_binary_linux-image b/helpers/lh_binary_linux-image
index c6bb3f8..153e476 100755
--- a/helpers/lh_binary_linux-image
+++ b/helpers/lh_binary_linux-image
@@ -52,7 +52,15 @@ rm -f chroot/boot/initrd*bak*
# Setting destination directory
case "${LIVE_BINARY_IMAGES}" in
iso)
- DESTDIR="binary/live"
+ case "${LH_INITRAMFS}" in
+ casper)
+ DESTDIR="binary/casper"
+ ;;
+
+ live-initramfs)
+ DESTDIR="binary/live"
+ ;;
+ esac
;;
net)
@@ -70,6 +78,20 @@ case "${LIVE_BINARY_IMAGES}" in
;;
esac
+case "${LIVE_ARCHITECTURE}" in
+ amd64)
+ LINUX="vmlinuz"
+ ;;
+
+ i386)
+ LINUX="vmlinuz"
+ ;;
+
+ powerpc)
+ LINUX="vmlinux"
+ ;;
+esac
+
# Temporary check for broken syslinux
if [ "${LIVE_BINARY_IMAGES}" = "iso" ]
then
@@ -79,17 +101,14 @@ then
case "${LIVE_ARCHITECTURE}" in
amd64)
DESTDIR="${DESTDIR}.amd"
- LINUX="vmlinuz"
;;
i386)
DESTDIR="${DESTDIR}.386"
- LINUX="vmlinuz"
;;
powerpc)
DESTDIR="${DESTDIR}.ppc"
- LINUX="vmlinux"
;;
esac
fi
diff --git a/helpers/lh_binary_manifest b/helpers/lh_binary_manifest
index 0ff6fa6..779d2ed 100755
--- a/helpers/lh_binary_manifest
+++ b/helpers/lh_binary_manifest
@@ -48,19 +48,22 @@ Create_lockfile .lock
case "${LH_INITRAMFS}" in
casper)
- INITFS="casper"
+ # Add filesystem.manifest
+ Chroot "dpkg --get-selections" | awk '{ print $1 }' | sort -u > binary/casper/filesystem.manifest
;;
live-initramfs)
- INITFS="live"
- ;;
-esac
+ # Add packages.list
+
+cat > binary/packages.txt << EOF
+This file contains the list of all packages installed in this live system.
-# 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
+EOF
+
+ Chroot "dpkg -l" >> binary/packages.txt
+ ;;
+esac
# Creating stage file
Create_stagefile .stage/binary_manifest
diff --git a/helpers/lh_binary_md5sum b/helpers/lh_binary_md5sum
index 861bce0..cb901c8 100755
--- a/helpers/lh_binary_md5sum
+++ b/helpers/lh_binary_md5sum
@@ -55,7 +55,18 @@ fi
# Calculating md5sums
cd binary
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}"
diff --git a/helpers/lh_binary_memtest b/helpers/lh_binary_memtest
index 329f566..2d413fd 100755
--- a/helpers/lh_binary_memtest
+++ b/helpers/lh_binary_memtest
@@ -74,7 +74,15 @@ Install_package
# Setting destination directory
case "${LIVE_BINARY_IMAGES}" in
iso)
- DESTDIR="binary/live"
+ case "${LH_INITRAMFS}" in
+ casper)
+ DESTDIR="binary/casper"
+ ;;
+
+ live-initramfs)
+ DESTDIR="binary/live"
+ ;;
+ esac
;;
net)
@@ -82,7 +90,15 @@ case "${LIVE_BINARY_IMAGES}" in
;;
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
if [ "${LIVE_DISTRIBUTION}" = "etch" ] && [ "${LIVE_BOOTLOADER}" = "syslinux" ]
diff --git a/helpers/lh_binary_rootfs b/helpers/lh_binary_rootfs
index 8c370b4..6f31f4e 100755
--- a/helpers/lh_binary_rootfs
+++ b/helpers/lh_binary_rootfs
@@ -153,7 +153,7 @@ case "${LIVE_CHROOT_FILESYSTEM}" in
if [ "${LIVE_PACKAGES_LISTS}" != "minimal" ] && [ "${LIVE_PACKAGES_LISTS}" != "mini" ]
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
if [ -f config/binary_rootfs/squashfs.sort ]
diff --git a/helpers/lh_binary_syslinux b/helpers/lh_binary_syslinux
index 73c29e5..bfd0c0f 100755
--- a/helpers/lh_binary_syslinux
+++ b/helpers/lh_binary_syslinux
@@ -45,35 +45,17 @@ Require_stagefile .stage/bootstrap
# Checking stage file
Check_stagefile .stage/binary_syslinux
+# Checking syslinux templates
+Check_templates syslinux
+
# Checking lock file
Check_lockfile .lock
# Creating lock file
Create_lockfile .lock
-if [ "${LIVE_ARCHITECTURE}" != "amd64" ] && [ "${LIVE_ARCHITECTURE}" != "i386" ]
-then
- 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
+# Check architecture
+Check_architecture amd64 i386
# Checking depends
Check_package chroot/usr/bin/syslinux syslinux
@@ -81,6 +63,47 @@ Check_package chroot/usr/bin/syslinux syslinux
# Installing depends
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
casper)
INITFS="casper"
@@ -94,17 +117,35 @@ esac
# Setting destination directory
case "${LIVE_BINARY_IMAGES}" in
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"
;;
net)
DESTDIR_LIVE="tftpboot"
DESTDIR_INSTALL="tftpboot"
- ;;
+ ;;
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"
# Workaround for syslinux (<< 3.36) which doesn't support long file/path names
@@ -177,69 +218,51 @@ then
esac
fi
+if [ "${LIVE_UNION_FILESYSTEM}" != "unionfs" ]
+then
+ LIVE_BOOTAPPEND="${LIVE_BOOTAPPEND} union=${LIVE_UNION_FILESYSTEM}"
+fi
+
LIVE_BOOTAPPEND="`echo ${LIVE_BOOTAPPEND} | sed -e 's/ //'`"
# Parameters are listed at: linux/Documentation/kernel-parameters.txt
FAILSAFE="noapic noapm nodma nomce nolapic nosmp vga=normal"
# 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
- if [ "`basename ${DESTDIR_LIVE}`" = "binary" ]
- then
- 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}"
- else
- 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"
- 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
+# Default entries
+DEFAULT_FLAVOUR="`echo ${LIVE_LINUX_FLAVOURS} | awk '{ print $1 }'`"
+DEFAULT_KERNEL="`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`"
+DEFAULT_INITRD="initrd.img-`echo ${DEFAULT_KERNEL} | sed -e 's/vmlinuz-//'`"
+
+Syslinux_live_entry "live" "${DEFAULT_KERNEL}" "${DEFAULT_INITRD}"
+Syslinux_live_entry "live-failsafe" "${DEFAULT_KERNEL}" "${DEFAULT_INITRD}" "${FAILSAFE}"
if [ "`echo ${LIVE_LINUX_FLAVOURS} | wc -w`" -gt "1" ]
then
for KERNEL in chroot/boot/vmlinuz*
do
- if [ -z "${LINUX}" ]
- then
- if [ "${LIVE_BINARY_IMAGES}" = "iso" ]
- 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"
- 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="# 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
+ KERNEL_IMAGE="`basename ${KERNEL}`"
+ KERNEL_VERSION="`echo ${KERNEL_IMAGE} | sed -e 's/vmlinuz-//'`"
+ INITRD="initrd.img-${KERNEL_VERSION}"
+
+ Syslinux_live_entry "live-${KERNEL_VERSION}" "${KERNEL_IMAGE}" "${INITRD}"
+ Syslinux_live_entry "live-${KERNEL_VERSION}-failsafe" "${KERNEL_IMAGE}" "${INITRD}" "${FAILSAFE}"
done
fi
-# Removing '//'
-LINUX="`echo ${LINUX} | sed -e 's#//#/#g'`"
+LINUX_LIVE="`echo ${LINUX_LIVE} | sed -e 's/binary//g' -e 's#//#/#g'`"
# Assembling debian-installer configuration
-if [ "${LIVE_DEBIAN_INSTALLER}" = "enabled" ]
+if [ "${LIVE_DEBIAN_INSTALLER}" != "disabled" ]
then
VMLINUZ_DI="vmlinuz"
INITRD_DI="initrd.gz"
+ APPEND_DI="vga=normal"
VMLINUZ_GI="gtk/vmlinuz"
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
if [ "${LIVE_DISTRIBUTION}" = "etch" ]
@@ -254,55 +277,31 @@ then
fi
fi
- # Workaround for syslinux (<< 3.36) which doesn't support long file/path names
- if [ "`basename ${DESTDIR_LIVE}`" = "binary" ]
- then
- LIVE_LINUX_INSTALL="LABEL install\n\tkernel ${VMLINUZ_DI}\n\tappend vga=normal initrd=${INITRD_DI} -- "
- LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL linux\n\tkernel ${VMLINUZ_DI}\n\tappend vga=normal initrd=${INITRD_DI} -- "
- LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL installgui\n\tkernel ${VMLINUZ_GI}\n\tappend video=vesa:ywrap,mtrr vga=788 initrd=${INITRD_GI} -- "
-
- LIVE_KENREL_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL expert\n\tkernel ${VMLINUZ_DI}\n\tappend priority=low vga=normal initrd=${INITRD_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} -- "
-
- 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
+ Syslinux_install_entry "linux" "${VMLINUZ_DI}" "${INITRD_DI}" "${APPEND_DI}"
+ Syslinux_install_entry "install" "${VMLINUZ_DI}" "${INITRD_DI}" "${APPEND_DI}"
+ Syslinux_install_entry "installgui" "${VMLINUZ_GI}" "${INITRD_GI}" "${APPEND_GI}"
+ Syslinux_install_entry "expert" "${VMLINUZ_DI}" "${INITRD_DI}" "priority=low ${APPEND_DI}"
+ Syslinux_install_entry "expertgui" "${VMLINUZ_GI}" "${INITRD_GI}" "priority=low ${APPEND_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}"
+ Syslinux_install_entry "auto" "${VMLINUZ_DI}" "${INITRD_DI}" "auto=true ${APPEND_DI}"
+ Syslinux_install_entry "autogui" "${VMLINUZ_GI}" "${INITRD_GI}" "auto=true ${APPEND_GI}"
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
if [ -f "${DESTDIR_LIVE}"/memtest ]
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
- # Workaround for syslinux (<< 3.36) which doesn't support long file/path names
- 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"
+ KERNEL_PATH=""
fi
+ MEMTEST="LABEL ${KERNEL_PATH}memtest\n\tkernel memtest"
MEMTEST="`echo ${MEMTEST} | sed -e 's#//#/#g'`"
fi
@@ -331,7 +330,7 @@ case "${LIVE_BINARY_IMAGES}" in
fi
# 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_DATE/`date +%Y%m%d`/" binary/isolinux/f1.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
if [ "`echo ${LIVE_LINUX_FLAVOURS} | wc -w`" -gt "1" ]
then
+ NUMBER="0"
+
+ # FIXME: This has a bug *iff* flavours = 686 686-bigmem (note the order).
+
for FLAVOUR in ${LIVE_LINUX_FLAVOURS}
do
- NUMBER=$(($NUMBER + 1))
+ NUMBER="$(($NUMBER + 1))"
mv "${DESTDIR_LIVE}"/vmlinuz-*-${FLAVOUR} "${DESTDIR_LIVE}"/vmlinuz${NUMBER}
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
else
mv "${DESTDIR_LIVE}"/vmlinuz-*-${LIVE_LINUX_FLAVOURS} "${DESTDIR_LIVE}"/vmlinuz
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
fi
+
+ # Remove whitespaces
+ sed -i -e 's/\ $//g' binary/isolinux/isolinux.cfg
;;
net)
@@ -385,7 +391,7 @@ case "${LIVE_BINARY_IMAGES}" in
fi
# 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_DATE/`date +%Y%m%d`/" tftpboot/pxelinux.cfg/f1.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
if [ "`echo ${LIVE_LINUX_FLAVOURS} | wc -w`" -gt "1" ]
then
+ NUMBER="0"
+
for FLAVOUR in ${LIVE_LINUX_FLAVOURS}
do
- NUMBER=$(($NUMBER + 1))
+ NUMBER="$(($NUMBER + 1))"
mv "${DESTDIR_LIVE}"/vmlinuz-*-${FLAVOUR} "${DESTDIR_LIVE}"/vmlinuz${NUMBER}
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
else
mv "${DESTDIR_LIVE}"/vmlinuz-*-${LIVE_LINUX_FLAVOURS} "${DESTDIR_LIVE}"/vmlinuz
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
fi
+
+ # Remove whitespaces
+ sed -i -e 's/\ $//g' binary/isolinux/isolinux.cfg
;;
tar|usb-hdd)
@@ -444,7 +455,7 @@ case "${LIVE_BINARY_IMAGES}" in
fi
# 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_DATE/`date +%Y%m%d`/" "${DESTDIR}"/f1.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
if [ "${LIVE_DISTRIBUTION}" = "etch" ] && [ "`echo ${LIVE_LINUX_FLAVOURS} | wc -w`" -gt "1" ]
then
+ NUMBER="0"
+
for FLAVOUR in ${LIVE_LINUX_FLAVOURS}
do
- NUMBER=$(($NUMBER + 1))
+ NUMBER="$(($NUMBER + 1))"
mv "${DESTDIR_LIVE}"/vmlinuz-*-${FLAVOUR} "${DESTDIR_LIVE}"/vmlinuz${NUMBER}
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
else
mv "${DESTDIR_LIVE}"/vmlinuz-*-${LIVE_LINUX_FLAVOURS} "${DESTDIR_LIVE}"/vmlinuz
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
+
+ # Remove whitespaces
+ sed -i -e 's/\ $//g' "${DESTDIR}"/syslinux.cfg
fi
;;
esac
diff --git a/helpers/lh_binary_usb-hdd b/helpers/lh_binary_usb-hdd
index a417238..71353da 100755
--- a/helpers/lh_binary_usb-hdd
+++ b/helpers/lh_binary_usb-hdd
@@ -108,7 +108,7 @@ lh_losetup $FREELO chroot/binary.img 1
Chroot " mkfs.vfat -F 16 -n DEBIAN_LIVE ${FREELO}"
mkdir -p chroot/binary.tmp
${LH_ROOT_COMMAND} mount ${FREELO} chroot/binary.tmp
-cp -r binary/* chroot/binary.tmp
+cp -rL binary/* chroot/binary.tmp
FIXME()
{
@@ -155,7 +155,7 @@ echo "!!! The above error/warning messages can be ignored !!!"
if [ -n "${MAKEDEV}" ]
then
- rm -f chroot/dev
+ rm -rf chroot/dev
mv chroot/dev.tmp chroot/dev
fi
diff --git a/helpers/lh_binary_yaboot b/helpers/lh_binary_yaboot
index 930c4cd..45090da 100755
--- a/helpers/lh_binary_yaboot
+++ b/helpers/lh_binary_yaboot
@@ -45,35 +45,17 @@ Require_stagefile .stage/bootstrap
# Checking stage file
Check_stagefile .stage/binary_yaboot
+# Checking yaboot templates
+Check_templates yaboot
+
# Checking lock file
Check_lockfile .lock
# Creating lock file
Create_lockfile .lock
-if [ "${LIVE_ARCHITECTURE}" != "powerpc" ] && [ "${LIVE_ARCHITECTURE}" != "ppc64" ]
-then
- 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
+# Check architecture
+Check_architecture powerpc ppc64
# Checking depends
Check_package chroot/usr/lib/yaboot/yaboot yaboot
@@ -159,6 +141,11 @@ then
esac
fi
+if [ "${LIVE_UNION_FILESYSTEM}" != "unionfs" ]
+then
+ LIVE_BOOTAPPEND="${LIVE_BOOTAPPEND} union=${LIVE_UNION_FILESYSTEM}"
+fi
+
LIVE_BOOTAPPEND="`echo ${LIVE_BOOTAPPEND} | sed -e 's/ //'`"
# Parameters are listed at: linux/Documentation/kernel-parameters.txt
@@ -202,7 +189,7 @@ fi
LINUX="`echo ${LINUX} | sed -e 's#//#/#g'`"
# Assembling debian-installer configuration
-if [ "${LIVE_DEBIAN_INSTALLER}" = "enabled" ]
+if [ "${LIVE_DEBIAN_INSTALLER}" != "disabled" ]
then
VMLINUZ_DI="vmlinuz"
INITRD_DI="initrd.gz"
diff --git a/helpers/lh_chroot b/helpers/lh_chroot
index 94e60e1..075e0e6 100755
--- a/helpers/lh_chroot
+++ b/helpers/lh_chroot
@@ -40,6 +40,7 @@ lh_chroot_debianchroot install ${*}
lh_chroot_sysvrc install ${*}
lh_chroot_hosts install ${*}
lh_chroot_resolv install ${*}
+lh_chroot_hostname install ${*}
lh_chroot_apt install ${*}
lh_chroot_sources install ${*}
lh_chroot_linux-image install ${*}
@@ -64,6 +65,7 @@ lh_chroot_interactive ${*}
lh_chroot_linux-image remove ${*}
lh_chroot_sources remove ${*}
lh_chroot_apt remove ${*}
+lh_chroot_hostname remove ${*}
lh_chroot_resolv remove ${*}
lh_chroot_hosts remove ${*}
lh_chroot_sysvrc remove ${*}
diff --git a/helpers/lh_chroot_hostname b/helpers/lh_chroot_hostname
new file mode 100755
index 0000000..be3b6af
--- /dev/null
+++ b/helpers/lh_chroot_hostname
@@ -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
diff --git a/helpers/lh_chroot_hosts b/helpers/lh_chroot_hosts
index 9807433..2cd8f08 100755
--- a/helpers/lh_chroot_hosts
+++ b/helpers/lh_chroot_hosts
@@ -51,13 +51,21 @@ case "${1}" in
if [ -f chroot/etc/hosts ]
then
# Save hosts file
- cp chroot/etc/hosts chroot/etc/hosts.orig
+ mv chroot/etc/hosts chroot/etc/hosts.orig
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 ]
then
- # Copy hosts file
- cp /etc/hosts chroot/etc/hosts
+ # Append hosts file
+ #grep -e "127.0.0.1" -e "127.0.1.1" /etc/hosts >> chroot/etc/hosts
+ cat /etc/hosts >> chroot/etc/hosts
fi
# Creating stage file
diff --git a/helpers/lh_chroot_resolv b/helpers/lh_chroot_resolv
index 5549ccb..2505172 100755
--- a/helpers/lh_chroot_resolv
+++ b/helpers/lh_chroot_resolv
@@ -51,7 +51,7 @@ case "${1}" in
if [ -f chroot/etc/resolv.conf ]
then
# Save resolv file
- cp chroot/etc/resolv.conf chroot/etc/resolv.conf.orig
+ mv chroot/etc/resolv.conf chroot/etc/resolv.conf.orig
fi
if [ -f /etc/resolv.conf ]
diff --git a/helpers/lh_config b/helpers/lh_config
index 67ecbfb..59d1ae6 100755
--- a/helpers/lh_config
+++ b/helpers/lh_config
@@ -236,6 +236,10 @@ cat > "${LIVE_ROOT}"/config/chroot << EOF
# (Default: ${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
# (Default: empty)
LIVE_HOOKS="${LIVE_HOOKS}"
@@ -291,6 +295,7 @@ EOF
# Creating lh_binary_* configuration
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-includes
mkdir -p "${LIVE_ROOT}"/config/binary_local-udebs
diff --git a/helpers/lh_source b/helpers/lh_source
index 40453cd..6e04bb4 100755
--- a/helpers/lh_source
+++ b/helpers/lh_source
@@ -35,11 +35,13 @@ Set_defaults
# Enabling network in chroot
lh_chroot_hosts install ${*}
lh_chroot_resolv install ${*}
+lh_chroot_hostname install ${*}
lh_chroot_sources install ${*}
# Preparing images
lh_source_debian-live ${*}
lh_source_debian ${*}
+lh_source_disk ${*}
lh_source_md5sum ${*}
# Building images
@@ -50,5 +52,6 @@ lh_source_usb-hdd ${*}
# Deconfiguring chroot
rm -f .stage/chroot_sources
+lh_chroot_hostname remove ${*}
lh_chroot_resolv remove ${*}
lh_chroot_hosts remove ${*}
diff --git a/helpers/lh_source_disk b/helpers/lh_source_disk
new file mode 100755
index 0000000..e765f3b
--- /dev/null
+++ b/helpers/lh_source_disk
@@ -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
diff --git a/helpers/lh_source_md5sum b/helpers/lh_source_md5sum
index 7674692..81caef4 100755
--- a/helpers/lh_source_md5sum
+++ b/helpers/lh_source_md5sum
@@ -60,7 +60,19 @@ fi
# Calculating md5sums
cd source
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}"
# Creating stage file
diff --git a/helpers/lh_source_usb-hdd b/helpers/lh_source_usb-hdd
index 903f2bb..3487b63 100755
--- a/helpers/lh_source_usb-hdd
+++ b/helpers/lh_source_usb-hdd
@@ -101,7 +101,7 @@ echo "!!! The above error/warning messages can be ignored !!!"
if [ -n "${MAKEDEV}" ]
then
- rm -f chroot/dev
+ rm -rf chroot/dev
mv chroot/dev.tmp chroot/dev
fi
diff --git a/helpers/make-live b/helpers/make-live
index fee621e..40b2617 100755
--- a/helpers/make-live
+++ b/helpers/make-live
@@ -18,7 +18,7 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# 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