aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README33
-rwxr-xr-xauto/build3
-rwxr-xr-xauto/clean6
-rwxr-xr-xauto/config19
-rw-r--r--config/binary162
-rw-r--r--config/bootstrap121
-rw-r--r--config/chroot45
-rw-r--r--config/common138
-rw-r--r--config/package-lists/torouter.list.chroot1
-rw-r--r--config/source9
10 files changed, 537 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..bcdfe95
--- /dev/null
+++ b/README
@@ -0,0 +1,33 @@
+
+Warning: aggressive caching is in place, which means resulting images may have
+stale packages. Use `lb clean` to clear caches.
+
+### Build Requirements
+
+Only tested on a debian wheezy host with many development packages already
+installed; YMMV.
+
+Install live-build and qemu:
+
+ sudo apt-get install qemu-user-static qemu-utils debootstrap live-build
+
+You need a recent version of live-build because of a secring.gpg-related error
+(see http://lists.debian.org/debian-live/2012/07/msg00122.html); download the
+sid package (from http://packages.debian.org/sid/live-build) and install:
+
+ sudo dpkg -i live-build_3.0~a67-1_all.deb
+
+You might also want the Debian Live manuals:
+
+ sudo apt-get install live-manual-html
+
+### Build an Image
+
+Once the above build requirements are satisfied:
+
+ lb config
+ lb build
+
+### Develop
+
+Basic configuration options are in ./auto/config
diff --git a/auto/build b/auto/build
new file mode 100755
index 0000000..6d559e8
--- /dev/null
+++ b/auto/build
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+lb build noauto "${@}" 2>&1 | tee build.log
diff --git a/auto/clean b/auto/clean
new file mode 100755
index 0000000..3e24032
--- /dev/null
+++ b/auto/clean
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+lb clean noauto "${@}"
+
+rm -f config/binary config/bootstrap config/chroot config/common config/source
+rm -f build.log
diff --git a/auto/config b/auto/config
new file mode 100755
index 0000000..18c6034
--- /dev/null
+++ b/auto/config
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+lb config noauto \
+ --architecture armel \
+ --linux-flavours kirkwood \
+ --apt-secure true \
+ --binary-images hdd \
+ --cache true \
+ --cache-indices true \
+ --cache-packages true \
+ --cache-stages rootfs \
+ --distribution wheezy \
+ --parent-distribution wheezy \
+ --binary-filesystem ext3 \
+ --security true \
+ --debian-installer-gui false \
+ --bootstrap-qemu-arch armel \
+ --bootstrap-qemu-static /usr/bin/qemu-arm-static \
+ "${@}"
diff --git a/config/binary b/config/binary
new file mode 100644
index 0000000..97f09d2
--- /dev/null
+++ b/config/binary
@@ -0,0 +1,162 @@
+# config/binary - options for live-build(7), binary stage
+
+# $LB_BINARY_FILESYSTEM: set image filesystem
+# (Default: ext3)
+LB_BINARY_FILESYSTEM="ext3"
+
+# $LB_BINARY_IMAGES: set image type
+# (Default: hdd)
+LB_BINARY_IMAGES="hdd"
+
+# $LB_APT_INDICES: set apt/aptitude generic indices
+# (Default: true)
+LB_APT_INDICES="true"
+
+# $LB_BOOTAPPEND_LIVE: set boot parameters
+# (Default: empty)
+LB_BOOTAPPEND_LIVE="boot=live config quiet splash"
+
+# $LB_BOOTAPPEND_INSTALL: set boot parameters
+# (Default: empty)
+LB_BOOTAPPEND_INSTALL=""
+
+# $LB_BOOTAPPEND_LIVE_FAILSAFE: set boot parameters
+# (Default: empty)
+LB_BOOTAPPEND_LIVE_FAILSAFE="boot=live config memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal"
+
+# $LB_BOOTLOADER: set bootloader
+# (Default: )
+LB_BOOTLOADER=""
+
+# $LB_CHECKSUMS: set checksums
+# (Default: sha256)
+LB_CHECKSUMS="sha256"
+
+# $LB_COMPRESSION: set compression
+# (Default: none)
+LB_COMPRESSION="none"
+
+# $LB_ZSYNC: set zsync
+# (Default: true)
+LB_ZSYNC="true"
+
+# ${LB_BUILD_WITH_CHROOT: control if we build binary images chrooted
+# (Default: true)
+# DO NEVER, *NEVER*, *N*E*V*E*R* SET THIS OPTION to false.
+LB_BUILD_WITH_CHROOT="true"
+
+# $LB_DEBIAN_INSTALLER: set debian-installer
+# (Default: false)
+LB_DEBIAN_INSTALLER="false"
+
+# $LB_DEBIAN_INSTALLER_DISTRIBUTION: set debian-installer suite
+# (Default: empty)
+LB_DEBIAN_INSTALLER_DISTRIBUTION="wheezy"
+
+# $LB_DEBIAN_INSTALLER_PRESEEDFILE: set debian-installer preseed filename/url
+# (Default: )
+LB_DEBIAN_INSTALLER_PRESEEDFILE=""
+
+# $LB_DEBIAN_INSTALLER_GUI: toggle use of GUI debian-installer
+# (Default: false)
+LB_DEBIAN_INSTALLER_GUI="false"
+
+# $LB_GRUB_SPLASH: set custom grub splash
+# (Default: empty)
+LB_GRUB_SPLASH=""
+
+# $LB_HDD_LABEL: set hdd label
+# (Default: DEBIAN_LIVE)
+LB_HDD_LABEL="DEBIAN_LIVE"
+
+# $LB_HDD_SIZE: set hdd filesystem size
+# (Default: 10000)
+LB_HDD_SIZE="10000"
+
+# $LB_ISO_APPLICATION: set iso author
+# (Default: Debian Live)
+LB_ISO_APPLICATION="Debian Live"
+
+# $LB_ISO_PREPARER: set iso preparer
+# (Default: live-build $VERSION; http://packages.qa.debian.org/live-build)
+LB_ISO_PREPARER="live-build $VERSION; http://packages.qa.debian.org/live-build"
+
+# $LB_ISO_PUBLISHER: set iso publisher
+# (Default: Debian Live project; http://live.debian.net/; debian-live@lists.debian.org)
+LB_ISO_PUBLISHER="Debian Live project; http://live.debian.net/; debian-live@lists.debian.org"
+
+# $LB_ISO_VOLUME: set iso volume (max 32 chars)
+# (Default: Debian wheezy $(date +%Y%m%d-%H:%M))
+LB_ISO_VOLUME="Debian wheezy $(date +%Y%m%d-%H:%M)"
+
+# $LB_JFFS2_ERASEBLOCK: set jffs2 eraseblock size
+# (Default: unset)
+LB_JFFS2_ERASEBLOCK=""
+
+# $LB_MEMTEST: set memtest
+# (Default: memtest86+)
+LB_MEMTEST="memtest86+"
+
+# $LB_LOADLIN: set loadlin
+# (Default: false)
+LB_LOADLIN="false"
+
+# $LB_WIN32_LOADER: set win32-loader
+# (Default: false)
+LB_WIN32_LOADER="false"
+
+# $LB_NET_ROOT_FILESYSTEM: set netboot filesystem
+# (Default: nfs)
+LB_NET_ROOT_FILESYSTEM="nfs"
+
+# $LB_NET_ROOT_MOUNTOPTIONS: set nfsopts
+# (Default: empty)
+LB_NET_ROOT_MOUNTOPTIONS=""
+
+# $LB_NET_ROOT_PATH: set netboot server directory
+# (Default: /srv/debian-live)
+LB_NET_ROOT_PATH="/srv/debian-live"
+
+# $LB_NET_ROOT_SERVER: set netboot server address
+# (Default: 192.168.1.1)
+LB_NET_ROOT_SERVER="192.168.1.1"
+
+# $LB_NET_COW_FILESYSTEM: set net client cow filesystem
+# (Default: nfs)
+LB_NET_COW_FILESYSTEM="nfs"
+
+# $LB_NET_COW_MOUNTOPTIONS: set cow mount options
+# (Default: empty)
+LB_NET_COW_MOUNTOPTIONS=""
+
+# $LB_NET_COW_PATH: set cow directory
+# (Default: )
+LB_NET_COW_PATH=""
+
+# $LB_NET_COW_SERVER: set cow server
+# (Default: )
+LB_NET_COW_SERVER=""
+
+# $LB_NET_TARBALL: set net tarball
+# (Default: true)
+LB_NET_TARBALL="true"
+
+# $LB_FIRMWARE_BINARY: include firmware packages in debian-installer
+# (Default: true)
+LB_FIRMWARE_BINARY="true"
+
+# $LB_FIRMWARE_CHROOT: include firmware packages in debian-installer
+# (Default: true)
+LB_FIRMWARE_CHROOT="true"
+
+# $LB_SWAP_FILE_PATH: set swap file path
+# (Default: )
+LB_SWAP_FILE_PATH=""
+
+# $LB_SWAP_FILE_SIZE: set swap file size
+# (Default: 512)
+LB_SWAP_FILE_SIZE="512"
+
+# $LB_SYSLINUX_THEME: set syslinux theme package
+# (Default: live-build)
+LB_SYSLINUX_THEME="live-build"
diff --git a/config/bootstrap b/config/bootstrap
new file mode 100644
index 0000000..804f4fb
--- /dev/null
+++ b/config/bootstrap
@@ -0,0 +1,121 @@
+# config/bootstrap - options for live-build(7), bootstrap stage
+
+# $LB_ARCHITECTURES: select chroot architectures
+# (Default: autodetected)
+LB_ARCHITECTURES="armel"
+
+# $LB_DISTRIBUTION: select distribution to use
+# (Default: wheezy)
+LB_DISTRIBUTION="wheezy"
+
+# $LB_PARENT_DISTRIBUTION: select parent distribution to use
+# (Default: wheezy)
+LB_PARENT_DISTRIBUTION="wheezy"
+
+# $LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION: select parent distribution for debian-installer to use
+# (Default: wheezy)
+LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="wheezy"
+
+# $LB_PARENT_MIRROR_BOOTSTRAP: set parent mirror to bootstrap from
+# (Default: http://ftp.debian.org/debian/)
+LB_PARENT_MIRROR_BOOTSTRAP="http://ftp.debian.org/debian/"
+
+# $LB_PARENT_MIRROR_CHROOT: set parent mirror to fetch packages from
+# (Default: http://ftp.debian.org/debian/)
+LB_PARENT_MIRROR_CHROOT="http://ftp.debian.org/debian/"
+
+# $LB_PARENT_MIRROR_CHROOT_SECURITY: set security parent mirror to fetch packages from
+# (Default: http://security.debian.org/)
+LB_PARENT_MIRROR_CHROOT_SECURITY="http://security.debian.org/"
+
+# $LB_PARENT_MIRROR_CHROOT_UPDATES: set updates parent mirror to fetch packages from
+# (Default: http://ftp.debian.org/debian/)
+LB_PARENT_MIRROR_CHROOT_UPDATES="http://ftp.debian.org/debian/"
+
+# $LB_PARENT_MIRROR_CHROOT_BACKPORTS: set backports parent mirror to fetch packages from
+# (Default: http://backports.debian.org/debian-backports/)
+LB_PARENT_MIRROR_CHROOT_BACKPORTS="http://backports.debian.org/debian-backports/"
+
+# $LB_PARENT_MIRROR_BINARY: set parent mirror which ends up in the image
+# (Default: http://http.debian.net/debian/)
+LB_PARENT_MIRROR_BINARY="http://http.debian.net/debian/"
+
+# $LB_PARENT_MIRROR_BINARY_SECURITY: set security parent mirror which ends up in the image
+# (Default: http://security.debian.org/)
+LB_PARENT_MIRROR_BINARY_SECURITY="http://security.debian.org/"
+
+# $LB_PARENT_MIRROR_BINARY_UPDATES: set updates parent mirror which ends up in the image
+# (Default: http://http.debian.net/debian/)
+LB_PARENT_MIRROR_BINARY_UPDATES="http://http.debian.net/debian/"
+
+# $LB_PARENT_MIRROR_BINARY_BACKPORTS: set backports parent mirror which ends up in the image
+# (Default: http://http.debian.net/debian-backports/)
+LB_PARENT_MIRROR_BINARY_BACKPORTS="http://http.debian.net/debian-backports/"
+
+# $LB_PARENT_MIRROR_DEBIAN_INSTALLER: set debian-installer parent mirror
+# (Default: http://ftp.debian.org/debian/)
+LB_PARENT_MIRROR_DEBIAN_INSTALLER="http://ftp.debian.org/debian/"
+
+# $LB_MIRROR_BOOTSTRAP: set mirror to bootstrap from
+# (Default: http://ftp.debian.org/debian/)
+LB_MIRROR_BOOTSTRAP="http://ftp.debian.org/debian/"
+
+# $LB_MIRROR_CHROOT: set mirror to fetch packages from
+# (Default: http://ftp.debian.org/debian/)
+LB_MIRROR_CHROOT="http://ftp.debian.org/debian/"
+
+# $LB_MIRROR_CHROOT_SECURITY: set security mirror to fetch packages from
+# (Default: http://security.debian.org/)
+LB_MIRROR_CHROOT_SECURITY="http://security.debian.org/"
+
+# $LB_MIRROR_CHROOT_UPDATES: set updates mirror to fetch packages from
+# (Default: http://ftp.debian.org/debian/)
+LB_MIRROR_CHROOT_UPDATES="http://ftp.debian.org/debian/"
+
+# $LB_MIRROR_CHROOT_BACKPORTS: set backports mirror to fetch packages from
+# (Default: http://backports.debian.org/debian-backports/)
+LB_MIRROR_CHROOT_BACKPORTS="http://backports.debian.org/debian-backports/"
+
+# $LB_MIRROR_BINARY: set mirror which ends up in the image
+# (Default: http://http.debian.net/debian/)
+LB_MIRROR_BINARY="http://http.debian.net/debian/"
+
+# $LB_MIRROR_BINARY_SECURITY: set security mirror which ends up in the image
+# (Default: http://security.debian.org/)
+LB_MIRROR_BINARY_SECURITY="http://security.debian.org/"
+
+# $LB_MIRROR_BINARY_UPDATES: set updates mirror which ends up in the image
+# (Default: http://http.debian.net/debian/)
+LB_MIRROR_BINARY_UPDATES="http://http.debian.net/debian/"
+
+# $LB_MIRROR_BINARY_BACKPORTS: set backports mirror which ends up in the image
+# (Default: http://http.debian.net/debian-backports/)
+LB_MIRROR_BINARY_BACKPORTS="http://http.debian.net/debian-backports/"
+
+# $LB_MIRROR_DEBIAN_INSTALLER: set debian-installer mirror
+# (Default: http://ftp.debian.org/debian/)
+LB_MIRROR_DEBIAN_INSTALLER="http://ftp.debian.org/debian/"
+
+# $LB_ARCHIVES: enable available third-party archives
+# (Default: empty)
+LB_ARCHIVES=""
+
+# $LB_ARCHIVE_AREAS: select archive areas to use
+# (Default: main)
+LB_ARCHIVE_AREAS="main"
+
+# $LB_PARENT_ARCHIVE_AREAS: select archive areas to use
+# (Default: main)
+LB_PARENT_ARCHIVE_AREAS="main"
+
+# $LB_BOOTSTRAP_QEMU_ARCHITECTURES: architectures to use foreign bootstrap
+# (Default: armel)
+LB_BOOTSTRAP_QEMU_ARCHITECTURES="armel"
+
+# $LB_BOOTSTRAP_QEMU_EXCLUDE: packages to exclude during foreign bootstrap
+# (Default: )
+LB_BOOTSTRAP_QEMU_EXCLUDE=""
+
+# $LB_BOOTSTRAP_QEMU_STATIC: static qemu binary for foreign bootstrap
+# (Default: /usr/bin/qemu-arm-static)
+LB_BOOTSTRAP_QEMU_STATIC="/usr/bin/qemu-arm-static"
diff --git a/config/chroot b/config/chroot
new file mode 100644
index 0000000..cb3036d
--- /dev/null
+++ b/config/chroot
@@ -0,0 +1,45 @@
+# config/chroot - options for live-build(7), chroot stage
+
+# $LB_CHROOT_FILESYSTEM: set chroot filesystem
+# (Default: squashfs)
+LB_CHROOT_FILESYSTEM="squashfs"
+
+# $LB_UNION_FILESYSTEM: set union filesystem
+# (Default: aufs)
+LB_UNION_FILESYSTEM="aufs"
+
+# $LB_EXPOSED_ROOT: expose root as read only
+# (Default: false)
+LB_EXPOSED_ROOT="false"
+
+# $LB_HOOKS: set hook commands
+# (Default: empty)
+LB_HOOKS=""
+
+# $LB_INTERACTIVE: set interactive build
+# (Default: false)
+LB_INTERACTIVE="false"
+
+# $LB_KEYRING_PACKAGES: set keyring packages
+# (Default: empty)
+LB_KEYRING_PACKAGES="debian-archive-keyring"
+
+# $LB_LINUX_FLAVOURS: set kernel flavour to use
+# (Default: autodetected)
+LB_LINUX_FLAVOURS="kirkwood"
+
+# $LB_LINUX_PACKAGES: set kernel packages to use
+# (Default: autodetected)
+LB_LINUX_PACKAGES="linux-image"
+
+# $LB_SECURITY: enable security updates
+# (Default: true)
+LB_SECURITY="true"
+
+# $LB_UPDATES: enable updates updates
+# (Default: false)
+LB_UPDATES="false"
+
+# $LB_BACKPORTS: enable backports updates
+# (Default: false)
+LB_BACKPORTS="false"
diff --git a/config/common b/config/common
new file mode 100644
index 0000000..3ba9d46
--- /dev/null
+++ b/config/common
@@ -0,0 +1,138 @@
+# config/common - common options for live-build(7)
+
+# LB_CONFIG_VERSION: internal version of the configuration file format
+LB_CONFIG_VERSION="3.0~a67"
+
+# $LB_APT: set package manager
+# (Default: apt)
+LB_APT="apt"
+
+# $LB_APT_FTP_PROXY: set apt/aptitude ftp proxy
+# (Default: autodetected or empty)
+LB_APT_FTP_PROXY=""
+
+# $LB_APT_HTTP_PROXY: set apt/aptitude http proxy
+# (Default: autodetected or empty)
+LB_APT_HTTP_PROXY=""
+
+# $LB_APT_PIPELINE: set apt/aptitude pipeline depth
+# (Default: )
+LB_APT_PIPELINE=""
+
+# $LB_APT_RECOMMENDS: set apt/aptitude recommends
+# (Default: true)
+LB_APT_RECOMMENDS="true"
+
+# $LB_APT_SECURE: set apt/aptitude security
+# (Default: true)
+LB_APT_SECURE="true"
+
+# $LB_APT_SOURCE_ARCHIVES: set apt/aptitude source entries in sources.list
+# (Default: true)
+LB_APT_SOURCE_ARCHIVES="true"
+
+# $LB_BOOTSTRAP: set bootstrap program
+# (Default: debootstrap)
+LB_BOOTSTRAP="debootstrap"
+
+# $LB_CACHE: control cache
+# (Default: true)
+LB_CACHE="true"
+
+# $LB_CACHE_INDICES: control if downloaded package indices should be cached
+# (Default: true)
+LB_CACHE_INDICES="true"
+
+# $LB_CACHE_PACKAGES: control if downloaded packages files should be cached
+# (Default: true)
+LB_CACHE_PACKAGES="true"
+
+# $LB_CACHE_STAGES: control if completed stages should be cached
+# (Default: rootfs)
+LB_CACHE_STAGES="rootfs"
+
+# $LB_DEBCONF_FRONTEND: set debconf(1) frontend to use
+# (Default: noninteractive)
+LB_DEBCONF_FRONTEND="noninteractive"
+
+# $LB_DEBCONF_PRIORITY: set debconf(1) priority to use
+# (Default: critical)
+LB_DEBCONF_PRIORITY="critical"
+
+# $LB_INITRAMFS: set initramfs hook
+# (Default: live-boot)
+LB_INITRAMFS="live-boot"
+
+# $LB_INITRAMFS_COMPRESSION: set initramfs compression
+# (Default: gzip)
+LB_INITRAMFS_COMPRESSION="gzip"
+
+# $LB_INITSYSTEM: set init system
+# (Default: sysvinit)
+LB_INITSYSTEM="sysvinit"
+
+# $LB_FDISK: set fdisk program
+# (Default: autodetected)
+LB_FDISK="fdisk.distrib"
+
+# $LB_LOSETUP: set losetup program
+# (Default: autodetected)
+LB_LOSETUP="losetup"
+
+# $LB_MODE: set distribution mode
+# (Default: debian)
+LB_MODE="debian"
+
+# $LB_SYSTEM: set system type
+# (Default: live)
+LB_SYSTEM="live"
+
+# $LB_ROOT_COMMAND: use sudo or equivalent
+# (Default: empty)
+#LB_ROOT_COMMAND="sudo"
+
+# $LB_USE_FAKEROOT: use fakeroot/fakechroot
+# (Default: false)
+LB_USE_FAKEROOT="false"
+
+# $LB_TASKSEL: set tasksel program
+# (Default: apt)
+LB_TASKSEL="apt"
+
+# $LB_TEMPLATES: set templates
+# (Default: /usr/share/live/build/templates)
+LB_TEMPLATES="/usr/share/live/build/templates"
+
+# live-build options
+
+# $_BREAKPOINTS: enable breakpoints
+# (Default: false)
+#_BREAKPOINTS="false"
+
+# $_DEBUG: enable debug
+# (Default: false)
+#_DEBUG="false"
+
+# $_COLOR: enable color
+# (Default: false)
+#_COLOR="false"
+
+# $_FORCE: enable force
+# (Default: false)
+#_FORCE="false"
+
+# $_QUIET: enable quiet
+# (Default: false)
+_QUIET="false"
+
+# $_VERBOSE: enable verbose
+# (Default: false)
+#_VERBOSE="false"
+
+# Internal stuff (FIXME)
+APT_OPTIONS="--yes"
+APTITUDE_OPTIONS="--assume-yes"
+DEBOOTSTRAP_OPTIONS=""
+CDEBOOTSTRAP_OPTIONS=""
+GZIP_OPTIONS="-6 --rsyncable"
+ISOHYBRID_OPTIONS=""
diff --git a/config/package-lists/torouter.list.chroot b/config/package-lists/torouter.list.chroot
new file mode 100644
index 0000000..f027e0d
--- /dev/null
+++ b/config/package-lists/torouter.list.chroot
@@ -0,0 +1 @@
+vim
diff --git a/config/source b/config/source
new file mode 100644
index 0000000..93a022a
--- /dev/null
+++ b/config/source
@@ -0,0 +1,9 @@
+# config/source - options for live-build(7), source stage
+
+# $LB_SOURCE: set source option
+# (Default: false)
+LB_SOURCE="false"
+
+# $LB_SOURCE_IMAGES: set image type
+# (Default: tar)
+LB_SOURCE_IMAGES="tar"