__cdist_preos enhancements

Signed-off-by: Nico Schottelius <nico@wurzel.schottelius.org>
This commit is contained in:
Nico Schottelius 2015-05-05 13:53:47 +02:00
parent a0aba11e77
commit 56c7431467
1 changed files with 40 additions and 10 deletions

View File

@ -24,15 +24,16 @@ destination="/$__object_id"
os=$(cat "$__global/explorer/os")
case "$os" in
archlinux)
# any linux should work
:
;;
*)
echo "Your operating system ($os) is currently not supported by this type (${__type##*/})." >&2
echo "Please contribute an implementation for it if you can." >&2
exit 1
;;
archlinux)
kernel=/boot/vmlinuz-linux
initramfs=/boot/initramfs-linux-fallback.img
required_pkg="cdrkit syslinux"
;;
*)
echo "Your operating system ($os) is currently not supported by this type (${__type##*/})." >&2
echo "Please contribute an implementation for it if you can." >&2
exit 1
;;
esac
# Our root
@ -44,6 +45,35 @@ for rootdir in boot bin etc lib; do
--mode 0755
done
require="__directory/$destination/etc" __cdistmarker \
--destination "$destination/etc/cdist-configured"
for pkg in $required_pkg; do
__package "$pkg" --state present
done
# Create full dependency chain, because we don't know which file depends on which package
export CDIST_ORDER_DEPENDENCY=1
require="__directory/$destination/boot" __file "$destination/boot/linux" \
--source "$kernel" --mode 0644
require="__directory/$destination/boot" __file "$destination/boot/initramfs" \
--source "$initramfs" --mode 0644
require="__directory/$destination/boot" __file "$destination/boot/syslinux.cfg" \
PROMPT 1
TIMEOUT 50
DEFAULT arch
LABEL arch
LINUX ../vmlinuz-linux
APPEND root=/dev/sda2 rw
INITRD ../initramfs-linux.img
LABEL archfallback
LINUX ../vmlinuz-linux
APPEND root=/dev/sda2 rw
INITRD ../initramfs-linux-fallback.img