Including loadlin on d-i images on amd64 and i386.

This commit is contained in:
Daniel Baumann 2012-09-29 13:20:21 +02:00
parent 6b12a3fb7d
commit 7fad1b698d
6 changed files with 121 additions and 3 deletions

2
debian/control vendored
View File

@ -16,7 +16,7 @@ Recommends:
live-boot-doc, live-config-doc, live-manual-html | live-manual, cpio,
gnu-fdisk
Suggests:
dosfstools, genisoimage, git, memtest86+ | memtest86, mtools, parted,
dosfstools, genisoimage, git, loadlin, memtest86+ | memtest86, mtools, parted,
squashfs-tools | mtd-tools, sudo | fakeroot, syslinux | grub,
uuid-runtime, win32-loader
Description: Debian Live - System build scripts

View File

@ -6,7 +6,7 @@ DEFAULT_SETTINGS="/etc/live/build.conf"
dpkg -l debootstrap cdebootstrap
# Checking suggests
dpkg -l dosfstools genisoimage memtest86+ memtest86 mtools parted squashfs-tools mtd-tools sudo fakeroot syslinux grub uuid-runtime win32-loader
dpkg -l dosfstools genisoimage loadlin memtest86+ memtest86 mtools parted squashfs-tools mtd-tools sudo fakeroot syslinux grub uuid-runtime win32-loader
if [ -e "${DEFAULT_SETTINGS}" ]; then
echo "Contents of ${DEFAULT_SETTINGS}:"

View File

@ -1123,6 +1123,30 @@ Set_defaults ()
# Setting memtest option
LB_MEMTEST="${LB_MEMTEST:-memtest86+}"
# Setting loadlin option
case "${LB_MODE}" in
progress|ubuntu|kubuntu)
;;
*)
case "${LB_ARCHITECTURES}" in
amd64|i386)
if [ "${LB_DEBIAN_INSTALLER}" != "false" ]
then
LB_LOADLIN="${LB_LOADLIN:-true}"
else
LB_LOADLIN="${LB_LOADLIN:-false}"
fi
;;
*)
LB_LOADLIN="${LB_LOADLIN:-false}"
;;
esac
;;
esac
# Setting win32-loader option
case "${LB_MODE}" in
progress|ubuntu|kubuntu)

View File

@ -68,6 +68,7 @@ lb binary_syslinux ${@}
lb binary_yaboot ${@}
lb binary_silo ${@}
lb binary_disk ${@}
lb binary_loadlin ${@}
lb binary_win32-loader ${@}
lb binary_includes ${@}
lb binary_hooks ${@}

83
scripts/build/binary_loadlin Executable file
View File

@ -0,0 +1,83 @@
#!/bin/sh
## live-build(7) - System Build Scripts
## Copyright (C) 2006-2012 Daniel Baumann <daniel@debian.org>
##
## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
## This is free software, and you are welcome to redistribute it
## under certain conditions; see COPYING for details.
set -e
# Including common functions
[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh
# Setting static variables
DESCRIPTION="$(Echo 'copy loadlin into binary')"
HELP=""
USAGE="${PROGRAM} [--force]"
Arguments "${@}"
# Reading configuration files
Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
Set_defaults
if [ "${LB_LOADLIN}" != "true" ]
then
exit 0
fi
Echo_message "Begin copying loadlin..."
# Requiring stage file
Require_stagefile .build/config .build/bootstrap
# Checking stage file
Check_stagefile .build/binary_loadlin
# Checking lock file
Check_lockfile .lock
# Creating lock file
Create_lockfile .lock
case "${LB_ARCHITECTURES}" in
amd64|i386)
if [ "${LB_BUILD_WITH_CHROOT}" = "true" ]
then
# Checking depends
Check_package chroot/usr/lib/loadlin/loadlin.exe.gz loadlin
# Restoring cache
Restore_cache cache/packages.binary
# Installing depends
Install_package
# Copying loadlin
mkdir -p binary/tools
gunzip -c chroot/usr/lib/loadlin/loadlin.exe.gz > binary/tools/loadlin.exe
gunzip -c chroot/usr/share/doc/loadlin/manual.txt.gz > binary/tools/loadlin.txt
# Saving cache
Save_cache cache/packages.binary
# Removing depends
Remove_package
else
# Copying loadlin
mkdir -p binary/tools
gunzip -c /usr/lib/loadlin/loadlin.exe.gz > binary/tools/loadlin.exe
gunzip -c /usr/share/doc/loadlin/manual.txt.gz > binary/tools/loadlin.txt
fi
;;
*)
Echo_warning "loadlin inclusion is set to true but not compatible with your architecture, ignoring."
;;
esac
# Creating stage file
Create_stagefile .build/binary_loadlin

View File

@ -132,6 +132,7 @@ USAGE="${PROGRAM} [--apt apt|aptitude]\n\
\t [--backports true|false]\n\
\t [--exposed-root true|false]\n\
\t [--verbose]\n\
\t [--loadlin true|false]\n\
\t [--win32-loader true|false]\n\
\t [--bootstrap-qemu-exclude PACKAGES]\n\
\t [--bootstrap-qemu-static PATH]\n\
@ -158,7 +159,7 @@ Local_arguments ()
iso-volume:,jffs2-eraseblock:,memtest:,net-root-filesystem:,net-root-mountoptions:,
net-root-path:,net-root-server:,net-cow-filesystem:,net-cow-mountoptions:,net-cow-path:,
net-cow-server:,net-tarball:,firmware-binary:,firmware-chroot:,swap-file-path:,swap-file-size:,syslinux-theme:,
win32-loader:,source:,source-images:,breakpoints,conffile:,debug,force,
loadlin:,win32-loader:,source:,source-images:,breakpoints,conffile:,debug,force,
help,ignore-system-defaults,quiet,usage,verbose,version,bootstrap-qemu-static:,bootstrap-qemu-arch:,
bootstrap-qemu-exclude:"
# Remove spaces added by indentation
@ -761,6 +762,11 @@ Local_arguments ()
shift 2
;;
--loadlin)
LB_LOADLIN="${2}"
shift 2
;;
--win32-loader)
LB_WIN32_LOADER="${2}"
shift 2
@ -1384,6 +1390,10 @@ LB_JFFS2_ERASEBLOCK=""
# (Default: ${LB_MEMTEST})
LB_MEMTEST="${LB_MEMTEST}"
# \$LB_LOADLIN: set loadlin
# (Default: ${LB_LOADLIN})
LB_LOADLIN="${LB_LOADLIN}"
# \$LB_WIN32_LOADER: set win32-loader
# (Default: ${LB_WIN32_LOADER})
LB_WIN32_LOADER="${LB_WIN32_LOADER}"