# EFI Sync Automatically install your kernel and initrd into the EFI when your Slackware system is updated. ``` Usage: ./efi-sync {install|watch} - install: install the kernel and initrd into your EFI. - watch: install on updates to your kernel ``` `efi-sync watch` watches your kernel path for updates. Your EFI will be updated once one is detected and the package commands have completed. For systems using an initial ram disk (initrd), `efi-sync watch` watches /lib/modules and /lib/firmware for updates. Your system is assumed to use one if '/etc/mkinitrd.conf' is present on start. Once changes are detected, the initrd file is recreated using 'mkinitrd' and with the result installed into the EFI. You will need to manually install the initrd if it was recreated outside of this program. ## Project To Do's Planned improvements and known bugs are listed on the project's [todo](https://git.server.ky/slackcoder/efi-sync/tree?h=todo) branch. ## Installation Run the following are root to install this command: ``` cp efi-sync /usr/local/sbin/efi-sync chown root:root /usr/local/sbin/efi-sync chmod +x /usr/local/sbin/efi-sync ``` The efi-sync will need to be integrated to start automatically on your system. ## Configuration The command looks for configuration at /etc/efi-sync.conf. Here is an example with the default values: ``` # The kernel path to watch. KERNEL=/boot/vmlinuz # The path to the EFI kernel. EFI_KERNEL=/boot/efi/Slackware/vmlinuz # The path for the initial ram disk to install. INITRD=/boot/initrd.gz # The path to the EFI's initial ram disk. EFI_INITRD=/boot/efi/Slackware/initrd.gz ``` If you want the initial ram disk updated, ensure /etc/mkinitrd.conf exists and is configured correctly. ### Testing To test everything is working correctly: ``` slackpkg -batch=on -default_answer=y upgrade --reinstall kernel-huge # You should confirm the recent update with this output. date -r /boot/efi/EFI/Slackware/vmlinuz ``` For initrd updates: ``` slackpkg -batch=on -default_answer=y upgrade --reinstall kernel-firmware # You should confirm the recent update with this output. date -r /boot/efi/EFI/Slackware/initrd.gz ```