3 ## live-build(7) - System Build Scripts
4 ## Copyright (C) 2006-2010 Daniel Baumann <daniel@debian.org>
6 ## live-build comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
7 ## This is free software, and you are welcome to redistribute it
8 ## under certain conditions; see COPYING for details.
15 LB_BASE
="${LB_BASE:-/usr/share/live/build}"
18 if [ -z
"${LB_MODE}" ]
23 # Setting distribution name
24 if [ -z
"${LB_DISTRIBUTION}" ]
27 debian|debian
-release
)
28 LB_DISTRIBUTION
="squeeze"
36 LB_DISTRIBUTION
="karmic"
41 # Setting package manager
42 LB_APT
="${LB_APT:-apt}"
44 # Setting apt ftp proxy
45 if [ -z
"${LB_APT_FTP_PROXY}" ] && [ -n
"${ftp_proxy}" ]
47 LB_APT_FTP_PROXY
="${ftp_proxy}"
49 if [ -n
"${LB_APT_FTP_PROXY}" ] && [ "${LB_APT_FTP_PROXY}" != "${ftp_proxy}" ]
51 ftp_proxy
="${LB_APT_FTP_PROXY}"
55 # Setting apt http proxy
56 if [ -z
"${LB_APT_HTTP_PROXY}" ] && [ -n
"${http_proxy}" ]
58 LB_APT_HTTP_PROXY
="${http_proxy}"
60 if [ -n
"${LB_APT_HTTP_PROXY}" ] && [ "${LB_APT_HTT_PROXY}" != "${http_proxy}" ]
62 http_proxy
="${LB_APT_HTTP_PROXY}"
67 LB_APT_PDIFFS
="${LB_APT_PDIFFS:-true}"
69 # Setting apt pipeline
72 APT_OPTIONS
="${APT_OPTIONS:---yes}"
73 APTITUDE_OPTIONS
="${APTITUDE_OPTIONS:---assume-yes}"
75 GZIP_OPTIONS
="${GZIP_OPTIONS:---best}"
77 if gzip --help |
grep -qs
"\-\-rsyncable"
79 GZIP_OPTIONS
="$(echo ${GZIP_OPTIONS} | sed -e 's|--rsyncable||') --rsyncable"
82 # Setting apt recommends
84 debian|debian
-release|ubuntu
)
85 LB_APT_RECOMMENDS
="${LB_APT_RECOMMENDS:-true}"
89 LB_APT_RECOMMENDS
="${LB_APT_RECOMMENDS:-false}"
94 LB_APT_SECURE
="${LB_APT_SECURE:-true}"
96 # Setting bootstrap program
97 if [ -z
"${LB_BOOTSTRAP}" ] ||
( [ ! -x
"$(which ${LB_BOOTSTRAP} 2>/dev/null)" ] && [ "${LB_BOOTSTRAP}" != "copy" ] )
99 if [ -x
"/usr/sbin/debootstrap" ]
101 LB_BOOTSTRAP
="debootstrap"
102 elif [ -x
"/usr/bin/cdebootstrap" ]
104 LB_BOOTSTRAP
="cdebootstrap"
106 Echo_error
"Cannot find /usr/sbin/debootstrap or /usr/bin/cdebootstrap. Please install debootstrap or cdebootstrap, or specify an alternative bootstrapping utility."
111 # Setting cache option
112 LB_CACHE
="${LB_CACHE:-true}"
113 LB_CACHE_INDICES
="${LB_CACHE_INDICES:-false}"
114 LB_CACHE_PACKAGES
="${LB_CACHE_PACKAGES:-true}"
115 LB_CACHE_STAGES
="${LB_CACHE_STAGES:-bootstrap}"
117 # Setting debconf frontend
118 LB_DEBCONF_FRONTEND
="${LB_DEBCONF_FRONTEND:-noninteractive}"
119 LB_DEBCONF_NOWARNINGS
="${LB_DEBCONF_NOWARNINGS:-yes}"
120 LB_DEBCONF_PRIORITY
="${LB_DEBCONF_PRIORITY:-critical}"
122 case "${LB_DEBCONF_NOWARNINGS}" in
124 LB_DEBCONF_NOWARNINGS
="yes"
128 LB_DEBCONF_NOWARNINGS
="no"
132 # Setting initramfs hook
133 if [ -z
"${LB_INITRAMFS}" ]
137 if [ "${LB_INITRAMFS}" = "auto" ]
141 LB_INITRAMFS
="casper"
145 case "${LB_DISTRIBUTION}" in
147 LB_INITRAMFS
="live-boot"
151 LB_INITRAMFS
="live-initramfs"
160 if [ -z
"${LB_FDISK}" ] ||
[ ! -x
"${LB_FDISK}" ]
162 # Workaround for gnu-fdisk divertion
163 # (gnu-fdisk is buggy, #445304).
164 if [ -x
/sbin
/fdisk.distrib
]
166 LB_FDISK
="fdisk.distrib"
167 elif [ -x
/sbin
/fdisk
]
171 Echo_error
"Can't process file /sbin/fdisk"
176 if [ -z
"${LB_LOSETUP}" ] ||
[ "${LB_LOSETUP}" != "/sbin/losetup.orig" ]
178 # Workaround for loop-aes-utils divertion
179 # (loop-aes-utils' losetup lacks features).
180 if [ -x
/sbin
/losetup.orig
]
182 LB_LOSETUP
="losetup.orig"
183 elif [ -x
/sbin
/losetup
]
187 Echo_error
"Can't process file /sbin/losetup"
191 if [ "$(id -u)" = "0" ]
193 # If we are root, disable root command
196 if [ -x
/usr
/bin
/sudo
]
198 # FIXME: this is false until considered safe
199 #LB_ROOT_COMMAND="sudo"
205 LB_TASKSEL
="${LB_TASKSEL:-tasksel}"
207 # Setting root directory
208 if [ -z
"${LB_ROOT}" ]
211 debian|debian
-release
)
212 LB_ROOT
="debian-live"
216 LB_ROOT
="emdebian-live"
220 LB_ROOT
="ubuntu-live"
226 if [ -z
"${LB_INCLUDES}" ]
228 LB_INCLUDES
="${LB_BASE}/includes"
232 if [ -z
"${LB_TEMPLATES}" ]
234 LB_TEMPLATES
="${LB_BASE}/templates"
237 # Setting live build options
238 _BREAKPOINTS
="${_BREAKPOINTS:-false}"
239 _COLOR
="${_COLOR:-false}"
240 _DEBUG
="${_DEBUG:-false}"
241 _FORCE
="${_FORCE:-false}"
242 _QUIET
="${_QUIET:-false}"
243 _VERBOSE
="${_VERBOSE:-false}"
247 # Setting architecture value
248 if [ -z
"${LB_ARCHITECTURE}" ]
250 if [ -x
"/usr/bin/dpkg" ]
252 LB_ARCHITECTURE
="$(dpkg --print-architecture)"
254 case "$(uname -m)" in
256 LB_ARCHITECTURE
="$(uname -m)"
259 LB_ARCHITECTURE
="amd64"
262 Echo_warning
"Can't determine architecture, assuming i386"
263 LB_ARCHITECTURE
="i386"
269 # Include packages on base
270 # LB_BOOTSTRAP_INCLUDE
272 # Exclude packages on base
273 # LB_BOOTSTRAP_EXCLUDE
275 # Setting distribution configuration value
276 # LB_BOOTSTRAP_CONFIG
278 # Setting flavour value
279 case "${LB_BOOTSTRAP}" in
281 LB_BOOTSTRAP_FLAVOUR
="${LB_BOOTSTRAP_FLAVOUR:-standard}"
285 # Setting bootstrap keyring
286 # LB_BOOTSTRAP_KEYRING
288 # Setting mirror to fetch packages from
289 if [ -z
"${LB_MIRROR_BOOTSTRAP}" ]
292 debian|debian
-release
)
293 LB_MIRROR_BOOTSTRAP
="http://ftp.de.debian.org/debian/"
297 LB_MIRROR_BOOTSTRAP
="http://buildd.emdebian.org/grip/"
301 case "${LB_ARCHITECTURE}" in
303 LB_MIRROR_BOOTSTRAP
="http://archive.ubuntu.com/ubuntu/"
307 LB_MIRROR_BOOTSTRAP
="http://ports.ubuntu.com/"
314 LB_MIRROR_CHROOT
="${LB_MIRROR_CHROOT:-${LB_MIRROR_BOOTSTRAP}}"
316 # Setting security mirror to fetch packages from
317 if [ -z
"${LB_MIRROR_CHROOT_SECURITY}" ]
320 debian|debian
-release
)
321 LB_MIRROR_CHROOT_SECURITY
="http://security.debian.org/"
325 LB_MIRROR_CHROOT_SECURITY
="none"
329 case "${LB_ARCHITECTURE}" in
331 LB_MIRROR_CHROOT_SECURITY
="http://security.ubuntu.com/ubuntu/"
335 LB_MIRROR_CHROOT_SECURITY
="http://ports.ubuntu.com/"
342 # Setting volatile mirror to fetch packages from
343 if [ -z
"${LB_MIRROR_CHROOT_VOLATILE}" ]
346 debian|debian
-release
)
347 case "${LB_DISTRIBUTION}" in
349 LB_MIRROR_CHROOT_VOLATILE
="http://volatile.debian.org/debian-volatile/"
355 case "${LB_ARCHITECTURE}" in
357 LB_MIRROR_CHROOT_VOLATILE
="http://security.ubuntu.com/ubuntu/"
361 LB_MIRROR_CHROOT_VOLATILE
="http://ports.ubuntu.com/"
367 LB_MIRROR_CHROOT_VOLATILE
="${LB_MIRROR_CHROOT_VOLATILE:-none}"
370 # Setting backports mirror to fetch packages from
371 if [ -z
"${LB_MIRROR_CHROOT_BACKPORTS}" ]
374 debian|debian
-release
)
375 case "${LB_DISTRIBUTION}" in
377 LB_MIRROR_CHROOT_BACKPORTS
="http://backports.debian.org/debian-backports/"
383 LB_MIRROR_CHROOT_BACKPORTS
="${LB_MIRROR_CHROOT_BACKPORTS:-none}"
386 # Setting mirror which ends up in the image
387 if [ -z
"${LB_MIRROR_BINARY}" ]
390 debian|debian
-release
)
391 LB_MIRROR_BINARY
="http://cdn.debian.net/debian/"
395 LB_MIRROR_BINARY
="http://buildd.emdebian.org/grip/"
399 case "${LB_ARCHITECTURE}" in
401 LB_MIRROR_BINARY
="http://archive.ubuntu.com/ubuntu/"
405 LB_MIRROR_BINARY
="http://ports.ubuntu.com/"
412 # Setting security mirror which ends up in the image
413 if [ -z
"${LB_MIRROR_BINARY_SECURITY}" ]
416 debian|debian
-release
)
417 LB_MIRROR_BINARY_SECURITY
="http://security.debian.org/"
421 LB_MIRROR_BINARY_SECURITY
="none"
425 case "${LB_ARCHITECTURE}" in
427 LB_MIRROR_BINARY_SECURITY
="http://archive.ubuntu.com/ubuntu/"
431 LB_MIRROR_BINARY_SECURITY
="http://ports.ubuntu.com/"
438 # Setting volatile mirror which ends up in the image
439 if [ -z
"${LB_MIRROR_BINARY_VOLATILE}" ]
442 debian|debian
-release
)
443 case "${LB_DISTRIBUTION}" in
445 LB_MIRROR_BINARY_VOLATILE
="http://volatile.debian.org/debian-volatile/"
451 case "${LB_ARCHITECTURE}" in
453 LB_MIRROR_BINARY_VOLATILE
="http://security.ubuntu.com/ubuntu/"
457 LB_MIRROR_BINARY_VOLATILE
="http://ports.ubuntu.com/"
463 LB_MIRROR_BINARY_VOLATILE
="${LB_MIRROR_BINARY_VOLATILE:-none}"
466 # Setting backports mirror which ends up in the image
467 if [ -z
"${LB_MIRROR_BINARY_BACKPORTS}" ]
470 debian|debian
-release
)
471 case "${LB_DISTRIBUTION}" in
473 LB_MIRROR_BINARY_BACKPORTS
="http://backports.debian.org/debian-backports/"
479 LB_MIRROR_BINARY_BACKPORTS
="${LB_MIRROR_BINARY_BACKPORTS:-none}"
482 LB_MIRROR_DEBIAN_INSTALLER
="${LB_MIRROR_DEBIAN_INSTALLER:-${LB_MIRROR_BOOTSTRAP}}"
484 # Setting archive areas value
485 if [ -z
"${LB_ARCHIVE_AREAS}" ]
489 LB_ARCHIVE_AREAS
="main restricted"
493 LB_ARCHIVE_AREAS
="main"
500 # Setting chroot filesystem
501 LB_CHROOT_FILESYSTEM
="${LB_CHROOT_FILESYSTEM:-squashfs}"
503 # Setting virtual root size
504 LB_VIRTUAL_ROOT_SIZE
="${LB_VIRTUAL_ROOT_SIZE:-10000}"
506 # Setting whether to expose root filesystem as read only
507 LB_EXPOSED_ROOT
="${LB_EXPOSED_ROOT:-false}"
509 # Setting union filesystem
510 LB_UNION_FILESYSTEM
="${LB_UNION_FILESYSTEM:-aufs}"
514 # Setting interactive shell/X11/Xnest
515 LB_INTERACTIVE
="${LB_INTERACTIVE:-false}"
517 # Setting keyring packages
519 debian|debian
-release
)
520 LB_KEYRING_PACKAGES
="${LB_KEYRING_PACKAGES:-debian-archive-keyring}"
524 LB_KEYRING_PACKAGES
="${LB_KEYRING_PACKAGES:-debian-archive-keyring}"
528 LB_KEYRING_PACKAGES
="${LB_KEYRING_PACKAGES:-ubuntu-keyring}"
532 # Setting language string
533 LB_LANGUAGE
="${LB_LANGUAGE:-en}"
535 # Setting linux flavour string
536 if [ -z
"${LB_LINUX_FLAVOURS}" ]
538 case "${LB_ARCHITECTURE}" in
540 Echo_error
"There is no default kernel flavour defined for your architecture."
541 Echo_error
"Please configure it manually with 'lb config -k FLAVOUR'."
548 Echo_error
"Architecture ${LB_ARCHITECTURE} not supported on Ubuntu."
553 LB_LINUX_FLAVOURS
="alpha-generic"
561 LB_LINUX_FLAVOURS
="generic"
565 LB_LINUX_FLAVOURS
="amd64"
573 LB_LINUX_FLAVOURS
="hppa32 hppa64"
577 LB_LINUX_FLAVOURS
="parisc"
585 LB_LINUX_FLAVOURS
="generic"
591 LB_LINUX_FLAVOURS
="486"
595 LB_LINUX_FLAVOURS
="486 686"
603 LB_LINUX_FLAVOURS
="itanium"
609 LB_LINUX_FLAVOURS
="powerpc"
613 LB_LINUX_FLAVOURS
="powerpc powerpc64"
621 Echo_error
"Architecture ${LB_ARCHITECTURE} not supported on Ubuntu."
626 LB_LINUX_FLAVOURS
="s390"
632 LB_LINUX_FLAVOURS
="sparc64"
636 Echo_error
"Architecture ${LB_ARCHITECTURE} not yet supported (FIXME)"
643 if [ -z
"${LB_LINUX_PACKAGES}" ]
646 debian|debian
-release|embedian
)
647 case "${LB_DISTRIBUTION}" in
649 LB_LINUX_PACKAGES
="linux-image-2.6 \${LB_UNION_FILESYSTEM}-modules-2.6"
653 LB_LINUX_PACKAGES
="linux-image-2.6"
657 if [ "${LB_CHROOT_FILESYSTEM}" = "squashfs" ]
659 case "${LB_DISTRIBUTION}" in
661 LB_LINUX_PACKAGES
="${LB_LINUX_PACKAGES} squashfs-modules-2.6"
666 case "${LB_ENCRYPTION}" in
672 LB_LINUX_PACKAGES
="${LB_LINUX_PACKAGES} loop-aes-modules-2.6"
678 LB_LINUX_PACKAGES
="linux"
683 # Setting packages string
686 LB_PACKAGES
="${LB_PACKAGES:-ubuntu-minimal}"
690 LB_PACKAGES_LISTS
="${LB_PACKAGES_LISTS:-standard}"
694 case "${LB_ENCRYPTION}" in
700 if ! In_list loop
-aes
-utils
"${LB_PACKAGES}"
702 LB_PACKAGES
="${LB_PACKAGES} loop-aes-utils"
707 # Setting tasks string
708 for LIST
in ${LB_PACKAGES_LISTS}
716 LB_PACKAGES_LISTS
="$(echo ${LB_PACKAGES_LISTS} | sed -e 's|gnome-desktop||') standard-x11"
717 case "${LB_DISTRIBUTION}" in
719 LB_TASKS
="$(echo ${LB_TASKS} | sed -e 's|standard||' -e 's|gnome-desktop||' -e 's|desktop||') standard gnome-desktop desktop"
723 LB_TASKS
="$(echo ${LB_TASKS} | sed -e 's|standard||' -e 's|gnome-desktop||' -e 's|desktop||' -e 's|laptop||') standard gnome-desktop desktop laptop"
729 LB_PACKAGES_LISTS
="$(echo ${LB_PACKAGES_LISTS} | sed -e 's|kde-desktop||') standard-x11"
731 case "${LB_DISTRIBUTION}" in
733 LB_TASKS
="$(echo ${LB_TASKS} | sed -e 's|standard||' -e 's|kde-desktop||' -e 's|desktop||') standard kde-desktop desktop"
737 LB_TASKS
="$(echo ${LB_TASKS} | sed -e 's|standard||' -e 's|kde-desktop||' -e 's|desktop||' -e 's|laptop||') standard kde-desktop desktop laptop"
742 LB_PACKAGES_LISTS
="$(echo ${LB_PACKAGES_LISTS} | sed -e 's|lxde-desktop||') standard-x11"
744 case "${LB_DISTRIBUTION}" in
746 LB_TASKS
="$(echo ${LB_TASKS} | sed -e 's|standard||' -e 's|lxde-desktop||' -e 's|desktop||') standard lxde-desktop desktop"
750 LB_TASKS
="$(echo ${LB_TASKS} | sed -e 's|standard||' -e 's|lxde-desktop||' -e 's|desktop||' -e 's|laptop||') standard lxde-desktop desktop laptop"
756 LB_PACKAGES_LISTS
="$(echo ${LB_PACKAGES_LISTS} | sed -e 's|xfce-desktop||') standard-x11"
758 case "${LB_DISTRIBUTION}" in
760 LB_TASKS
="$(echo ${LB_TASKS} | sed -e 's|standard||' -e 's|xfce-desktop||' -e 's|desktop||') standard xfce-desktop desktop"
764 LB_TASKS
="$(echo ${LB_TASKS} | sed -e 's|standard||' -e 's|xfce-desktop||' -e 's|desktop||' -e 's|laptop||') standard xfce-desktop desktop laptop"
771 LB_PACKAGES_LISTS
="$(echo ${LB_PACKAGES_LISTS} | sed -e 's| ||g')"
772 LB_TASKS
="$(echo ${LB_TASKS} | sed -e 's| ||g')"
774 # Setting security updates option
775 if [ "${LB_MIRROR_CHROOT_SECURITY}" = "none" ] ||
[ "${LB_MIRROR_BINARY_SECURITY}" = "none" ]
780 LB_SECURITY
="${LB_SECURITY:-true}"
782 # Setting volatile updates option
783 if [ "${LB_MIRROR_CHROOT_VOLATILE}" = "none" ] ||
[ "${LB_MIRROR_BINARY_VOLATILE}" = "none" ]
788 LB_VOLATILE
="${LB_VOLATILE:-true}"
790 # Setting symlink convertion option
791 LB_SYMLINKS
="${LB_SYMLINKS:-false}"
793 # Setting sysvinit option
794 LB_SYSVINIT
="${LB_SYSVINIT:-false}"
798 # Setting image filesystem
799 case "${LB_ARCHITECTURE}" in
801 LB_BINARY_FILESYSTEM
="${LB_BINARY_FILESYSTEM:-ext2}"
805 LB_BINARY_FILESYSTEM
="${LB_BINARY_FILESYSTEM:-fat16}"
810 case "${LB_DISTRIBUTION}" in
812 case "${LB_ARCHITECTURE}" in
814 LB_BINARY_IMAGES
="${LB_BINARY_IMAGES:-iso-hybrid}"
818 LB_BINARY_IMAGES
="${LB_BINARY_IMAGES:-iso}"
824 LB_BINARY_IMAGES
="${LB_BINARY_IMAGES:-iso}"
828 # Setting apt indices
829 if echo ${LB_PACKAGES_LISTS} |
grep -qs
-E
"(stripped|minimal)\b"
831 LB_BINARY_INDICES
="${LB_BINARY_INDICES:-none}"
833 LB_BINARY_INDICES
="${LB_BINARY_INDICES:-true}"
837 if [ -z
"${LB_BOOTLOADER}" ]
839 case "${LB_ARCHITECTURE}" in
841 LB_BOOTLOADER
="syslinux"
845 LB_BOOTLOADER
="yaboot"
855 LB_CHECKSUMS
="${LB_CHECKSUMS:-md5}"
857 # Setting chroot option
858 LB_BUILD_WITH_CHROOT
="${LB_BUILD_WITH_CHROOT:-true}"
860 # Setting debian-installer option
861 LB_DEBIAN_INSTALLER
="${LB_DEBIAN_INSTALLER:-false}"
863 # Setting debian-installer distribution
864 LB_DEBIAN_INSTALLER_DISTRIBUTION
="${LB_DEBIAN_INSTALLER_DISTRIBUTION:-${LB_DISTRIBUTION}}"
866 # Setting debian-installer-gui
869 LB_DEBIAN_INSTALLER_GUI
="${LB_DEBIAN_INSTALLER_GUI:-true}"
873 case "${LB_DEBIAN_INSTALLER_DISTRIBUTION}" in
875 # Not available for Karmic currently.
876 LB_DEBIAN_INSTALLER_GUI
="${LB_DEBIAN_INSTALLER_GUI:-false}"
880 LB_DEBIAN_INSTALLER_GUI
="${LB_DEBIAN_INSTALLER_GUI:-true}"
886 LB_DEBIAN_INSTALLER_GUI
="${LB_DEBIAN_INSTALLER_GUI:-false}"
890 # Setting debian-installer preseed filename
891 if [ -z
"${LB_DEBIAN_INSTALLER_PRESEEDFILE}" ]
893 if Find_files config
/binary_debian
-installer
/preseed.cfg
895 LB_DEBIAN_INSTALLER_PRESEEDFILE
="/preseed.cfg"
898 if Find_files config
/binary_debian
-installer
/*.cfg
&& [ ! -e config
/binary_debian
-installer
/preseed.cfg
]
900 Echo_warning
"You have placed some preseeding files into config/binary_debian-installer but you didn't specify the default preseeding file through LB_DEBIAN_INSTALLER_PRESEEDFILE. This means that debian-installer will not take up a preseeding file by default."
904 # Setting boot parameters
906 if [ -n
"${LB_DEBIAN_INSTALLER_PRESEEDFILE}" ]
908 case "${LB_BINARY_IMAGES}" in
910 _LB_BOOTAPPEND_PRESEED
="file=/cdrom/install/${LB_DEBIAN_INSTALLER_PRESEEDFILE}"
914 if [ "${LB_MODE}" = "ubuntu" ] ||
[ "${LB_DEBIAN_INSTALLER}" = "live" ]
916 _LB_BOOTAPPEND_PRESEED
="file=/cdrom/install/${LB_DEBIAN_INSTALLER_PRESEEDFILE}"
918 _LB_BOOTAPPEND_PRESEED
="file=/hd-media/install/${LB_DEBIAN_INSTALLER_PRESEEDFILE}"
923 case "${LB_DEBIAN_INSTALLER_PRESEEDFILE}" in
925 _LB_BOOTAPPEND_PRESEED
="file=${LB_DEBIAN_INSTALLER_PRESEEDFILE}"
929 _LB_BOOTAPPEND_PRESEED
="file=/${LB_DEBIAN_INSTALLER_PRESEEDFILE}"
936 case "${LB_BINARY_IMAGES}" in
938 # Try USB block devices for install media
939 if ! echo "${LB_BOOTAPPEND_INSTALL}" |
grep -q try
-usb
941 LB_BOOTAPPEND_INSTALL
="cdrom-detect/try-usb=true ${LB_BOOTAPPEND_INSTALL}"
946 if [ -n
${_LB_BOOTAPPEND_PRESEED} ]
948 LB_BOOTAPPEND_INSTALL
="${LB_BOOTAPPEND_INSTALL} ${_LB_BOOTAPPEND_PRESEED}"
951 LB_BOOTAPPEND_INSTALL
="$(echo ${LB_BOOTAPPEND_INSTALL} | sed -e 's/[ \t]*$//')"
954 LB_ENCRYPTION
="${LB_ENCRYPTION:-false}"
956 # Setting grub splash
960 if [ -z
"${LB_HOSTNAME}" ]
964 LB_HOSTNAME
="embedian"
978 if [ -z
"${LB_ISO_APPLICATION}" ]
981 debian|debian
-release
)
982 LB_ISO_APPLICATION
="Debian Live"
986 LB_ISO_APPLICATION
="Emdebian Live"
990 LB_ISO_APPLICATION
="Ubuntu Live"
996 LB_ISO_PREPARER
="${LB_ISO_PREPARER:-live-build \$VERSION; http://packages.qa.debian.org/live-build}"
999 LB_ISO_PUBLISHER
="${LB_ISO_PUBLISHER:-Debian Live project; http://live.debian.net/; debian-live@lists.debian.org}"
1001 # Setting iso volume
1002 if [ -z
"${LB_ISO_VOLUME}" ]
1004 case "${LB_MODE}" in
1006 LB_ISO_VOLUME
="Debian ${LB_DISTRIBUTION} \$(date +%Y%m%d-%H:%M)"
1010 eval VERSION
="$`echo RELEASE_${LB_DISTRIBUTION}`"
1011 LB_ISO_VOLUME
="Debian ${VERSION} ${LB_ARCHITECTURE} live"
1015 LB_ISO_VOLUME
="Emdebian ${LB_DISTRIBUTION} \$(date +%Y%m%d-%H:%M)"
1019 LB_ISO_VOLUME
="Ubuntu ${LB_DISTRIBUTION} \$(date +%Y%m%d-%H:%M)"
1024 # Setting memtest option
1025 LB_MEMTEST
="${LB_MEMTEST:-memtest86+}"
1027 # Setting win32-loader option
1028 if [ "${LB_MODE}" != "ubuntu" ]
1030 case "${LB_ARCHITECTURE}" in
1032 if [ "${LB_DEBIAN_INSTALLER}" != "false" ]
1034 LB_WIN32_LOADER
="${LB_WIN32_LOADER:-true}"
1036 LB_WIN32_LOADER
="${LB_WIN32_LOADER:-false}"
1041 LB_WIN32_LOADER
="${LB_WIN32_LOADER:-false}"
1046 # Setting netboot filesystem
1047 LB_NET_ROOT_FILESYSTEM
="${LB_NET_ROOT_FILESYSTEM:-nfs}"
1049 # Setting netboot server path
1050 if [ -z
"${LB_NET_ROOT_PATH}" ]
1052 case "${LB_MODE}" in
1053 debian|debian
-release
)
1054 LB_NET_ROOT_PATH
="/srv/debian-live"
1058 LB_NET_ROOT_PATH
="/srv/emdebian-live"
1062 LB_NET_ROOT_PATH
="/srv/ubuntu-live"
1067 # Setting netboot server address
1068 LB_NET_ROOT_SERVER
="${LB_NET_ROOT_SERVER:-192.168.1.1}"
1070 # Setting net cow filesystem
1071 LB_NET_COW_FILESYSTEM
="${LB_NET_COW_FILESYSTEM:-nfs}"
1073 # Setting net tarball
1074 LB_NET_TARBALL
="${LB_NET_TARBALL:-gzip}"
1076 # Setting syslinux configuration file
1079 # Setting syslinux splash
1080 # LB_SYSLINUX_SPLASH
1082 LB_SYSLINUX_TIMEOUT
="${LB_SYSLINUX_TIMEOUT:-0}"
1084 # Setting syslinux menu
1085 LB_SYSLINUX_MENU
="${LB_SYSLINUX_MENU:-true}"
1087 # Setting syslinux menu live entries
1088 case "${LB_MODE}" in
1089 debian|debian
-release
)
1090 LB_SYSLINUX_MENU_LIVE_ENTRY
="${LB_SYSLINUX_MENU_LIVE_ENTRY:-Live}"
1091 LB_SYSLINUX_MENU_LIVE_ENTRY_FAILSAFE
="${LB_SYSLINUX_MENU_LIVE_ENTRY_FAILSAFE:-${LB_SYSLINUX_MENU_LIVE_ENTRY} (failsafe)}"
1095 LB_SYSLINUX_MENU_LIVE_ENTRY
="${LB_SYSLINUX_MENU_LIVE_ENTRY:-Start ${LB_ISO_APPLICATION}}"
1096 LB_SYSLINUX_MENU_LIVE_ENTRY_FAILSAFE
="${LB_SYSLINUX_MENU_LIVE_ENTRY_FAILSAFE:-${LB_SYSLINUX_MENU_LIVE_ENTRY} (failsafe)}"
1100 # Settings memtest menu entry
1101 LB_SYSLINUX_MENU_MEMTEST_ENTRY
="${LB_SYSLINUX_MENU_MEMTEST_ENTRY:-Memory test}"
1104 case "${LB_MODE}" in
1106 LB_USERNAME
="${LB_USERNAME:-ubuntu}"
1110 LB_USERNAME
="${LB_USERNAME:-user}"
1116 # Setting source option
1117 LB_SOURCE
="${LB_SOURCE:-false}"
1119 # Setting image type
1120 LB_SOURCE_IMAGES
="${LB_SOURCE_IMAGES:-tar}"
1122 # Setting fakeroot/fakechroot
1123 LB_USE_FAKEROOT
="${LB_USE_FAKEROOT:-false}"
1128 if [ "${LB_CONFIG_VERSION}" ]
1130 # We're only checking when we're actually running the checks
1131 # that's why the check for emptyness of the version;
1132 # however, as live-build always declares LB_CONFIG_VERSION
1133 # internally, this is safe assumption (no cases where it's unset,
1134 # except when bootstrapping the functions/defaults etc.).
1135 CURRENT_CONFIG_VERSION
="$(echo ${LB_CONFIG_VERSION} | awk -F. '{ print $1 }')"
1137 if [ ${CURRENT_CONFIG_VERSION} -ge
3 ]
1139 Echo_error
"This config tree is too new for this version of live-build (${VERSION})."
1140 Echo_error
"Aborting build, please get a new version of live-build."
1143 elif [ ${CURRENT_CONFIG_VERSION} -eq
1 ]
1145 Echo_error
"This config tree is too old for this version of live-build (${VERSION})."
1146 Echo_error
"Aborting build, please repopulate the config tree."
1148 elif [ ${CURRENT_CONFIG_VERSION} -lt
1 ]
1150 Echo_warning
"This config tree does not specify a format version or has an unknown version number."
1151 Echo_warning
"Continuing build, but it could lead to errors or different results. Please repopulate the config tree."
1155 if echo ${LB_PACKAGES_LISTS} |
grep -qs
-E
"(stripped|minimal)\b"
1157 # aptitude + stripped|minimal
1158 if [ "${LB_APT}" = "aptitude" ]
1160 Echo_warning
"You selected LB_PACKAGES_LISTS='%s' and LB_APT='aptitude'" "${LB_PACKAGES_LIST}. This configuration is potentially unsafe, as aptitude is not used in the stripped/minimal package lists."
1164 if [ "${LB_DEBIAN_INSTALLER}" != "false" ]
1166 # d-i true, no caching
1167 if ! echo ${LB_CACHE_STAGES} |
grep -qs
"bootstrap\b" ||
[ "${LB_CACHE}" != "true" ] ||
[ "${LB_CACHE_PACKAGES}" != "true" ]
1169 Echo_warning
"You have selected values of LB_CACHE, LB_CACHE_PACKAGES, LB_CACHE_STAGES and LB_DEBIAN_INSTALLER which will result in 'bootstrap' packages not being cached. This configuration is potentially unsafe as the bootstrap packages are re-used when integrating the Debian Installer."
1173 if [ "${LB_BOOTLOADER}" = "syslinux" ]
1176 case "${LB_BINARY_FILESYSTEM}" in
1180 Echo_warning
"You have selected values of LB_BOOTLOADER and LB_BINARY_FILESYSTEM which are incompatible - syslinux only supports FAT filesystems."
1185 case "${LB_BINARY_IMAGES}" in
1187 # grub or yaboot + usb
1188 case "${LB_BOOTLOADER}" in
1190 Echo_error
"You have selected a combination of bootloader and image type that is currently not supported by live-build. Please use either another bootloader or a different image type."
1197 if [ "$(echo ${LB_ISO_APPLICATION} | wc -c)" -gt
128 ]
1199 Echo_warning
"You have specified a value of LB_ISO_APPLICATION that is too long; the maximum length is 128 characters."
1202 if [ "$(echo ${LB_ISO_PREPARER} | wc -c)" -gt
128 ]
1204 Echo_warning
"You have specified a value of LB_ISO_PREPARER that is too long; the maximum length is 128 characters."
1207 if [ "$(echo ${LB_ISO_PUBLISHER} | wc -c)" -gt
128 ]
1209 Echo_warning
"You have specified a value of LB_ISO_PUBLISHER that is too long; the maximum length is 128 characters."
1212 if [ "$(eval "echo ${LB_ISO_VOLUME}" | wc -c)" -gt
32 ]
1214 Echo_warning
"You have specified a value of LB_ISO_VOLUME that is too long; the maximum length is 32 characters."
1217 if echo ${LB_PACKAGES_LISTS} |
grep -qs
-E
"(stripped|minimal)\b"
1219 if [ "${LB_BINARY_INDICES}" = "true" ]
1221 Echo_warning
"You have selected hook to minimise image size but you are still including package indices with your value of LB_BINARY_INDICES."