module-setup.sh.in 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/bin/bash
  2. # vim: set tabstop=8 shiftwidth=4 softtabstop=4 expandtab smarttab colorcolumn=80:
  3. #
  4. # Copyright (c) 2016 Red Hat, Inc.
  5. # Author: Nathaniel McCallum <npmccallum@redhat.com>
  6. #
  7. # This program is free software: you can redistribute it and/or modify
  8. # it under the terms of the GNU General Public License as published by
  9. # the Free Software Foundation, either version 3 of the License, or
  10. # (at your option) any later version.
  11. #
  12. # This program is distributed in the hope that it will be useful,
  13. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. # GNU General Public License for more details.
  16. #
  17. # You should have received a copy of the GNU General Public License
  18. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  19. #
  20. depends() {
  21. echo clevis network
  22. return 0
  23. }
  24. have_tang_bindings() {
  25. . clevis-luks-common-functions
  26. local dev
  27. for dev in $(clevis_devices_to_unlock "list-open-devices"); do
  28. if clevis luks list -d "${dev}" | grep -q tang; then
  29. return 0
  30. fi
  31. done
  32. return 1
  33. }
  34. install() {
  35. if [ "${hostonly_cmdline}" = "yes" ] && have_tang_bindings; then
  36. echo "rd.neednet=1" > "${initdir}/etc/cmdline.d/99clevis-pin-tang.conf"
  37. fi
  38. inst_multiple \
  39. clevis-decrypt-tang \
  40. curl
  41. }