live-build/helpers/lh_binary_syslinux

609 lines
15 KiB
Plaintext
Raw Permalink Normal View History

2007-09-23 08:04:46 +00:00
#!/bin/sh
2007-09-23 08:04:48 +00:00
# lh_binary_syslinux(1) - installs syslinux into binary
2008-03-06 14:43:00 -01:00
# Copyright (C) 2006-2008 Daniel Baumann <daniel@debian.org>
2007-09-23 08:04:48 +00:00
#
# 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.
2007-09-23 08:04:46 +00:00
set -e
2007-09-23 08:05:11 +00:00
# Including common functions
LH_BASE="${LH_BASE:-/usr/share/live-helper}"
for FUNCTION in "${LH_BASE}"/functions/*.sh
2007-09-23 08:04:46 +00:00
do
2007-09-23 08:05:11 +00:00
. "${FUNCTION}"
2007-09-23 08:04:46 +00:00
done
2007-09-23 08:05:11 +00:00
# Setting static variables
2007-09-23 08:04:48 +00:00
DESCRIPTION="installs syslinux into binary"
HELP=""
USAGE="${PROGRAM} [--force]"
Arguments "${@}"
2007-09-23 08:04:46 +00:00
# Reading configuration files
2008-04-07 10:10:21 +00:00
Read_conffile config/all config/common config/bootstrap config/chroot config/binary config/source
2007-09-23 08:04:46 +00:00
Set_defaults
2007-09-23 08:05:17 +00:00
if [ "${LH_BOOTLOADER}" != "syslinux" ]
2007-09-23 08:04:50 +00:00
then
exit 0
fi
2007-09-23 08:05:11 +00:00
Echo_message "Begin installing syslinux..."
2007-09-23 08:04:49 +00:00
2007-09-23 08:04:46 +00:00
# Requiring stage file
2007-09-23 08:04:47 +00:00
Require_stagefile .stage/bootstrap
2007-09-23 08:04:46 +00:00
2007-09-23 08:04:50 +00:00
# Checking stage file
Check_stagefile .stage/binary_syslinux
2007-09-23 08:05:13 +00:00
# Checking syslinux templates
Check_templates syslinux
2007-09-23 08:05:13 +00:00
2007-09-23 08:04:46 +00:00
# Checking lock file
2007-09-23 08:04:47 +00:00
Check_lockfile .lock
2007-09-23 08:04:46 +00:00
# Creating lock file
2007-09-23 08:04:47 +00:00
Create_lockfile .lock
2007-09-23 08:04:46 +00:00
2007-09-23 08:05:13 +00:00
# Check architecture
Check_architecture amd64 i386
Check_crossarchitecture
2007-09-23 08:05:09 +00:00
2007-09-23 08:04:51 +00:00
# Checking depends
Check_package chroot/usr/bin/syslinux syslinux
2007-09-23 08:04:48 +00:00
2007-09-23 08:05:15 +00:00
# Restoring cache
Restore_cache cache/packages_binary
2007-09-23 08:04:51 +00:00
# Installing depends
Install_package
2007-09-23 08:04:48 +00:00
2007-09-23 08:05:14 +00:00
# Local functions
Utf8_to_latin1 ()
{
VALUE="${1}"
echo "${VALUE}" | iconv -f utf-8 -t latin1
}
2007-09-19 00:43:18 +00:00
Syslinux_memtest_entry ()
{
LABEL="${1}"
2007-11-11 11:57:11 -01:00
MENULABEL="$(Utf8_to_latin1 "${2}")"
2007-09-19 00:43:18 +00:00
KERNEL="${3}"
MEMTEST="${MEMTEST}\nLABEL ${LABEL}\n"
2007-11-13 11:49:41 -01:00
2007-09-19 00:43:18 +00:00
# Write the menu label if the syslinux menu is being use
MEMTEST="${MEMTEST}\tMENU LABEL ${MENULABEL}\n"
MEMTEST="${MEMTEST}\tkernel ${LIVE_KERNEL_PATH}/${KERNEL}\n"
MEMTEST="$(/bin/echo ${MEMTEST} | sed -e 's|//|/|g')"
2007-09-19 00:43:18 +00:00
}
2007-09-23 08:05:13 +00:00
Syslinux_live_entry ()
{
LABEL="${1}"
2007-11-11 11:57:11 -01:00
MENULABEL="$(Utf8_to_latin1 "${2}")"
2007-09-19 00:43:18 +00:00
MENULABEL="${2}"
KERNEL="${3}"
INITRD="${4}"
APPEND="${5}"
2007-09-23 08:05:13 +00:00
case "${LH_BINARY_IMAGES}" in
iso|usb-hdd)
NUMBER="$(ls -1 ${KERNEL_PATH} | grep 'vmlinuz[0-9]\+$' | wc -l)"
NUMBER="$((${NUMBER} +1))"
2007-11-13 11:49:41 -01:00
# Note: ISOLINUX will not find the kernel if the name ends in ".img".
mv ${KERNEL_PATH}/${KERNEL} ${KERNEL_PATH}/vmlinuz${NUMBER}
mv ${KERNEL_PATH}/${INITRD} ${KERNEL_PATH}/initrd${NUMBER}.img
2007-11-13 11:49:41 -01:00
KERNEL=vmlinuz${NUMBER}
INITRD=initrd${NUMBER}.img
;;
esac
2007-11-13 11:49:41 -01:00
# Regular kernel
2007-09-23 08:05:13 +00:00
LINUX_LIVE="${LINUX_LIVE}\nLABEL ${LABEL}\n"
2007-11-13 11:49:41 -01:00
2007-09-19 00:43:18 +00:00
# Write the menu label if the syslinux menu is being use
LINUX_LIVE="${LINUX_LIVE}\tMENU LABEL ${MENULABEL}\n"
LINUX_LIVE="${LINUX_LIVE}\tkernel ${LIVE_KERNEL_PATH}/${KERNEL}\n"
LINUX_LIVE="${LINUX_LIVE}\tappend initrd=${LIVE_KERNEL_PATH}/${INITRD} boot=${INITFS} ${LH_BOOTAPPEND_LIVE} ${APPEND}\n"
2007-09-19 00:43:18 +00:00
2007-11-13 11:49:41 -01:00
# Failsafe kernel
LINUX_LIVE="${LINUX_LIVE}\nLABEL ${LABEL}failsafe\n"
2007-11-13 11:49:41 -01:00
# Write the menu label if the syslinux menu is being use
LINUX_LIVE="${LINUX_LIVE}\tMENU LABEL ${MENULABEL} Failsafe\n"
LINUX_LIVE="${LINUX_LIVE}\tkernel ${LIVE_KERNEL_PATH}/${KERNEL}\n"
LINUX_LIVE="${LINUX_LIVE}\tappend initrd=${LIVE_KERNEL_PATH}/${INITRD} boot=${INITFS} ${LH_BOOTAPPEND_LIVE} ${APPEND} ${FAILSAFE}\n"
2007-09-23 08:05:13 +00:00
}
Syslinux_install_entry ()
{
LABEL="${1}"
KERNEL="${2}"
INITRD="${3}"
APPEND="${4}"
# Boot in quiet mode where appropriate
if [ "${LH_DISTRIBUTION}" != "etch" ]
2007-09-23 08:05:14 +00:00
then
QAPPEND="quiet"
2007-09-23 08:05:14 +00:00
fi
2007-11-13 11:49:41 -01:00
for TYPE in Install Expert Rescue Auto
do
case "${TYPE}" in
Install)
TAPPEND="${APPEND} ${QAPPEND}"
;;
2007-11-13 11:49:41 -01:00
Expert)
TAPPEND="priority=low ${APPEND}"
;;
2007-11-13 11:49:41 -01:00
Rescue)
TAPPEND="rescue/enable=true ${APPEND} ${QAPPEND}"
;;
2007-11-13 11:49:41 -01:00
Auto)
TAPPEND="auto=true priority=critical ${APPEND} ${QAPPEND}"
;;
esac
case "${LABEL}" in
Text)
TYPE_SUFFIX=""
;;
GUI)
TYPE_SUFFIX="gui"
;;
esac
LINUX_INSTALL="${LINUX_INSTALL}\nLABEL $(echo "${TYPE}" | tr A-Z a-z)${TYPE_SUFFIX}\n"
2007-11-13 11:49:41 -01:00
LINUX_INSTALL="${LINUX_INSTALL}\tMENU LABEL Start ${LABEL} ${TYPE}\n"
LINUX_INSTALL="${LINUX_INSTALL}\tkernel ${LIVE_INSTALL_KERNEL_PATH}/${KERNEL}\n"
LINUX_INSTALL="${LINUX_INSTALL}\tappend initrd=${LIVE_INSTALL_KERNEL_PATH}/${INITRD} ${TAPPEND} ${LH_BOOTAPPEND_INSTALL}\n"
done
2007-09-23 08:05:13 +00:00
}
Copy_syslinux_templates ()
{
2007-11-13 11:49:41 -01:00
cp -r "${TEMPLATES}"/common/* ${SCREEN_PATH}
if [ "${LH_SYSLINUX_MENU}" = "disabled" ]
then
cp "${TEMPLATES}"/normal/*.cfg ${SCREEN_PATH}
cp "${TEMPLATES}"/normal/data/* ${DATA_PATH}
else
cp "${TEMPLATES}"/menu/*.cfg ${SCREEN_PATH}
cp "${TEMPLATES}"/menu/data/* ${DATA_PATH}
# Grab menu binary from chroot
MENUMODULE=$(grep 'menu.c32' ${TEMPLATES}/menu/header.cfg | sed 's|default\s*.*/\(.*menu.c32\)$|\1|g')
2007-11-13 11:49:41 -01:00
cp chroot/usr/lib/syslinux/"${MENUMODULE}" ${DATA_PATH}
fi
2007-11-13 11:49:41 -01:00
if [ -d "${TEMPLATES}"/"${LH_LANGUAGE}" ]
then
cp -r "${TEMPLATES}"/"${LH_LANGUAGE}"/* ${SCREEN_PATH}
else
cp -r "${TEMPLATES}"/en/* ${SCREEN_PATH}
fi
2007-11-13 11:49:41 -01:00
for FILE in ${SCREEN_PATH}/*.live
do
mv ${FILE} $(dirname ${FILE})/$(basename ${FILE} .live)
done
if [ "${LH_DEBIAN_INSTALLER}" != "disabled" ]
then
for FILE in ${SCREEN_PATH}/*.install
do
2007-11-13 11:49:41 -01:00
mv ${FILE} $(dirname ${FILE})/$(basename ${FILE} .install)
done
case "${LH_ARCHITECTURE}" in
amd64|i386|powerpc)
for FILE in ${SCREEN_PATH}/*.install.g-i
do
mv ${FILE} $(dirname ${FILE})/$(basename ${FILE} .install.g-i)
done
;;
*)
rm -f ${SCREEN_PATH}/*.install.g-i
;;
esac
2007-11-13 11:49:41 -01:00
else
rm -f ${SCREEN_PATH}/*.install*
fi
2007-11-13 11:49:41 -01:00
# Copying custom splash screen
if [ "${LH_SYSLINUX_SPLASH}" = "none" ]
then
# no splash screen
SPLASH=""
rm -f ${SCREEN_PATH}/splash.rle
rm -f ${DATA_PATH}/splash.png
else
if [ "${LH_SYSLINUX_MENU}" = "disabled" ]
then
SPLASH="${LIVE_DATA_PATH}/splash.rle"
else
SPLASH="${LIVE_DATA_PATH}/splash.png"
2007-11-13 11:49:41 -01:00
fi
2007-11-13 11:49:41 -01:00
if [ -n "${LH_SYSLINUX_SPLASH}" ]
then
if [ ! -e "${LH_SYSLINUX_SPLASH}" ]
then
Echo_error "%s doen't exist" "${LH_SYSLINUX_SPLASH}"
2007-11-13 11:49:41 -01:00
exit 1
else
rm -f ${SCREEN_PATH}/splash.rle
rm -f ${DATA_PATH}/splash.png
cp -f "${LH_SYSLINUX_SPLASH}" ${DATA_PATH}/$(basename ${SPLASH})
fi
fi
2007-11-13 11:49:41 -01:00
fi
}
Configure_syslinux_templates ()
{
2007-11-13 11:49:41 -01:00
templates="$(find ${SYSLINUX_PATH} -type f -name '*.cfg' -o -name '*.txt')"
for template_file in ${templates}
do
sed -i -e "s|{\$LINUX_LIVE}|${LINUX_LIVE}|" \
-e "s|{\$LINUX_INSTALL}|${LINUX_INSTALL}|" \
-e "s|{\$MEMTEST}|${MEMTEST}|" \
-e "s|{\$LIVE_SCREEN_PATH}|${LIVE_SCREEN_PATH}|" \
-e "s|{\$LIVE_DATA_PATH}|${LIVE_DATA_PATH}|" \
-e "s|{\$LIVE_KERNEL_PATH}|${LIVE_KERNEL_PATH}|" \
-e "s|{\$SPLASH}|${SPLASH}|" \
-e "s|{\$LH_DISTRIBUTION}|${LH_DISTRIBUTION}|" \
-e "s|{\$LH_DATE}|$(date +%Y%m%d)|" \
-e "s|{\$LH_MEDIA}|${MEDIA}|" \
-e "s|{\$LH_VERSION}|${VERSION}|" \
-e "s|{\$LH_SYSLINUX_TIMEOUT}|${LH_SYSLINUX_TIMEOUT}0|" \
2007-11-13 11:49:41 -01:00
$template_file
done
# Syslinux v3.31 in etch does not support include statements
if [ "${LH_DISTRIBUTION}" = "etch" ]
then
while grep -qs ^include ${SCREEN_PATH}/syslinux.cfg
2007-11-13 11:49:41 -01:00
do
INCLUDES=$(grep ^include ${SCREEN_PATH}/syslinux.cfg |awk '{print $2}')
2007-11-13 11:49:41 -01:00
for FILE_PATH in ${INCLUDES}
do
2007-11-13 11:49:41 -01:00
FILE_NAME=$(basename ${FILE_PATH})
sed -i -e '\@include '${FILE_PATH}'@ {
r '${SCREEN_PATH}/${FILE_NAME}'
d
}' ${SCREEN_PATH}/syslinux.cfg
2007-11-13 11:49:41 -01:00
# remove the files, which were included
if [ -e ${SCREEN_PATH}/${FILE_NAME} ]
2007-11-13 11:49:41 -01:00
then
rm -f ${SCREEN_PATH}/${FILE_NAME}
fi
done
2007-11-13 11:49:41 -01:00
done
# Syslinux v3.31 in etch does not support sub directories, /path/kernel,
# when using FAT hard drive images, remove leading /'s
if [ "${LH_BINARY_IMAGES}" = "usb-hdd" ]
then
for FILE in ${SCREEN_PATH}/syslinux.cfg ${SCREEN_PATH}/boot.txt
do
sed -i -e 's|/||' ${FILE}
done
fi
fi
}
# Setting up common variables
2007-09-23 08:04:52 +00:00
case "${LH_INITRAMFS}" in
casper)
INITFS="casper"
;;
live-initramfs)
INITFS="live"
;;
esac
# Setting boot method specific variables
2007-09-23 08:05:17 +00:00
case "${LH_BINARY_IMAGES}" in
2007-09-23 08:04:50 +00:00
iso)
SYSLINUX_PATH="binary/isolinux"
2007-11-13 11:49:41 -01:00
KERNEL_PATH="binary/${INITFS}"
SCREEN_PATH="${SYSLINUX_PATH}"
DATA_PATH="${SCREEN_PATH}/data"
LIVE_KERNEL_PATH="/${INITFS}"
LIVE_INSTALL_KERNEL_PATH="/install"
LIVE_SCREEN_PATH="/isolinux"
LIVE_DATA_PATH="${LIVE_SCREEN_PATH}/data"
MEDIA="CD-ROM"
2007-09-23 08:04:50 +00:00
;;
net)
SYSLINUX_PATH="tftpboot"
2007-11-13 11:49:41 -01:00
KERNEL_PATH="${SYSLINUX_PATH}/debian-live/${LH_ARCHITECTURE}"
SCREEN_PATH="${SYSLINUX_PATH}/debian-live/${LH_ARCHITECTURE}/boot-screens"
DATA_PATH="${SCREEN_PATH}/data"
LIVE_KERNEL_PATH="debian-live/${LH_ARCHITECTURE}"
LIVE_INSTALL_KERNEL_PATH="debian-install/${LH_ARCHITECTURE}"
LIVE_SCREEN_PATH="debian-live/${LH_ARCHITECTURE}/boot-screens"
LIVE_DATA_PATH="${LIVE_SCREEN_PATH}/data"
MEDIA="netboot"
2007-09-23 08:05:13 +00:00
;;
2007-09-23 08:04:50 +00:00
2007-09-23 08:05:11 +00:00
tar|usb-hdd)
SYSLINUX_PATH="binary/syslinux"
2007-11-13 11:49:41 -01:00
KERNEL_PATH="binary/${INITFS}"
SCREEN_PATH="${SYSLINUX_PATH}"
DATA_PATH="${SCREEN_PATH}/data"
LIVE_KERNEL_PATH="/${INITFS}"
LIVE_INSTALL_KERNEL_PATH="/install"
LIVE_SCREEN_PATH="/syslinux"
LIVE_DATA_PATH="${LIVE_SCREEN_PATH}/data"
# Syslinux v3.31 in etch does not support sub directories, /path/kernel,
# when using FAT hard drive images
if [ "${LH_DISTRIBUTION}" = "etch" ] && [ "${LH_BINARY_IMAGES}" = "usb-hdd" ]
then
SYSLINUX_PATH="binary"
KERNEL_PATH="binary"
SCREEN_PATH="binary"
DATA_PATH="binary"
LIVE_KERNEL_PATH=""
LIVE_INSTALL_KERNEL_PATH=""
LIVE_SCREEN_PATH=""
LIVE_DATA_PATH=""
fi
2007-11-13 11:49:41 -01:00
MEDIA="hd-media"
2007-09-23 08:04:50 +00:00
;;
esac
2007-09-23 08:05:14 +00:00
Check_multiarchitecture
2007-09-23 08:04:48 +00:00
# Creating directories
mkdir -p "${KERNEL_PATH}"
mkdir -p "${SCREEN_PATH}"
mkdir -p "${DATA_PATH}"
2007-09-23 08:04:48 +00:00
2007-09-23 08:04:50 +00:00
# Setting boot parameters
case "${LH_ENCRYPTION}" in
""|disabled)
;;
*)
LH_BOOTAPPEND_LIVE="${LH_BOOTAPPEND_LIVE} encryption=${LH_ENCRYPTION}"
;;
esac
2007-09-23 08:04:46 +00:00
2007-09-23 08:05:17 +00:00
if [ -n "${LH_USERNAME}" ]
2007-09-23 08:04:50 +00:00
then
2007-09-23 08:05:09 +00:00
case "${LH_INITRAMFS}" in
casper)
LH_BOOTAPPEND_LIVE="${LH_BOOTAPPEND_LIVE} username=${LH_USERNAME}"
2007-09-23 08:05:09 +00:00
;;
live-initramfs)
2007-09-23 08:05:17 +00:00
if [ "${LH_USERNAME}" != "user" ]
2007-09-23 08:05:09 +00:00
then
LH_BOOTAPPEND_LIVE="${LH_BOOTAPPEND_LIVE} username=${LH_USERNAME}"
2007-09-23 08:05:09 +00:00
fi
;;
esac
2007-09-23 08:04:50 +00:00
fi
2007-09-23 08:04:48 +00:00
2007-09-23 08:05:17 +00:00
if [ -n "${LH_HOSTNAME}" ]
2007-09-23 08:04:50 +00:00
then
2007-09-23 08:05:11 +00:00
case "${LH_INITRAMFS}" in
2007-09-23 08:05:09 +00:00
casper)
LH_BOOTAPPEND_LIVE="${LH_BOOTAPPEND_LIVE} hostname=${LH_HOSTNAME}"
2007-09-23 08:05:09 +00:00
;;
live-initramfs)
2007-09-23 08:05:17 +00:00
if [ "${LH_HOSTNAME}" != "debian" ]
2007-09-23 08:05:09 +00:00
then
LH_BOOTAPPEND_LIVE="${LH_BOOTAPPEND_LIVE} hostname=${LH_HOSTNAME}"
2007-09-23 08:05:09 +00:00
fi
;;
esac
2007-09-23 08:04:50 +00:00
fi
2007-09-23 08:04:48 +00:00
2007-09-23 08:05:17 +00:00
if [ "${LH_UNION_FILESYSTEM}" != "unionfs" ]
2007-09-23 08:05:13 +00:00
then
LH_BOOTAPPEND_LIVE="${LH_BOOTAPPEND_LIVE} union=${LH_UNION_FILESYSTEM}"
2007-09-23 08:05:13 +00:00
fi
if [ "${LH_EXPOSED_ROOT}" != "disabled" ]
then
LH_BOOTAPPEND_LIVE="${LH_BOOTAPPEND_LIVE} exposedroot"
fi
2007-09-23 08:05:17 +00:00
if [ "${LH_BINARY_IMAGES}" = "net" ]
2007-09-23 08:05:14 +00:00
then
case "${LH_NET_ROOT_FILESYSTEM}" in
2007-09-23 08:05:14 +00:00
nfs)
LH_BOOTAPPEND_LIVE="${LH_BOOTAPPEND_LIVE} netboot=nfs nfsroot=${LH_NET_ROOT_SERVER}:${LH_NET_ROOT_PATH}"
2007-09-23 08:05:14 +00:00
;;
cifs)
LH_BOOTAPPEND_LIVE="${LH_BOOTAPPEND_LIVE} netboot=cifs nfsroot=//${LH_NET_ROOT_SERVER}${LH_NET_ROOT_PATH}"
2007-09-23 08:05:14 +00:00
;;
*)
Echo_error "Unsupported net filesystem"
exit 1
;;
esac
if [ -n "${LH_NET_ROOT_MOUNTOPTIONS}" ]
2007-09-23 08:05:14 +00:00
then
LH_BOOTAPPEND_LIVE="${LH_BOOTAPPEND_LIVE} nfsopts=${LH_NET_ROOT_MOUNTOPTIONS}"
2007-09-23 08:05:14 +00:00
fi
fi
if [ -n "${LH_NET_COW_PATH}" ]
then
case "${LH_NET_COW_FILESYSTEM}" in
2007-10-31 09:10:05 -01:00
nfs)
if [ -n "${LH_NET_COW_MOUNTOPTIONS}" ]
then
LH_NET_COW_MOUNTOPTIONS=",${LH_NET_COW_MOUNTOPTIONS}"
fi
2007-10-31 09:10:05 -01:00
LH_BOOTAPPEND_LIVE="${LH_BOOTAPPEND_LIVE} nfscow=${LH_NET_COW_SERVER}:${LH_NET_COW_PATH}${LH_NET_COW_MOUNTOPTIONS}"
2007-10-31 09:10:05 -01:00
;;
*)
Echo_error "Unsupported net filesystem"
exit 1
;;
esac
fi
LH_BOOTAPPEND_LIVE="$(echo ${LH_BOOTAPPEND_LIVE} | sed -e 's| ||')"
2007-09-23 08:04:48 +00:00
2007-09-23 08:04:50 +00:00
# Parameters are listed at: linux/Documentation/kernel-parameters.txt
FAILSAFE="noapic noapm nodma nomce nolapic nosmp vga=normal"
2007-09-23 08:04:48 +00:00
# Moving kernels into place
if [ "binary/${INITFS}" != "${KERNEL_PATH}" ]
then
mv binary/${INITFS}/vmlinuz* ${KERNEL_PATH}
mv binary/${INITFS}/initrd* ${KERNEL_PATH}
mv binary/${INITFS}/memtest ${KERNEL_PATH}
fi
2007-09-23 08:05:09 +00:00
2007-09-23 08:05:13 +00:00
# Default entries
DEFAULT_FLAVOUR="$(echo ${LH_LINUX_FLAVOURS} | awk '{ print $1 }')"
DEFAULT_KERNEL="$(basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR})"
DEFAULT_INITRD="initrd.img-$(echo ${DEFAULT_KERNEL} | sed -e 's|vmlinuz-||')"
2007-09-23 08:05:13 +00:00
Syslinux_live_entry "live" "${LH_SYSLINUX_MENU_LIVE_ENTRY}" "${DEFAULT_KERNEL}" "${DEFAULT_INITRD}"
2007-09-23 08:04:50 +00:00
if [ "$(echo ${LH_LINUX_FLAVOURS} | wc -w)" -gt "1" ]
2007-09-23 08:04:50 +00:00
then
for FLAVOUR in ${LH_LINUX_FLAVOURS}
2007-09-23 08:04:50 +00:00
do
if [ "${FLAVOUR}" != "${DEFAULT_FLAVOUR}" ]
then
FLAVOUR_KERNEL="$(basename chroot/boot/vmlinuz-*${FLAVOUR})"
FLAVOUR_INITRD="initrd.img-$(echo ${FLAVOUR_KERNEL} | sed -e 's|vmlinuz-||')"
Syslinux_live_entry "live-${FLAVOUR}" "${LH_SYSLINUX_MENU_LIVE_ENTRY} ${FLAVOUR}" "${FLAVOUR_KERNEL}" "${FLAVOUR_INITRD}"
fi
2007-09-23 08:04:50 +00:00
done
fi
2007-09-23 08:04:48 +00:00
2007-09-23 08:04:52 +00:00
# Assembling debian-installer configuration
2007-09-23 08:05:17 +00:00
if [ "${LH_DEBIAN_INSTALLER}" != "disabled" ]
2007-09-23 08:04:52 +00:00
then
2007-09-23 08:05:12 +00:00
VMLINUZ_DI="vmlinuz"
INITRD_DI="initrd.gz"
APPEND_DI="vga=normal DEBIAN_FRONTEND=newt"
2007-09-23 08:05:13 +00:00
APPEND_GI="video=vesa:ywrap,mtrr vga=788"
2007-09-23 08:05:12 +00:00
Syslinux_install_entry "Text" "${VMLINUZ_DI}" "${INITRD_DI}" "${APPEND_DI}"
Syslinux_install_entry "GUI" "${VMLINUZ_DI}" "${INITRD_DI}" "${APPEND_GI}"
2007-09-23 08:04:52 +00:00
fi
2007-09-23 08:04:50 +00:00
# Assembling memtest configuration
if [ -f "${KERNEL_PATH}"/memtest ]
2007-09-23 08:04:50 +00:00
then
2007-09-19 00:43:18 +00:00
Syslinux_memtest_entry "memtest" "${LH_SYSLINUX_MENU_MEMTEST_ENTRY}" "memtest"
2007-09-23 08:04:50 +00:00
fi
2007-09-23 08:04:48 +00:00
# Copy templates to base syslinux directory
Copy_syslinux_templates
# Fill in templates with created values
Configure_syslinux_templates
# Configure syslinux setup per boot method
2007-09-23 08:05:17 +00:00
case "${LH_BINARY_IMAGES}" in
2007-09-23 08:04:50 +00:00
iso)
2007-09-23 08:05:17 +00:00
case "${LH_CHROOT_BUILD}" in
2007-09-23 08:05:15 +00:00
enabled)
cp chroot/usr/lib/syslinux/isolinux.bin ${SCREEN_PATH}
2007-09-23 08:05:15 +00:00
;;
disabled)
cp /usr/lib/syslinux/isolinux.bin ${SCREEN_PATH}
2007-09-23 08:05:15 +00:00
;;
esac
mv ${SCREEN_PATH}/syslinux.cfg ${SCREEN_PATH}/isolinux.cfg
2007-09-23 08:05:14 +00:00
2007-09-19 00:43:18 +00:00
# Copying configuration file
if [ -n "${LH_SYSLINUX_CFG}" ]
then
cp "${LH_SYSLINUX_CFG}" ${SCREEN_PATH}/isolinux.cfg
2007-09-23 08:04:50 +00:00
fi
;;
2007-11-13 11:49:41 -01:00
2007-09-23 08:04:50 +00:00
net)
2007-09-23 08:05:17 +00:00
case "${LH_CHROOT_BUILD}" in
2007-09-23 08:05:15 +00:00
enabled)
cp chroot/usr/lib/syslinux/pxelinux.0 ${KERNEL_PATH}
2007-09-23 08:05:15 +00:00
;;
disabled)
cp /usr/lib/syslinux/pxelinux.0 ${KERNEL_PATH}
2007-09-23 08:05:15 +00:00
;;
esac
mkdir -p ${KERNEL_PATH}/pxelinux.cfg
2007-11-13 11:49:41 -01:00
ln -s ${LIVE_KERNEL_PATH}/pxelinux.cfg ${SYSLINUX_PATH}/pxelinux.cfg
ln -s ${LIVE_KERNEL_PATH}/pxelinux.0 ${SYSLINUX_PATH}/pxelinux.0
2007-09-23 08:05:16 +00:00
mv ${SCREEN_PATH}/syslinux.cfg ${KERNEL_PATH}/pxelinux.cfg/default
2007-09-23 08:05:16 +00:00
# Copying configuration file
if [ -n "${LH_SYSLINUX_CFG}" ]
2007-09-23 08:04:50 +00:00
then
cp "${LH_SYSLINUX_CFG}" ${KERNEL_PATH}/pxelinux.cfg/default
2007-09-23 08:04:50 +00:00
fi
;;
2007-11-13 11:49:41 -01:00
2007-09-23 08:05:11 +00:00
tar|usb-hdd)
2007-09-23 08:05:17 +00:00
case "${LH_CHROOT_BUILD}" in
2007-09-23 08:05:15 +00:00
enabled)
cp chroot/usr/lib/syslinux/isolinux.bin ${SCREEN_PATH}/syslinux.bin
2007-09-23 08:05:15 +00:00
;;
disabled)
cp /usr/lib/syslinux/isolinux.bin ${SCREEN_PATH}/syslinux.bin
2007-09-23 08:05:15 +00:00
;;
esac
# Copying configuration file
if [ -n "${LH_SYSLINUX_CFG}" ]
2007-09-23 08:04:50 +00:00
then
cp "${LH_SYSLINUX_CFG}" ${SCREEN_PATH}/syslinux.cfg
2007-09-23 08:04:50 +00:00
fi
;;
esac
2007-09-23 08:04:48 +00:00
2007-09-23 08:05:15 +00:00
# Saving cache
Save_cache cache/packages_binary
2007-09-23 08:04:51 +00:00
# Removing depends
Remove_package
2007-09-23 08:04:50 +00:00
# Creating stage file
Create_stagefile .stage/binary_syslinux