#!/bin/bash

declare -F vg_free_size > /dev/null || source /var/tmp/install/storage/stutil.sh

print_cmdline_options() {
  local vgname rootdev uuid
  vgname=$(get_dev .vgname)
  rootdev=$(get_dev .lv.root.dev)
  cat <<EOF
root=$rootdev
rd.lvm.vg=$vgname
EOF
  if is_data_on_raid; then
    uuid=$(get_uuid $(get_parent $(get_dev .data.disk) | sort -u))
    [[ $uuid ]] || return
    cat <<EOF
rd.md.uuid=$uuid
EOF
  fi
  get_profile ".cmdline // [] | .[]"
}

configure_cmdline() {
  mkdir -p /etc/kernel
  print_cmdline_options > /etc/kernel/cmdline
}

do_prepare() {
  run configure_mdadm || return
  run configure_fstab || return
  run configure_cmdline || return
  run update_lvmdevices || return
}

return 2> /dev/null || {
  do_prepare
}
