parent
6e9dca6c82
commit
40ecd9dbfe
@ -0,0 +1,2 @@
|
||||
depends root-dir
|
||||
base/wsl.binary
|
@ -0,0 +1,52 @@
|
||||
#!/bin/bash -eux
|
||||
# vi: ts=4 expandtab
|
||||
#
|
||||
# Generate the compressed root directory for WSL
|
||||
|
||||
case ${SUBPROJECT:-} in
|
||||
minimized)
|
||||
echo "Skipping minimized $0 build as WSL systems are designed to be interactive"
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
case $ARCH in
|
||||
amd64|arm64)
|
||||
;;
|
||||
*)
|
||||
echo "WSL root tarballs are not generated for $ARCH."
|
||||
exit 0;;
|
||||
esac
|
||||
|
||||
if [ -n "${SUBARCH:-}" ]; then
|
||||
echo "Skipping rootfs build for subarch flavor build"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
. config/functions
|
||||
|
||||
rootfs_dir=wslroot.dir
|
||||
|
||||
# This is the directory created by create-root-dir.binary
|
||||
cp -a rootfs.dir $rootfs_dir
|
||||
|
||||
setup_mountpoint $rootfs_dir
|
||||
|
||||
env DEBIAN_FRONTEND=noninteractive chroot $rootfs_dir apt-get -y -qq install ubuntu-wsl
|
||||
|
||||
create_manifest $rootfs_dir livecd.ubuntu-cpc.wsl.rootfs.manifest
|
||||
teardown_mountpoint $rootfs_dir
|
||||
|
||||
# remove attributes not supported by WSL's tar
|
||||
if [ -d $rootfs_dir/var/log/journal ]; then
|
||||
setfattr -x system.posix_acl_access $rootfs_dir/var/log/journal
|
||||
setfattr -x system.posix_acl_default $rootfs_dir/var/log/journal
|
||||
fi
|
||||
|
||||
cd $rootfs_dir
|
||||
tar --xattrs --sort=name -czf ../livecd.ubuntu-cpc.wsl.rootfs.tar.gz *
|
||||
cd ..
|
||||
|
||||
rm -rf $rootfs_dir
|
@ -1,91 +0,0 @@
|
||||
#!/bin/bash -ex
|
||||
# vi: ts=4 noexpandtab
|
||||
#
|
||||
# Generate a squashfs root and manifest
|
||||
|
||||
set -x
|
||||
|
||||
echo "031-maas-squashfs.binary"
|
||||
|
||||
case $IMAGE_TARGETS in
|
||||
""|*squashfs*)
|
||||
;;
|
||||
*)
|
||||
echo "Skipping squashfs build"
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -n "$SUBARCH" ]; then
|
||||
echo "Skipping rootfs build for subarch flavor build"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
. config/functions
|
||||
. config/common
|
||||
|
||||
SQUASH_ROOT=binary/boot/squashfs.dir
|
||||
|
||||
RACK_ROOT=binary/boot/squashfs-rack.dir
|
||||
REGION_ROOT=binary/boot/squashfs-region.dir
|
||||
|
||||
OVERLAY_RACK_ROOT=binary/overlay-maas-rack
|
||||
OVERLAY_REGION_ROOT=binary/overlay-maas-region
|
||||
|
||||
mkdir -p "$RACK_ROOT"
|
||||
mkdir -p "$REGION_ROOT"
|
||||
|
||||
mkdir -p "$OVERLAY_RACK_ROOT"
|
||||
mkdir -p "$OVERLAY_REGION_ROOT"
|
||||
|
||||
# RACK is on top of the regular squashfs
|
||||
|
||||
mount_overlay "$SQUASH_ROOT/" "$OVERLAY_RACK_ROOT/" "$RACK_ROOT/"
|
||||
|
||||
setup_mountpoint $RACK_ROOT
|
||||
env DEBIAN_FRONTEND=noninteractive chroot $RACK_ROOT apt-get -y install maas-rack-controller
|
||||
rm -f $RACK_ROOT/etc/maas/rackd.conf
|
||||
chroot $RACK_ROOT sh -c 'echo RESET maas/default-maas-url | debconf-communicate maas-common'
|
||||
chroot $RACK_ROOT sh -c 'echo RESET maas-rack-controller/maas-url | debconf-communicate maas-common'
|
||||
chroot $RACK_ROOT sh -c 'echo RESET maas-rack-controller/maas-url | debconf-communicate maas-rack-controller'
|
||||
teardown_mountpoint $RACK_ROOT
|
||||
|
||||
umount "$RACK_ROOT"
|
||||
|
||||
# Full MAAS (Region) is on top of the rack
|
||||
# in overlayfs lowerdir are mounted right to left, colon separated
|
||||
mount_overlay "$OVERLAY_RACK_ROOT/:$SQUASH_ROOT/" "$OVERLAY_REGION_ROOT/" "$REGION_ROOT/"
|
||||
|
||||
setup_mountpoint $REGION_ROOT
|
||||
|
||||
env DEBIAN_FRONTEND=noninteractive chroot $REGION_ROOT apt-get -y install maas
|
||||
|
||||
# Forget how things had to be configured
|
||||
chroot $REGION_ROOT debconf -fnoninteractive -omaas-region-controller /var/lib/dpkg/info/maas-region-controller.prerm remove
|
||||
chroot $REGION_ROOT debconf -fnoninteractive -omaas-region-controller /var/lib/dpkg/info/maas-region-controller.postrm remove
|
||||
chroot $REGION_ROOT debconf -fnoninteractive -omaas-region-controller /var/lib/dpkg/info/maas-region-controller.postrm purge
|
||||
chroot $REGION_ROOT sh -c 'echo RESET maas/default-maas-url | debconf-communicate maas-common'
|
||||
chroot $REGION_ROOT sudo -u postgres psql -c 'alter role maas password null;'
|
||||
rm -f $REGION_ROOT/etc/maas/rackd.conf
|
||||
rm -f $REGION_ROOT/etc/maas/regiond.conf
|
||||
chroot $REGION_ROOT pg_ctlcluster $(/bin/ls $REGION_ROOT/var/lib/postgresql/) main stop || :
|
||||
|
||||
# After the install, one may call the below to "reconfigure" maas-region-controller
|
||||
## debconf -fnoninteractive -omaas-region-controller /var/lib/dpkg/info/maas-region-controller.config configure
|
||||
## debconf -fnoninteractive -omaas-region-controller /var/lib/dpkg/info/maas-region-controller.postinst configure
|
||||
|
||||
teardown_mountpoint "$REGION_ROOT"
|
||||
|
||||
umount "$REGION_ROOT"
|
||||
|
||||
squashfs_rack_f="${PWD}/livecd.${PROJECT}.maas-rack.squashfs"
|
||||
|
||||
(cd "$OVERLAY_RACK_ROOT/" &&
|
||||
mksquashfs . ${squashfs_rack_f} \
|
||||
-no-progress -xattrs -comp xz )
|
||||
|
||||
squashfs_region_f="${PWD}/livecd.${PROJECT}.maas-region.squashfs"
|
||||
|
||||
(cd "$OVERLAY_REGION_ROOT/" &&
|
||||
mksquashfs . ${squashfs_region_f} \
|
||||
-no-progress -xattrs -comp xz )
|
Loading…
Reference in new issue