diff --git a/.gitignore b/.gitignore index 4eb6bb06..067f4154 100644 --- a/.gitignore +++ b/.gitignore @@ -33,6 +33,9 @@ /config.status /config.log /autom4te.cache +/man/man1/limine-version.1 +/man/man1/limine-deploy.1 +/man/man1/limine-enroll-config.1 /GNUmakefile /config.h /common-bios diff --git a/GNUmakefile.in b/GNUmakefile.in index af9bf84a..1c8939bb 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -6,6 +6,8 @@ override exec_prefix := @exec_prefix@ override ACBINDIR := @bindir@ override ACDATAROOTDIR := @datarootdir@ override ACINCLUDEDIR := @includedir@ +override datarootdir := @datarootdir@ +override mandir := @mandir@ DESTDIR ?= @@ -127,6 +129,10 @@ clean: limine-bios-clean limine-uefi-ia32-clean limine-uefi-x86-64-clean limine- .PHONY: install install: all + $(INSTALL) -d '$(call SHESCAPE,$(DESTDIR)$(mandir))/man1' + $(INSTALL_DATA) '$(call SHESCAPE,$(BUILDDIR))/man/man1/limine-version.1' '$(call SHESCAPE,$(DESTDIR)$(mandir))/man1/' + $(INSTALL_DATA) '$(call SHESCAPE,$(BUILDDIR))/man/man1/limine-deploy.1' '$(call SHESCAPE,$(DESTDIR)$(mandir))/man1/' + $(INSTALL_DATA) '$(call SHESCAPE,$(BUILDDIR))/man/man1/limine-enroll-config.1' '$(call SHESCAPE,$(DESTDIR)$(mandir))/man1/' $(INSTALL) -d '$(call SHESCAPE,$(DESTDIR)$(ACDATAROOTDIR))' $(INSTALL) -d '$(call SHESCAPE,$(DESTDIR)$(ACDATAROOTDIR))/limine' ifeq ($(BUILD_BIOS),limine-bios) @@ -169,6 +175,9 @@ endif .PHONY: uninstall uninstall: + rm -f '$(call SHESCAPE,$(DESTDIR)$(mandir))/man1/limine-version.1' + rm -f '$(call SHESCAPE,$(DESTDIR)$(mandir))/man1/limine-deploy.1' + rm -f '$(call SHESCAPE,$(DESTDIR)$(mandir))/man1/limine-enroll-config.1' rm -f '$(call SHESCAPE,$(DESTDIR)$(ACBINDIR))/limine-version' rm -f '$(call SHESCAPE,$(DESTDIR)$(ACBINDIR))/limine-enroll-config' rm -f '$(call SHESCAPE,$(DESTDIR)$(ACBINDIR))/limine-deploy' diff --git a/configure.ac b/configure.ac index 69101311..19852319 100644 --- a/configure.ac +++ b/configure.ac @@ -11,6 +11,9 @@ BUILDDIR="$(pwd -P)" AC_SUBST([SRCDIR]) AC_SUBST([BUILDDIR]) +REGEN_DATE="m4_esyscmd([date '+%B %Y' | tr -d '\n'])" +AC_SUBST([REGEN_DATE]) + test "x$CFLAGS" = "x" && CFLAGS='-g -O2 -pipe -Wall -Wextra' AC_LANG([C]) @@ -224,5 +227,5 @@ AC_SUBST([LIMINE_COPYRIGHT]) AC_PREFIX_DEFAULT([/usr/local]) -AC_CONFIG_FILES([GNUmakefile config.h]) +AC_CONFIG_FILES([man/man1/limine-version.1 man/man1/limine-deploy.1 man/man1/limine-enroll-config.1 GNUmakefile config.h]) AC_OUTPUT diff --git a/man/man1/limine-deploy.1.in b/man/man1/limine-deploy.1.in new file mode 100644 index 00000000..bde82134 --- /dev/null +++ b/man/man1/limine-deploy.1.in @@ -0,0 +1,39 @@ +.TH LIMINE-DEPLOY 1 "version @PACKAGE_VERSION@" "@REGEN_DATE@" + +.SH NAME +limine-deploy \- install BIOS port's early stages to device + +.SH SYNOPSIS +.B limine-deploy +.RI " [ GPT partition index ]" + +.SH DESCRIPTION +\fBlimine-deploy\fR installs the BIOS port's early stages to the specified device. + +.SH OPTIONS +.TP +.BR \-h ", " \-\-help +Show the available command-line options and exit +.TP +.BR \-\-force-mbr +Force MBR detection to work even if the safety checks fail (\fIDANGEROUS\fR!) +.TP +.BR \-\-undeploy +Reverse the entire deployment procedure +.TP +.BR \-\-undeploy-data-file= \fIfilename +Set the input (for --undeploy) or output file name of the file which contains undeploy data +.TP +.BR \-\-quiet +Do not print verbose diagnostic messages + +.SH BUGS +Please report bugs via +.IR @PACKAGE_BUGREPORT@ . + +.SH HOMEPAGE +.I @PACKAGE_URL@ + +.SH SEE ALSO +.BR limine-version (1) +.BR limine-enroll-config (1) diff --git a/man/man1/limine-enroll-config.1.in b/man/man1/limine-enroll-config.1.in new file mode 100644 index 00000000..e1a2dfc3 --- /dev/null +++ b/man/man1/limine-enroll-config.1.in @@ -0,0 +1,34 @@ +.TH LIMINE-ENROLL-CONFIG 1 "version @PACKAGE_VERSION@" "@REGEN_DATE@" + +.SH NAME +limine-enroll-config \- embed config hash into Limine executable + +.SH SYNOPSIS +.B limine-enroll-config +.RI " " + +.SH DESCRIPTION +\fBlimine-enroll-config\fR embeds the config file's BLAKE2B hash into a valid Limine bootloader +executable, such as its EFI executable or limine.sys, for tampering prevention purposes. + +.SH OPTIONS +.TP +.BR \-h ", " \-\-help +Show the available command-line options and exit +.TP +.BR \-\-reset +Remove enrolled BLAKE2B, will not check config intergrity +.TP +.BR \-\-quiet +Do not print verbose diagnostic messages + +.SH BUGS +Please report bugs via +.IR @PACKAGE_BUGREPORT@ . + +.SH HOMEPAGE +.I @PACKAGE_URL@ + +.SH SEE ALSO +.BR limine-version (1) +.BR limine-deploy (1) diff --git a/man/man1/limine-version.1.in b/man/man1/limine-version.1.in new file mode 100644 index 00000000..c99e675a --- /dev/null +++ b/man/man1/limine-version.1.in @@ -0,0 +1,22 @@ +.TH LIMINE-VERSION 1 "version @PACKAGE_VERSION@" "@REGEN_DATE@" + +.SH NAME +limine-version \- print Limine version + +.SH SYNOPSIS +.B limine-version + +.SH DESCRIPTION +\fBlimine-version\fR prints the version number of the installed copy of Limine +to standard output. + +.SH BUGS +Please report bugs via +.IR @PACKAGE_BUGREPORT@ . + +.SH HOMEPAGE +.I https://limine-bootloader.org/ + +.SH SEE ALSO +.BR limine-deploy (1) +.BR limine-enroll-config (1)