__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") os=$(cat "$__global/explorer/os")
case "$os" in case "$os" in
archlinux) archlinux)
# any linux should work 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 echo "Your operating system ($os) is currently not supported by this type (${__type##*/})." >&2
exit 1 echo "Please contribute an implementation for it if you can." >&2
;; exit 1
;;
esac esac
# Our root # Our root
@ -44,6 +45,35 @@ for rootdir in boot bin etc lib; do
--mode 0755 --mode 0755
done done
require="__directory/$destination/etc" __cdistmarker \ require="__directory/$destination/etc" __cdistmarker \
--destination "$destination/etc/cdist-configured" --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