diff --git a/defaults/main.yml b/defaults/main.yml new file mode 100644 index 0000000..6406982 --- /dev/null +++ b/defaults/main.yml @@ -0,0 +1,4 @@ +grub_cmdline_linux: +grub_cmdline_linux_default: quiet +grub_disable_recovery: false +grub_terminal: console diff --git a/tasks/main.yml b/tasks/main.yml index 87608f4..8fe23f9 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,4 +1,27 @@ --- +- include_role: + name: chroot_environment + vars: + chroot_environment_state: mounted + when: root_target_directory is defined + +- name: default grub settings + template: + src: default-grub.j2 + dest: "{{ root_target_directory }}/etc/default/grub" + +- name: grub-install + command: chroot {{ root_target_directory }} grub-install {{ boot_devices | join(" ") }} + +- name: update-grub + command: chroot {{ root_target_directory }} update-grub - name: update initramfs command: chroot {{ root_target_directory }} update-initramfs -u + + +- include_role: + name: chroot_environment + vars: + chroot_environment_state: unmounted + when: root_target_directory is defined diff --git a/templates/default-grub.j2 b/templates/default-grub.j2 new file mode 100644 index 0000000..7177dab --- /dev/null +++ b/templates/default-grub.j2 @@ -0,0 +1,34 @@ +{{ ansible_managed | comment }} + +# If you change this file, run 'update-grub' afterwards to update +# /boot/grub/grub.cfg. +# For full documentation of the options in this file, see: +# info -f grub -n 'Simple configuration' + +GRUB_DEFAULT=0 +GRUB_TIMEOUT=5 +GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` +GRUB_CMDLINE_LINUX_DEFAULT="{{ grub_cmdline_linux_default }}" +GRUB_CMDLINE_LINUX="{{ grub_cmdline_linux }}" + +# Uncomment to enable BadRAM filtering, modify to suit your needs +# This works with Linux (no patch required) and with any kernel that obtains +# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...) +#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" + +# Uncomment to disable graphical terminal (grub-pc only) +GRUB_TERMINAL="{{ grub_terminal }}" + +# The resolution used on graphical terminal +# note that you can use only modes which your graphic card supports via VBE +# you can see them in real GRUB with the command `vbeinfo' +#GRUB_GFXMODE=640x480 + +# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux +#GRUB_DISABLE_LINUX_UUID=true + +# Uncomment to disable generation of recovery mode menu entries +GRUB_DISABLE_RECOVERY="{{ grub_disable_recovery }}" + +# Uncomment to get a beep at grub start +#GRUB_INIT_TUNE="480 440 1"