summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/control2
-rw-r--r--debian/live-build.bug-script2
-rwxr-xr-xfunctions/defaults.sh24
-rwxr-xr-xscripts/build/binary1
-rwxr-xr-xscripts/build/binary_loadlin83
-rwxr-xr-xscripts/build/config12
6 files changed, 121 insertions, 3 deletions
diff --git a/debian/control b/debian/control
index bc7a9446c..5db07a55e 100644
--- a/debian/control
+++ b/debian/control
@@ -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
diff --git a/debian/live-build.bug-script b/debian/live-build.bug-script
index 0cf407a91..79276241f 100644
--- a/debian/live-build.bug-script
+++ b/debian/live-build.bug-script
@@ -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}:"
diff --git a/functions/defaults.sh b/functions/defaults.sh
index bd7f0a4f7..8af9c8455 100755
--- a/functions/defaults.sh
+++ b/functions/defaults.sh
@@ -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)
diff --git a/scripts/build/binary b/scripts/build/binary
index 4a17b8463..5098e429d 100755
--- a/scripts/build/binary
+++ b/scripts/build/binary
@@ -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 ${@}
diff --git a/scripts/build/binary_loadlin b/scripts/build/binary_loadlin
new file mode 100755
index 000000000..1e6a10e0c
--- /dev/null
+++ b/scripts/build/binary_loadlin
@@ -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
diff --git a/scripts/build/config b/scripts/build/config
index 27a6ba727..94a176803 100755
--- a/scripts/build/config
+++ b/scripts/build/config
@@ -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}"