From 65e59c65a2013cc5aa23e9868847917bfb2b8e20 Mon Sep 17 00:00:00 2001 From: Felix Stupp Date: Sun, 18 Oct 2020 18:24:25 +0200 Subject: [PATCH] Added role boot to configure GRUB / Plymouth --- playbook/group_vars/all.yml | 2 + playbook/roles/boot/defaults/main.yml | 7 ++++ playbook/roles/boot/handlers/main.yml | 7 ++++ playbook/roles/boot/meta/main.yml | 3 ++ playbook/roles/boot/tasks/main.yml | 39 +++++++++++++++++++ .../boot/templates}/default_grub.txt | 2 +- playbook/roles/boot/templates/plymouthd.conf | 2 + playbook/site.yml | 28 ++----------- playbook/templates/global/plymouthd.conf | 2 - 9 files changed, 64 insertions(+), 28 deletions(-) create mode 100644 playbook/roles/boot/defaults/main.yml create mode 100644 playbook/roles/boot/handlers/main.yml create mode 100644 playbook/roles/boot/meta/main.yml create mode 100644 playbook/roles/boot/tasks/main.yml rename playbook/{templates/global => roles/boot/templates}/default_grub.txt (92%) create mode 100644 playbook/roles/boot/templates/plymouthd.conf delete mode 100644 playbook/templates/global/plymouthd.conf diff --git a/playbook/group_vars/all.yml b/playbook/group_vars/all.yml index fde21df..228d513 100644 --- a/playbook/group_vars/all.yml +++ b/playbook/group_vars/all.yml @@ -14,4 +14,6 @@ ansible_user: "{{ admin_user }}" ansible_become: yes ansible_become_pass: "{{ admin_pass }}" +global_plymouth_themes_directory: "/usr/share/plymouth/themes" + LOCAL_SALT: "o8hAvjdHzUxN9mKqc2mAyQUs838jb9ZVL55gsZe459bsoKw66YrH7mWMMhcyDC7t8ZdAhbucVgsM3vkb" diff --git a/playbook/roles/boot/defaults/main.yml b/playbook/roles/boot/defaults/main.yml new file mode 100644 index 0000000..3b182bc --- /dev/null +++ b/playbook/roles/boot/defaults/main.yml @@ -0,0 +1,7 @@ +--- + +# system_name: "Example System" + +plymouth_theme_pack: internal # internal does prevent download +plymouth_theme: spinner +plymouth_theme_url: "https://github.com/adi1090x/files/raw/master/plymouth-themes/themes/{{ plymouth_theme_pack }}/{{ plymouth_theme }}.tar.gz" diff --git a/playbook/roles/boot/handlers/main.yml b/playbook/roles/boot/handlers/main.yml new file mode 100644 index 0000000..1ef1c2b --- /dev/null +++ b/playbook/roles/boot/handlers/main.yml @@ -0,0 +1,7 @@ +--- + +- name: update-grub + command: /usr/sbin/update-grub + +- name: rebuild initrd + command: /usr/sbin/update-initramfs -u diff --git a/playbook/roles/boot/meta/main.yml b/playbook/roles/boot/meta/main.yml new file mode 100644 index 0000000..611d474 --- /dev/null +++ b/playbook/roles/boot/meta/main.yml @@ -0,0 +1,3 @@ +--- + +allow_duplicates: no diff --git a/playbook/roles/boot/tasks/main.yml b/playbook/roles/boot/tasks/main.yml new file mode 100644 index 0000000..1ab38d4 --- /dev/null +++ b/playbook/roles/boot/tasks/main.yml @@ -0,0 +1,39 @@ +--- + +- name: Install required packages + apt: + state: present + name: + - plymouth # Bootup Splash + - plymouth-themes # Bootup Splash Theme + +- name: Configure GRUB + template: + src: default_grub.txt + dest: /etc/default/grub + owner: root + group: root + mode: u=rw,g=r,o=r + notify: + - update-grub + +- name: Download plymouth theme + unarchive: + src: "{{ plymouth_theme_url }}" + dest: "{{ global_plymouth_themes_directory }}" + remote_src: yes + owner: root + group: root + mode: u=rwX,g=rX,o=rX + creates: "{{ global_plymouth_themes_directory }}/{{ plymouth_theme }}" + when: plymouth_theme_pack != 'internal' + +- name: Configure Plymouth + template: + src: plymouthd.conf + dest: /etc/plymouth/plymouthd.conf + owner: root + group: root + mode: u=rw,g=r,o=r + notify: + - rebuild initrd diff --git a/playbook/templates/global/default_grub.txt b/playbook/roles/boot/templates/default_grub.txt similarity index 92% rename from playbook/templates/global/default_grub.txt rename to playbook/roles/boot/templates/default_grub.txt index bdcfd9e..c185d72 100644 --- a/playbook/templates/global/default_grub.txt +++ b/playbook/roles/boot/templates/default_grub.txt @@ -3,7 +3,7 @@ GRUB_DEFAULT=0 GRUB_TIMEOUT=0 GRUB_TIMEOUT_STYLE="hidden" -GRUB_DISTRIBUTOR="ImageViewer (`lsb_release -i -s 2> /dev/null || echo Debian`)" +GRUB_DISTRIBUTOR="{{ system_name }} (`lsb_release -i -s 2> /dev/null || echo Debian`)" GRUB_CMDLINE_LINUX_DEFAULT="quiet splash loglevel=0 rd.systemd.show_status=quiet rd.udev.log-priority=3 vt.global_cursor_default=0" GRUB_CMDLINE_LINUX="" diff --git a/playbook/roles/boot/templates/plymouthd.conf b/playbook/roles/boot/templates/plymouthd.conf new file mode 100644 index 0000000..4eca16d --- /dev/null +++ b/playbook/roles/boot/templates/plymouthd.conf @@ -0,0 +1,2 @@ +[Daemon] +Theme={{ plymouth_theme }} diff --git a/playbook/site.yml b/playbook/site.yml index 10480c2..f553c83 100644 --- a/playbook/site.yml +++ b/playbook/site.yml @@ -13,11 +13,9 @@ - name: Configure ImageViewer hosts: all - handlers: - - name: update-grub - command: /usr/sbin/update-grub - - name: rebuild initrd - command: /usr/sbin/update-initramfs -u + roles: + - role: boot + system_name: ImageViewer tasks: - name: Update and upgrade packages apt: @@ -43,8 +41,6 @@ - gvfs-fuse # For automatic mount by pcmanfm - network-manager # For using wifi connections (for auto update) # Frontend dependencies - - plymouth # Bootup Splash - - plymouth-themes # Bootup Splash Theme - lightdm # Desktop Manager, autologin and relogin to admin account - lightdm-gtk-greeter # Greeter for Desktop Manager - xorg # XServer @@ -78,24 +74,6 @@ state: enabled policy: deny direction: incoming - - name: Configure GRUB - template: - src: global/default_grub.txt - dest: /etc/default/grub - owner: root - group: root - mode: u=rw,g=r,o=r - notify: - - update-grub - - name: Configure Plymouth - template: - src: global/plymouthd.conf - dest: /etc/plymouth/plymouthd.conf - owner: root - group: root - mode: u=rw,g=r,o=r - notify: - - rebuild initrd - name: Configure SystemD LoginD lineinfile: path: /etc/systemd/logind.conf diff --git a/playbook/templates/global/plymouthd.conf b/playbook/templates/global/plymouthd.conf deleted file mode 100644 index 0aae794..0000000 --- a/playbook/templates/global/plymouthd.conf +++ /dev/null @@ -1,2 +0,0 @@ -[Daemon] -Theme=spinner