diff options
Diffstat (limited to 'build-os')
| -rwxr-xr-x | build-os | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/build-os b/build-os new file mode 100755 index 0000000..17f41bb --- /dev/null +++ b/build-os @@ -0,0 +1,50 @@ +#!/bin/bash -xe + +set -o pipefail + +. config +. sh-lib + +version=$( date +%Y%m%d.%H%M%S ) + +# Check for dependencies: +package_deps debootstrap + +function unmount_pseudo_filesystems(){ + set +e + for dir in dev sys proc; do umount -v "$root"/"$dir"; done + set -e +} + +function on_exit(){ + set +e + unmount_pseudo_filesystems +} +trap on_exit EXIT + +root="${roots:?}"/"$version" + +mkdir -p "$root" + +# bootstrap the OS + +debootstrap "$codename" "$root" + +for dir in /proc /sys /dev; do + mount --bind "$dir" "$root"/"$dir" +done + +export DEBIAN_FRONTEND=noninteractive +export version +export root +export osname +export osversion +export osdesc +export branch +export remote + +run-parts --exit-on-error -- hooks/build-os + +unmount_pseudo_filesystems + +run-parts --exit-on-error -- hooks/build-os-post |
