-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Daniel,
After taking your feedback, here is a set of 5 patches that significantly reduce the line count and provide the needed functionality for building cloud images (562 lines in the diff versus the ~2.5K previous patches). The primary need for cloud images is that ability to produce a "warm" file system suitable for running on Amazon AWS or Open Stack. Git Repo: https://github.com/utlemming/ubuntu-live-build 0001-Added-Ubuntu-Cloud-package-lists.patch: - Adds the Ubuntu Cloud package list definitions - Package lists are the official packages for the Ubuntu Cloud images compatible with Maverick and later 0002-Fixed-rootfs-chroot-and-added-fs-label-support.patch - Fixed an issue where mkfs.ext? failed due to missing mtab while formating file system in chroot - Added file system label support to rootfs for ext? file systems - Added /etc/fstab based on labels (allow rootfs to be used independent of binary wrapper) 0003-Added-lb_binary_image-to-emit-standalone-rootfs-imag.patch: - Adds lb_binary_image to emit the chroot rootfs a file system image named <LABEL>.<FS TYPE> - Provides the ability to build images suitable for running - For uses where the raw file system is needed 0004-Enablement-for-foreign-bootstrap-via-qemu-static.patch: Probably the most controversial of my patches - Adds foreign bootstrapping ability via "qemu-<ARCH>-static" 0005-Set-default-armel-linux-flavour-for-Ubuntu.patch: - Set default armel kernel flavour for Ubuntu to omap As a side note, I've done a bit of work on the generation of VMDK and QCOW2 images. If there is interest in supporting more complicated warm file systems/images, I can do some work on porting those features. The concern (and perhaps it is wrong) is that live-build is focused on building bootable systems that use live-config, where cloud images generally do not have nor need live-config. ~Ben - -- Ben Howard ben.how...@canonical.com Canonical USA, Inc GPG ID 0x5406A866 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAEBAgAGBQJOhOFQAAoJEETWil5UBqhmwYgP/3+/JY8hmxU65nJ0iBUeheiT z/9Tt9TRaCw74VKn7Z3bLxWXOwFhDdyZqGdW6S8TTo/YBuSR8jDCMARQXWPgHacv u6i5AcRvoSJXKEaWOGDg/3ce8B+02g0s57F3/CMS3yqosJA74WMDk5SEqu8eHvOR l5CG0979njah9AUIPt3h/dnAwx3fDVWQcZa6n4/tgwcij6YiLzs2FMD4PJBSf9G4 SmdXc4DyiR4E96zDxBt/IawPIQVPLQK6rOXRd/v4w2BHGJIqyGpeYegYGbgtDo19 u6LQydgZcq9LuCWIz4QILesHvx0zfgvzp8EqxaI9r6z3XD68HyRVur+CpWqsPX7J n/TMUm1Lxz0ewZbYExY5P1tNNpHVGMC8hdBSdfDTEiuTayy23KSRTvsLb8irr3he g0dYsiLFEmAYXtSrs4MwqH6dnFXtmV2HExnJqHEfuidEJZp/Babplhbm1Ij8vHkF XKLeRcki8Xnp1ukmprmnrkUxESH8wkP2C6XeRvP/6LuZ+lKxGx01XSaolLrnVyN1 ocMHkXbumYJjJinvHwVLlyMdzs69VRqy1MEL+KLL6Qi7f9WrFdYTA6uv+LHRNczL Z2muNth0V0NsylAlXNWSPJIVHH9IOM7XsxFECuALVw10XNs2mhcAX2d1EF8grKal N5y+BVzRi0EXxuDmAuqS =1tKy -----END PGP SIGNATURE-----
>From f05b901e50e764006b24a7226ec882dd363fdfb9 Mon Sep 17 00:00:00 2001 From: Ben Howard <ben.how...@canonical.com> Date: Thu, 29 Sep 2011 15:49:08 +0000 Subject: [PATCH 1/5] Added Ubuntu Cloud package lists --- package-lists/ubuntu-cloud | 11 +++++++++++ package-lists/ubuntu-cloud-desktop | 11 +++++++++++ 2 files changed, 22 insertions(+), 0 deletions(-) create mode 100644 package-lists/ubuntu-cloud create mode 100644 package-lists/ubuntu-cloud-desktop diff --git a/package-lists/ubuntu-cloud b/package-lists/ubuntu-cloud new file mode 100644 index 0000000..aec9a44 --- /dev/null +++ b/package-lists/ubuntu-cloud @@ -0,0 +1,11 @@ +locales +ubuntu-minimal +eject +file +sudo +gnupg +landscape-client +cloud-utils +standard^ +server^ +cloud-image^ diff --git a/package-lists/ubuntu-cloud-desktop b/package-lists/ubuntu-cloud-desktop new file mode 100644 index 0000000..967d914 --- /dev/null +++ b/package-lists/ubuntu-cloud-desktop @@ -0,0 +1,11 @@ +locales +ubuntu-minimal +eject +file +sudo +gnupg +landscape-client +cloud-utils +standard^ +ubuntu-destkop^ +cloud-image^ -- 1.7.5.4
>From 553aa2355df161b91e380338659c3ad3824822c3 Mon Sep 17 00:00:00 2001 From: Ben Howard <ben.how...@canonical.com> Date: Thu, 29 Sep 2011 15:50:19 +0000 Subject: [PATCH 2/5] Fixed rootfs chroot and added fs label support --- functions/defaults.sh | 3 +++ scripts/build/lb_binary_rootfs | 28 ++++++++++++++++++++++++++-- scripts/build/lb_config | 14 ++++++++++++-- 3 files changed, 41 insertions(+), 4 deletions(-) diff --git a/functions/defaults.sh b/functions/defaults.sh index 53c7af9..685451b 100755 --- a/functions/defaults.sh +++ b/functions/defaults.sh @@ -1246,4 +1246,7 @@ Check_defaults () fi fi + # Label default for rootfs + LB_ROOTFS_FILESYSTEM_LABEL="${LB_ROOTFS_FILESYSTEM_LABEL:-rootfs}" + } diff --git a/scripts/build/lb_binary_rootfs b/scripts/build/lb_binary_rootfs index 692a28d..c94d84c 100755 --- a/scripts/build/lb_binary_rootfs +++ b/scripts/build/lb_binary_rootfs @@ -62,6 +62,19 @@ case "${LB_INITRAMFS}" in ;; esac +write_fstab() +{ +#Write a rudimentary fstab + Echo_message "Writing fstab to ${1}/etc/fstab" +cat << EOF > "${1}/etc/fstab" +# Generated by live-build +# <file system> <mount point> <type> <options> <dump> <pass> +proc /proc proc nodev,noexec,nosuid 0 0 +LABEL=${LB_ROOTFS_FILESYSTEM_LABEL} / ${LB_CHROOT_FILESYSTEM} defaults 0 0 +EOF +} + + # Creating directory mkdir -p binary/${INITFS} @@ -122,10 +135,19 @@ case "${LB_CHROOT_FILESYSTEM}" in case "${LB_BUILD_WITH_CHROOT}" in true) dd if=/dev/zero of=chroot/filesystem.${LB_CHROOT_FILESYSTEM} bs=1024k count=0 seek=${REAL_DIM} - Chroot chroot "mkfs.${LB_CHROOT_FILESYSTEM} -F -b 1024 -N ${REAL_INODES} -m 0 filesystem.${LB_CHROOT_FILESYSTEM}" + + if ! Chroot chroot "test -s /etc/mtab" + then + Chroot chroot "rm -f /etc/mtab" + Chroot chroot "ln -s /proc/mounts /etc/mtab" + fi + + Chroot chroot "mkfs.${LB_CHROOT_FILESYSTEM} -FF -b 1024 -N ${REAL_INODES} -m 0 filesystem.${LB_CHROOT_FILESYSTEM} -L ${LB_ROOTFS_FILESYSTEM_LABEL}" + rm chroot/etc/mtab mkdir -p filesystem.tmp ${LB_ROOT_COMMAND} mount -o loop chroot/filesystem.${LB_CHROOT_FILESYSTEM} filesystem.tmp + write_fstab chroot/chroot cp -a chroot/chroot/* filesystem.tmp ${LB_ROOT_COMMAND} umount filesystem.tmp @@ -176,6 +198,7 @@ case "${LB_CHROOT_FILESYSTEM}" in lb chroot_apt install ${*} lb chroot_archives binary remove ${*} + write_fstab chroot touch .lock else rm -rf chroot/chroot @@ -187,11 +210,12 @@ case "${LB_CHROOT_FILESYSTEM}" in false) dd if=/dev/zero of=binary/${INITFS}/filesystem.${LB_CHROOT_FILESYSTEM} bs=1024k count=0 seek=${REAL_DIM} - mkfs.${LB_CHROOT_FILESYSTEM} -F -b 1024 -N ${REAL_INODES} -m 0 binary/${INITFS}/filesystem.${LB_CHROOT_FILESYSTEM} + mkfs.${LB_CHROOT_FILESYSTEM} -F -b 1024 -N ${REAL_INODES} -m 0 binary/${INITFS}/filesystem.${LB_CHROOT_FILESYSTEM} -L ${LB_ROOTFS_FILESYSTEM_LABEL} mkdir -p filesystem.tmp ${LB_ROOT_COMMAND} mount -o loop binary/${INITFS}/filesystem.${LB_CHROOT_FILESYSTEM} filesystem.tmp cp -a chroot/* filesystem.tmp + write_fstab chroot ${LB_ROOT_COMMAND} umount filesystem.tmp rmdir filesystem.tmp diff --git a/scripts/build/lb_config b/scripts/build/lb_config index f015fe8..aad474e 100755 --- a/scripts/build/lb_config +++ b/scripts/build/lb_config @@ -146,7 +146,8 @@ USAGE="${PROGRAM} [--apt apt|aptitude]\n\ \t [--exposed-root true|false]\n\ \t [--username NAME]\n\ \t [--verbose]\n\ -\t [--win32-loader true|false]" +\t [--win32-loader true|false]\n +\t [--rootfs-label LABEL]" Local_arguments () { @@ -169,7 +170,7 @@ Local_arguments () net-root-path:,net-root-server:,net-cow-filesystem:,net-cow-mountoptions:,net-cow-path:, net-cow-server:,net-tarball:,swap-file-path:,swap-file-size:,syslinux-theme:, username:,win32-loader:,source:,source-images:,breakpoints,conffile:,debug,force, - help,ignore-system-defaults,quiet,usage,verbose,version" + help,ignore-system-defaults,quiet,usage,verbose,version,rootfs-label:" # Remove spaces added by indentation LONG_OPTIONS="$(echo ${LONG_OPTIONS} | tr -d ' ')" ARGUMENTS="$(getopt --longoptions ${LONG_OPTIONS} --name="${PROGRAM}" --options a:f:d:m:l:k:p:b:e:s:c:huv --shell sh -- "${@}")" @@ -775,6 +776,11 @@ Local_arguments () shift 2 ;; + --rootfs-label) + LB_ROOTFS_FILESYSTEM_LABEL="${2}" + shift 2 + ;; + # config/source --source) LB_SOURCE="${2}" @@ -1393,6 +1399,10 @@ LB_SYSLINUX_THEME="${LB_SYSLINUX_THEME}" # \$LB_USERNAME: set username # (Default: ${LB_USERNAME}) LB_USERNAME="${LB_USERNAME}" + +# \$LB_ROOTFS_FILESYSTEM_LABEL: set file system label +# (Default: ${LB_ROOTFS_FILESYTEM_LABEL}) +LB_ROOTFS_FILESYSTEM_LABEL="${LB_ROOTFS_FILESYSTEM_LABEL}" EOF # Creating lb_source_* configuration -- 1.7.5.4
>From 015b418f4b2adc766d2f41ba2375a5e34b806dc7 Mon Sep 17 00:00:00 2001 From: Ben Howard <ben.how...@canonical.com> Date: Thu, 29 Sep 2011 16:45:48 +0000 Subject: [PATCH 3/5] Added lb_binary_image to emit standalone rootfs images --- scripts/build/lb_binary | 1 + scripts/build/lb_binary_image | 72 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+), 0 deletions(-) create mode 100755 scripts/build/lb_binary_image diff --git a/scripts/build/lb_binary b/scripts/build/lb_binary index 27a0223..d6c9cfa 100755 --- a/scripts/build/lb_binary +++ b/scripts/build/lb_binary @@ -88,6 +88,7 @@ lb binary_net ${*} lb binary_tar ${*} lb binary_hdd ${*} lb binary_virtual-hdd ${*} +lb binary_image ${*} if [ "${LB_BUILD_WITH_CHROOT}" = "true" ] then diff --git a/scripts/build/lb_binary_image b/scripts/build/lb_binary_image new file mode 100755 index 0000000..aa8a1c7 --- /dev/null +++ b/scripts/build/lb_binary_image @@ -0,0 +1,72 @@ +#!/bin/sh + +## live-build(7) - System Build Scripts +## Copyright (C) 2006-2011 Daniel Baumann <dan...@debian.org> +## +## live-build 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 +. "${LB_BASE:-/usr/share/live/build}"/scripts/build.sh + +# Setting static variables +DESCRIPTION="$(Echo 'build rootfs binary image')" +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 ! In_list image "${LB_BINARY_IMAGES}" +then + exit 0 +fi + +if [ "${LB_CHROOT_FILESYSTEM}" = "plain" ] +then + exit 0 +fi + +Echo_message "Copying out binary rootfs image" + +# Requiring stage file +Require_stagefile .stage/config .stage/bootstrap + +# Checking stage file +Check_stagefile .stage/binary_image + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +case "${LB_INITRAMFS}" in + casper) + INITFS="casper" + ;; + + live-boot) + INITFS="live" + ;; + + *) + INITFS="boot" + ;; +esac + +cp -a "binary/${INITFS}/filesystem.${LB_CHROOT_FILESYSTEM}" "${LB_ROOTFS_FILESYSTEM_LABEL}.${LB_CHROOT_FILESYSTEM}" +cp -a "binary.packages" "${LB_ROOTFS_FILESYSTEM_LABEL}.packages" +rm -rf binary* + +Echo_message "rootfs image named ${LB_ROOTFS_FILESYSTEM_LABEL}.${LB_CHROOT_FILESYSTEM}" + +# Creating stage file +Create_stagefile .stage/binary_image -- 1.7.5.4
>From 6d95297840fb51457d9aa4b2d3eda360c79536e9 Mon Sep 17 00:00:00 2001 From: Ben Howard <ben.how...@canonical.com> Date: Thu, 29 Sep 2011 16:46:23 +0000 Subject: [PATCH 4/5] Enablement for foreign bootstrap via qemu-static --- functions/architectures.sh | 36 ++++++++++++++++++++++++++ functions/defaults.sh | 10 +++++++ scripts/build/lb_bootstrap_debootstrap | 39 +++++++++++++++++++--------- scripts/build/lb_config | 44 +++++++++++++++++++++++++++++-- 4 files changed, 113 insertions(+), 16 deletions(-) diff --git a/functions/architectures.sh b/functions/architectures.sh index 53d925b..7c0b769 100755 --- a/functions/architectures.sh +++ b/functions/architectures.sh @@ -22,6 +22,24 @@ Check_architectures () fi done + if [ "${ARCHITECTURES}" = "${LB_PORTS_ARCHITECTURES}" ] + then + VALID="true" + + if [ ! -e "${LB_PORTS_QEMU_STATIC}" ] + then + Echo_warning "skipping %s, qemu-static binary ${LB_PORTS_ARCHITECTURES} was not found" + VALID="false" + fi + + if [ ! -x "${LB_PORTS_QEMU_STATIC}" ] + then + Echo_warning "skipping %s, qemu-static binary ${LB_PORTS_QEMU_STATIC} is not executable" + VALID="false" + fi + + fi + if [ "${VALID}" = "false" ] then Echo_warning "skipping %s, foreign architecture(s)." "${0}" @@ -52,6 +70,24 @@ Check_crossarchitectures () ;; esac + if [ "${LB_ARCHITECTURES}" = "${LB_PORTS_ARCHITECTURES}" ] + then + + if [ ! -e "${LB_PORTS_QEMU_STATIC}" ] + then + Echo_warning "skipping %s, qemu-static binary ${LB_PORTS_ARCHITECTURES} was not found" + exit 0 + fi + + if [ ! -x "${LB_PORTS_QEMU_STATIC}" ] + then + Echo_warning "skipping %s, qemu-static binary ${LB_PORTS_QEMU_STATIC} is not executable" + exit 0 + fi + return + fi + + Check_architectures "${CROSS}" } diff --git a/functions/defaults.sh b/functions/defaults.sh index 685451b..2311d38 100755 --- a/functions/defaults.sh +++ b/functions/defaults.sh @@ -1249,4 +1249,14 @@ Check_defaults () # Label default for rootfs LB_ROOTFS_FILESYSTEM_LABEL="${LB_ROOTFS_FILESYSTEM_LABEL:-rootfs}" + # Architectures to use foriegn bootstrap for + LB_PORTS_ARCHITECTURES="${LB_PORTS_ARCHITECTURES:-}" + + # Packages to exclude for the foriegn/ports bootstrapping + LB_PORTS_BOOTSTRAP_EXCLUDE="${LB_PORTS_BOOTSTRAP_EXCLUDE:-}" + + # Ports using foriegn bootstrap need a working qemu-*-system. This is the location it + LB_PORTS_QEMU_STATIC="${LB_PORTS_QEMU_STATIC:-}" + + } diff --git a/scripts/build/lb_bootstrap_debootstrap b/scripts/build/lb_bootstrap_debootstrap index 1b5f5fe..e6d7a97 100755 --- a/scripts/build/lb_bootstrap_debootstrap +++ b/scripts/build/lb_bootstrap_debootstrap @@ -21,7 +21,7 @@ USAGE="${PROGRAM} [--force]" Arguments "${@}" # Reading configuration files -Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source +Read_conffiles config/all config/common config/bootstrap config/chroot config/image config/source config/ports Set_defaults if [ "${LB_BOOTSTRAP}" != "debootstrap" ] @@ -120,24 +120,37 @@ then cp cache/packages_bootstrap/*.deb chroot/var/cache/apt/archives fi - Echo_breakage "Running debootstrap (download-only)... " - ${LB_ROOT_COMMAND} debootstrap ${DEBOOTSTRAP_OPTIONS} --download-only "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}" + if [ "${LB_PORTS_ARCHITECTURES}" != "${LB_ARCHITECTURES}" ]; then + Echo_breakage "Running debootstrap (download-only)... " + ${LB_ROOT_COMMAND} debootstrap ${DEBOOTSTRAP_OPTIONS} --download-only "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}" - if [ -n "${LB_ROOT_COMMAND}" ] - then - ${LB_ROOT_COMMAND} chown -R $(whoami):$(whoami) chroot - fi + if [ -n "${LB_ROOT_COMMAND}" ] + then + ${LB_ROOT_COMMAND} chown -R $(whoami):$(whoami) chroot + fi - # Removing old cache - rm -f cache/packages_bootstrap/*.deb + # Removing old cache + rm -f cache/packages_bootstrap/*.deb - # Saving new cache - mkdir -p cache/packages_bootstrap - cp chroot/var/cache/apt/archives/*.deb cache/packages_bootstrap + # Saving new cache + mkdir -p cache/packages_bootstrap + cp chroot/var/cache/apt/archives/*.deb cache/packages_bootstrap + fi fi Echo_breakage "Running debootstrap... " - ${LB_ROOT_COMMAND} debootstrap ${DEBOOTSTRAP_OPTIONS} "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}" + + # Run appropriate bootstrap, i.e. foriegn or regular bootstrap + if [ "${LB_PORTS_ARCHITECTURES}" = "${LB_ARCHITECTURES}" ]; then + Echo_message "Bootstrap will be foreign" + ${LB_ROOT_COMMAND} debootstrap ${DEBOOTSTRAP_OPTIONS} --foreign "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}" + + Echo_message "Running debootstrap second stage under QEMU" + cp ${LB_PORTS_QEMU_STATIC} chroot/usr/bin + Chroot chroot /debootstrap/debootstrap --second-stage + else + ${LB_ROOT_COMMAND} debootstrap ${DEBOOTSTRAP_OPTIONS} "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}" + fi if [ -n "${LB_ROOT_COMMAND}" ] then diff --git a/scripts/build/lb_config b/scripts/build/lb_config index aad474e..2e8a589 100755 --- a/scripts/build/lb_config +++ b/scripts/build/lb_config @@ -147,7 +147,11 @@ USAGE="${PROGRAM} [--apt apt|aptitude]\n\ \t [--username NAME]\n\ \t [--verbose]\n\ \t [--win32-loader true|false]\n -\t [--rootfs-label LABEL]" +\t [--rootfs-label LABEL]\n +\t [--ports-exclude PACKAGES]\n +\t [--ports-qemu-static PATH]\n +\t [--ports-arch ARCH]" + Local_arguments () { @@ -170,7 +174,7 @@ Local_arguments () net-root-path:,net-root-server:,net-cow-filesystem:,net-cow-mountoptions:,net-cow-path:, net-cow-server:,net-tarball:,swap-file-path:,swap-file-size:,syslinux-theme:, username:,win32-loader:,source:,source-images:,breakpoints,conffile:,debug,force, - help,ignore-system-defaults,quiet,usage,verbose,version,rootfs-label:" + help,ignore-system-defaults,quiet,usage,verbose,version,rootfs-label:,ports-qemu-static:,ports-arch:,ports-exclude:" # Remove spaces added by indentation LONG_OPTIONS="$(echo ${LONG_OPTIONS} | tr -d ' ')" ARGUMENTS="$(getopt --longoptions ${LONG_OPTIONS} --name="${PROGRAM}" --options a:f:d:m:l:k:p:b:e:s:c:huv --shell sh -- "${@}")" @@ -781,6 +785,21 @@ Local_arguments () shift 2 ;; + --ports-arch) + LB_PORTS_ARCHITECTURES="${2}" + shift 2 + ;; + + --ports-exclude) + LB_PORTS_BOOTSTRAP_EXCLUDE="${2}" + shift 2 + ;; + + --ports-qemu-static) + LB_PORTS_QEMU_STATIC="${2}" + shift 2 + ;; + # config/source --source) LB_SOURCE="${2}" @@ -869,7 +888,7 @@ then fi # Reading existing configuration -Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source +Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source config/ports Local_arguments "${@}" @@ -1418,6 +1437,25 @@ LB_SOURCE="${LB_SOURCE}" LB_SOURCE_IMAGES="${LB_SOURCE_IMAGES}" EOF + +# Create qemu foriegn bootstrap configuration +cat > config/ports << EOF +# \$LB_PORTS_ARCHITECTURES: architectures to build through foriegn bootstraping +# most users will also want to set LB_PORTS_QEMU_STATIC as well +# (Default: ${LB_PORTS_ARCHITECTURES}) +LB_PORTS_ARCHITECTURES="${LB_PORTS_ARCHITECTURES}" + +# \$LB_PORTS_BOOTSTRAP_EXCLUDE: which packages to exclude from bootstrapping +# (Default: ${LB_PORTS_BOOTSTRAP_EXCLUDE}) +LB_PORTS_BOOTSTRAP_EXCLUDE="${LB_PORTS_BOOTSTRAP_EXCLUDE}" + +# \$LB_PORTS_QEMU_STATIC: location of qemu-*-static for foriegn bootstrapping +# if left blank, automatic detection will be attempted +# (Default: ${LB_PORTS_QEMU_STATIC}) +LB_PORTS_QEMU_STATIC="${LB_PORTS_QEMU_STATIC}" +EOF + + mkdir -p auto/functions mkdir -p auto/scripts -- 1.7.5.4
>From 49f703d53a96d720d9fb51be69a7d11649d43643 Mon Sep 17 00:00:00 2001 From: Ben Howard <ben.how...@canonical.com> Date: Thu, 29 Sep 2011 13:04:17 -0600 Subject: [PATCH 5/5] Set default armel linux flavour for Ubuntu --- functions/defaults.sh | 13 ++++++++++--- 1 files changed, 10 insertions(+), 3 deletions(-) diff --git a/functions/defaults.sh b/functions/defaults.sh index 2311d38..0c1cb8c 100755 --- a/functions/defaults.sh +++ b/functions/defaults.sh @@ -639,9 +639,16 @@ Set_defaults () # Setting linux flavour string case "${LB_ARCHITECTURES}" in armel) - # armel will have special images: one rootfs image and many additional kernel images. - # therefore we default to all available armel flavours - LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-iop32x ixp4xx kirkwood orion5x versatile}" + case "${LB_MODE}" in + ubuntu|kubuntu) + LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-omap}" + ;; + *) + # armel will have special images: one rootfs image and many additional kernel images. + # therefore we default to all available armel flavours + LB_LINUX_FLAVOURS="${LB_LINUX_FLAVOURS:-iop32x ixp4xx kirkwood orion5x versatile}" + ;; + esac ;; amd64) -- 1.7.5.4