Generate checksums and a backup for /boot, MBR and BIOS.
Go to file
2019-06-20 15:12:45 +02:00
hooks Moved kernel-hook to hooks/kernel-postinst. 2019-06-20 14:30:57 +02:00
init Updated SysVinit script. 2019-03-29 23:51:15 +01:00
.gitignore Added manpage. 2019-02-24 15:29:11 +01:00
arch_instructions.md Update Arch instructions 2019-06-16 14:53:40 -07:00
build_manpage.sh Added manpage. 2019-02-24 15:29:11 +01:00
hashboot Whitespace cleanup. 2019-03-30 00:35:10 +01:00
hashboot.1.adoc Got rid of table in manpage. 2019-04-12 19:52:41 +02:00
LICENSE Typo. 2019-03-29 23:19:08 +01:00
README.md Updated kernel-hook location in readme. 2019-06-20 15:12:45 +02:00

hashboot hashes all files in /boot and the MBR to check them during early boot. It is intended for when you have encrypted the root partition but not the boot partition. The checksums and a backup of the contents of /boot are stored in /var/lib/hashboot by default. If a checksum doesn't match, you have the option to restore the file from backup.

If there is a core- or libreboot BIOS and flashrom installed, hashboot can check the BIOS for modifications too.

Install

Packages

Void Linux

xbps-install -S hashboot

Gentoo

Ebuilds are available via the tastytea repository.

emerge -a sys-apps/hashboot
rc-update add hashboot boot

Manual

Arch Linux

Go to the Arch installation instructions.

Any distro

  • Make hashboot executable
  • Place hashboot anywhere in ${PATH}
  • Install the appropriate init script
  • If applicable, copy hooks/kernel-postinst to /etc/kernel/post{inst,rm}.d/zzz-hashboot (make sure it is called after all other hooks)
  • To generate the manpage, install asciidoc and run build_manpage.sh.

Usage

  • First run creates a configuration file. Select the desired checkroutines
  • Run hashboot index to generate checksums and a backup for /boot and MBR
  • Run hashboot check to check /boot and MBR
  • Run hashboot recover to replace corrupted files with the backup

Notes

  • You can't use the openrc/sysv init scripts with parallel boot.
  • The systemd and SysVinit init scripts have not been tested in a while, but will probably work.

License

"THE HUG-WARE LICENSE" (Revision 2):
teldra <teldra@rotce.de> and tastytea <tastytea@tastytea.de> wrote this.
As long as you retain this notice you can do whatever you want with this.
If we meet some day, and you think this is nice, you can give us a hug.