summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authordankcuddlybear2022-05-18 11:10:00 +0100
committerdankcuddlybear2022-05-18 11:10:00 +0100
commit830b6ad96227bc82d331c37fa31b742f923f690d (patch)
tree8474c1867be9945c3931ebf594225a18c138c1fa
downloadaur-830b6ad96227bc82d331c37fa31b742f923f690d.tar.gz
Initial version
-rw-r--r--.SRCINFO15
-rw-r--r--PKGBUILD20
-rw-r--r--hackbgrt-install72
-rw-r--r--hackbgrt.install4
4 files changed, 111 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..9cc497cb309f
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,15 @@
+pkgbase = hackbgrt-bin
+ pkgdesc = Boot logo changer for 64 bit UEFI systems (precompiled)
+ pkgver = 1.5.1
+ pkgrel = 1
+ url = https://github.com/Metabolix/HackBGRT
+ install = hackbgrt.install
+ arch = x86_64
+ license = MIT
+ depends = efibootmgr
+ source = https://github.com/Metabolix/HackBGRT/releases/download/v1.5.1/HackBGRT-1.5.1.zip
+ source = hackbgrt-install
+ sha512sums = d4a362058cac10e3fa31665ee72370e0f4854fea07d9386112f0525bf4643f9d14fae25adf824fe2ab3723be2dd574c67491cc38174a989fa233e0d75e24ca84
+ sha512sums = 39657aaf6a174a00ca05ef8a8c21f67c953e8f568c517033631ae8ee90d9e0ba5600a980b22a7d65e3956bbcacc821b48b9e0964e9708092d420622b7d2d5992
+
+pkgname = hackbgrt-bin
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..a92701d6f01b
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,20 @@
+# Maintainer: Dankcuddlybear dankcuddlybear@protonmail.com
+pkgname=hackbgrt-bin
+pkgver=1.5.1
+pkgrel=1
+pkgdesc='Boot logo changer for 64 bit UEFI systems (precompiled)'
+arch=(x86_64)
+url='https://github.com/Metabolix/HackBGRT'
+license=('MIT')
+depends=('efibootmgr')
+install=hackbgrt.install
+source=('https://github.com/Metabolix/HackBGRT/releases/download/v1.5.1/HackBGRT-1.5.1.zip' 'hackbgrt-install')
+sha512sums=('d4a362058cac10e3fa31665ee72370e0f4854fea07d9386112f0525bf4643f9d14fae25adf824fe2ab3723be2dd574c67491cc38174a989fa233e0d75e24ca84' '39657aaf6a174a00ca05ef8a8c21f67c953e8f568c517033631ae8ee90d9e0ba5600a980b22a7d65e3956bbcacc821b48b9e0964e9708092d420622b7d2d5992')
+package() {
+ mkdir -p $pkgdir/usr/lib/hackbgrt $pkgdir/usr/bin
+ mv $srcdir/HackBGRT-1.5.1/bootx64.efi $pkgdir/usr/lib/hackbgrt/bootx64.efi
+ mv $srcdir/HackBGRT-1.5.1/config.txt $pkgdir/usr/lib/hackbgrt/config.txt
+ mv $srcdir/HackBGRT-1.5.1/setup.exe $pkgdir/usr/lib/hackbgrt/setup.exe
+ mv $srcdir/HackBGRT-1.5.1/splash.bmp $pkgdir/usr/lib/hackbgrt/splash.bmp
+ mv $srcdir/hackbgrt-install $pkgdir/usr/bin/hackbgrt-install
+}
diff --git a/hackbgrt-install b/hackbgrt-install
new file mode 100644
index 000000000000..6e247a064fb7
--- /dev/null
+++ b/hackbgrt-install
@@ -0,0 +1,72 @@
+#!/bin/sh
+# Try to detect EFI partition and mount point
+ESPDEV=$(echo $(fdisk -l | grep -sm 1 "EFI System") | cut -d ' ' -f 1)
+if [ ${ESPDEV:5:7} == "hd" ] || [ ${ESPDEV:5:7} == "sd" ] || [ ${ESPDEV:5:7} == "vd" ]; then
+ ESPDISK=${ESPDEV:0:8}
+ ESPPART=${ESPDEV:8}
+elif [ ${ESPDEV:5:9} == "nvme" ]; then
+ ESPDISK=${ESPDEV:0:12}
+ ESPPART=${ESPDEV:13}
+elif [ ${ESPDEV:5:11} == "mmcblk" ]; then # mmcblk0p1
+ ESPDISK=${ESPDEV:0:12}
+ ESPPART=${ESPDEV:13}
+fi
+ESPDIR=$(findmnt -no TARGET $ESPDEV)
+
+# Find existing bootloader path used to boot the system
+BOOTCURRENT=$(efibootmgr | grep -sm 1 "BootCurrent: ")
+BOOTCURRENT=$(efibootmgr -v | grep -sm 1 Boot${BOOTCURRENT:13})
+BOOTCURRENT=$(echo $BOOTCURRENT | grep -o -P "(?<=\)/File\().*(?=.efi\))").efi
+
+# Create paths
+mkdir -p $ESPDIR/EFI/boot $ESPDIR/EFI/HackBGRT
+
+# Install HackBGRT to ESP
+cp -n /usr/lib/hackbgrt/bootx64.efi $ESPDIR/EFI/boot/bootx64.efi
+cp /usr/lib/hackbgrt/bootx64.efi $ESPDIR/EFI/HackBGRT/bootx64.efi
+cp /usr/lib/hackbgrt/splash.bmp $ESPDIR/EFI/HackBGRT/splash.bmp
+
+# Create HackBGRT bootloader entry
+efibootmgr -c -d $ESPDISK -p $ESPPART -L "HackBGRT" -l '\EFI\HackBGRT\bootx64.efi'
+
+# Create HackBGRT config file
+echo "# vim: set fileencoding=utf-8" > $ESPDIR/EFI/HackBGRT/config.txt
+echo "# The same options may be given also as command line parameters in the EFI Shell, which is useful for debugging." >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# Boot loader path. Default: backup of the Windows boot loader." >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "boot=$BOOTCURRENT" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# The image is specified with an image line." >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# Multiple image lines may be present, in which case one will be picked by random." >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# The image line may contain the following parts:" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# Any of the following:" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# - \"n=[0-9]+\", a weight for this image in the randomization process. Default: n=1." >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# - \"x={auto|native|[0-9]+}\", the x coordinate. Default: x=auto." >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# - \"y={auto|native|[0-9]+}\", the y coordinate. Default: y=auto." >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# One of the following:" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# - \"keep\" to keep the firmware logo. Sets also x=native,y=native by default." >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# - \"remove\" to remove the BGRT. Makes x and y meaningless. Windows will display the Windows logo instead of a BGRT." >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# - \"black\" to use only a black image. Makes x and y meaningless." >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# - \"path=...\" to read a BMP file. The file must be a 24-bit BMP file with a 54-byte header." >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# * NOTE: The file must be on the EFI System Partition. Do not add a drive letter!" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# Examples:" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# - image=remove" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# - image=black" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# - image=x=auto,y=0,path=\EFI\HackBGRT\topimage.bmp" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# - image=n=1,path=\EFI\HackBGRT\splash.bmp" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# - image=n=50,path=\EFI\HackBGRT\probable.bmp" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# The above examples together would produce" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# - 1/54 chance for the default OS logo" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# - 1/54 chance for black screen" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# - 1/54 chance for topimage.bmp, centered at the top of the screen" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# - 1/54 chance for splash.bmp, automatically positioned" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# - 50/54 chance for probable.bmp, automatically positioned" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# Default: just one image." >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "image=path=\EFI\HackBGRT\splash.bmp" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# Preferred resolution. Use 0x0 for maximum and -1x-1 for original." >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "resolution=-1x-1" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "" >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# Debug mode (0 for disabled, 1 for enabled)." >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "# Shows debug information and prompts for keypress before booting." >> $ESPDIR/EFI/HackBGRT/config.txt
+echo "debug=0" >> $ESPDIR/EFI/HackBGRT/config.txt
diff --git a/hackbgrt.install b/hackbgrt.install
new file mode 100644
index 000000000000..27229421686a
--- /dev/null
+++ b/hackbgrt.install
@@ -0,0 +1,4 @@
+post_install() {
+ echo "Run hackbgrt-install to install HackBGRT to the ESP."
+ echo "This will configure HackBGRT to boot the bootloader used to boot this system."
+} \ No newline at end of file