diff options
author | dankcuddlybear | 2022-05-18 11:10:00 +0100 |
---|---|---|
committer | dankcuddlybear | 2022-05-18 11:10:00 +0100 |
commit | 830b6ad96227bc82d331c37fa31b742f923f690d (patch) | |
tree | 8474c1867be9945c3931ebf594225a18c138c1fa | |
download | aur-830b6ad96227bc82d331c37fa31b742f923f690d.tar.gz |
Initial version
-rw-r--r-- | .SRCINFO | 15 | ||||
-rw-r--r-- | PKGBUILD | 20 | ||||
-rw-r--r-- | hackbgrt-install | 72 | ||||
-rw-r--r-- | hackbgrt.install | 4 |
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 |