From ec4e9ce9c54c369e110904d83528644beeee1340 Mon Sep 17 00:00:00 2001 From: ficus Date: Thu, 8 Nov 2012 13:40:14 -0500 Subject: initial almost-untouched debian live configuration --- README | 33 ++++++ auto/build | 3 + auto/clean | 6 ++ auto/config | 19 ++++ config/binary | 162 ++++++++++++++++++++++++++++++ config/bootstrap | 121 ++++++++++++++++++++++ config/chroot | 45 +++++++++ config/common | 138 +++++++++++++++++++++++++ config/package-lists/torouter.list.chroot | 1 + config/source | 9 ++ 10 files changed, 537 insertions(+) create mode 100644 README create mode 100755 auto/build create mode 100755 auto/clean create mode 100755 auto/config create mode 100644 config/binary create mode 100644 config/bootstrap create mode 100644 config/chroot create mode 100644 config/common create mode 100644 config/package-lists/torouter.list.chroot create mode 100644 config/source 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" -- cgit v1.2.3