diff options
author | Max Rees <maxcrees@me.com> | 2019-09-09 00:25:03 -0500 |
---|---|---|
committer | Max Rees <maxcrees@me.com> | 2019-09-09 00:25:03 -0500 |
commit | cf356b050604815c7d9df80aa2897d0b39ec751b (patch) | |
tree | ea9b72bdb532789ef1854d83c66b1ad7049c9ac0 | |
parent | 3c2ccced9f54ab390c55c89bc3a70923de7f195c (diff) | |
download | packages-cf356b050604815c7d9df80aa2897d0b39ec751b.tar.gz packages-cf356b050604815c7d9df80aa2897d0b39ec751b.tar.bz2 packages-cf356b050604815c7d9df80aa2897d0b39ec751b.tar.xz packages-cf356b050604815c7d9df80aa2897d0b39ec751b.zip |
user/grub: add quirks system and radeon quirk (#49)
-rw-r--r-- | user/grub/APKBUILD | 11 | ||||
-rw-r--r-- | user/grub/default-grub | 5 | ||||
-rw-r--r-- | user/grub/quirk-01_radeon_agpmode | 28 |
3 files changed, 42 insertions, 2 deletions
diff --git a/user/grub/APKBUILD b/user/grub/APKBUILD index 24e998e53..1c1532278 100644 --- a/user/grub/APKBUILD +++ b/user/grub/APKBUILD @@ -40,6 +40,7 @@ source="https://ftp.gnu.org/gnu/grub/grub-$pkgver.tar.xz x86_64_asm.patch default-grub update-grub + quirk-01_radeon_agpmode " prepare() { @@ -128,6 +129,11 @@ package() { install -D -m755 "$srcdir"/update-grub "$pkgdir"/usr/sbin # remove grub-install warning of missing directory mkdir -p "$pkgdir"/usr/share/locale + + for i in "$srcdir"/quirk-*; do + install -Dm755 "$i" \ + "$pkgdir"/etc/grub-quirks.d/"${i##"$srcdir"/quirk-}" + done } bios() { @@ -170,5 +176,6 @@ f2a7d9ab6c445f4e402e790db56378cecd6631b5c367451aa6ce5c01cd95b95c83c3dd24d6d4b857 4e7394e0fff6772c89683039ccf81099ebbfe4f498e6df408977a1488fd59389b6e19afdbf0860ec271e2b2aea0df7216243dcc8235d1ca3af0e7f4d0a9d60a4 grub-xen-host_grub.cfg 088455205f2f397d60e43eab19ed73994880ea1f442661f7975846cceaf2b112d92fd1341119d7dbfad3af2174dfd4d4721f31dead1ac35f4a3cb7c0d92f8a04 the-arch-everyone-uses-and-nobody-loves.patch 8752b5e689ec3b7e1f438c7207adc517d7acb4f7d15fda2907bc9177883a686f23994c66641bfc0c7620365415972b5d8b74f511c13dd234f5f3461dda4bb445 x86_64_asm.patch -af771faa02dcc56a0842c6b5244030d0778c80c365c6cafa7ed255346fb2d67e7e95cbb7bcdabe75c96d73ee8a1c9dd6f30e2feac708e621a64fee858b09db51 default-grub -f08e29cb8bc344d62e37ffe003a74c1316c19aa329a4c2af94c99bfc90cb2968a37811244a7617cf1f1c393119f6398200d094b7758c19583cca390630c106ec update-grub" +1e6ae4a3884829864dbd789d3c3a0d43a5aa5f279c3ebb25f71775686e9236bc1c6295e5064ad32b384635987ee0814df95e9ca33bc57bc8e0aeb47bec34270e default-grub +f08e29cb8bc344d62e37ffe003a74c1316c19aa329a4c2af94c99bfc90cb2968a37811244a7617cf1f1c393119f6398200d094b7758c19583cca390630c106ec update-grub +78b7ec141a364994c7de181e47fedca820add9960c56c7adf4c14ee11d5249a0887fd788ecd5d24b9bdd102b7c40395181e2f7c3fe5ab795dd7c0057ba1115c5 quirk-01_radeon_agpmode" diff --git a/user/grub/default-grub b/user/grub/default-grub index e97e38395..3fb754c7e 100644 --- a/user/grub/default-grub +++ b/user/grub/default-grub @@ -10,3 +10,8 @@ GRUB_CMDLINE_LINUX_DEFAULT="ro" # Uncomment the following line if you do *not* want /boot/grub/grub.cfg to be # automatically regenerated when easy-kernel is upgraded. #ADELIE_MANUAL_CONFIG=1 + +for i in /etc/grub-quirks.d/[0-9][0-9]*; do + [ -x "$i" ] || continue + . "$i" +done diff --git a/user/grub/quirk-01_radeon_agpmode b/user/grub/quirk-01_radeon_agpmode new file mode 100644 index 000000000..879f1619e --- /dev/null +++ b/user/grub/quirk-01_radeon_agpmode @@ -0,0 +1,28 @@ +#!/bin/sh +# vi: noet: +# Horst Burkhardt <horst@adelielinux.org> 2018 +# Max Rees <maxcrees@me.com> 2019 +# +# AGP acceleration in the Radeon KMS driver has been broken on Apple PPC +# since the 2.6 series, and most developers are in agreement that since +# UniNorth is underdocumented, it probably won't ever be fixed. Disable +# it on all Apple machines except ones where it is known not to apply. +# +# https://bts.adelielinux.org/show_bug.cgi?id=49 +set -e + +case "$(uname -m)" in +ppc|ppc64) + if grep -q 'MacRISC[23]' /proc/cpuinfo; then + case "$(awk '$1 == "machine" { print $3 }' /proc/cpuinfo)" in + PowerBook1,1) ;; + PowerMac1,1) ;; + PowerMac1,2) ;; + PowerMac11,2) ;; + PowerMac12,1) ;; + RackMac3,1) ;; + iMac,1) ;; + *) export GRUB_CMDLINE_LINUX="radeon.agpmode=-1 $GRUB_CMDLINE_LINUX";; + esac + fi;; +esac |