summaryrefslogtreecommitdiffstats
path: root/dracut-initramfs-builder/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'dracut-initramfs-builder/tasks/main.yml')
-rw-r--r--dracut-initramfs-builder/tasks/main.yml37
1 files changed, 37 insertions, 0 deletions
diff --git a/dracut-initramfs-builder/tasks/main.yml b/dracut-initramfs-builder/tasks/main.yml
new file mode 100644
index 0000000..9cb25be
--- /dev/null
+++ b/dracut-initramfs-builder/tasks/main.yml
@@ -0,0 +1,37 @@
+---
+- include: tasks/distro.yml
+
+- name: Install dependencies for OpenSLX dracut module
+ package: name={{ item }} state=installed
+ with_items: "{{ pkgnames }}"
+
+- name: Checkout repository of OpenSLX dracut module
+ git:
+ repo: "{{ gitsource }}"
+ dest: "{{ gittarget }}"
+ depth: 1
+- name: Hack: fix dnbd3 blk.h for CentOS (one day this should get fixed in dnbd3 :))
+ replace:
+ dest: "{{ gittarget }}/builder/modules.d/dnbd3-rootfs/scripts/build.sh"
+ regexp: 'make -j4 dnbd3 dnbd3-client'
+ replace: 'sed -i "s/KERNEL_VERSION.*/KERNEL_VERSION\(3, 10, 0\)/g" blk.h && make -j4 dnbd3 dnbd3-client'
+ backup: yes
+ when:
+ - ansible_distribution == "CentOS"
+- name: Build initramfs with dracut
+ shell: "{{ gittarget }}/builder/build-initramfs.sh -s -d -p {{ gittarget }}/initramfs"
+ args:
+ creates: "{{ gittarget }}/initramfs"
+- name: Fetch built initramfs and kernel (+ hack for weird /@ prefix of BOOT_IMAGE)
+ fetch:
+ src: "{{ item }}"
+ dest: "{{ playbook_dir }}/boot_files/"
+ fail_on_missing: yes
+ flat: yes
+ with_items:
+ - "{{ gittarget }}/initramfs"
+ - "{{ ansible_cmdline.BOOT_IMAGE | regex_replace('^/@(/boot/.*)+$', '\\1') }}"
+- name: Cleanup
+ file:
+ path: "{{ gittarget }}"
+ state: absent