[arch-commits] Commit in hwdetect/trunk (PKGBUILD hwdetect)
Tobias Powalowski
tpowa at gemini.archlinux.org
Wed Jan 26 07:21:30 UTC 2022
Date: Wednesday, January 26, 2022 @ 07:21:30
Author: tpowa
Revision: 435154
upgpkg: hwdetect 2022.01-2: switch mkinitcpio syntax, add kver detection
Modified:
hwdetect/trunk/PKGBUILD
hwdetect/trunk/hwdetect
----------+
PKGBUILD | 2 +-
hwdetect | 37 +++++++++++++++++++++++++++----------
2 files changed, 28 insertions(+), 11 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2022-01-26 07:20:53 UTC (rev 435153)
+++ PKGBUILD 2022-01-26 07:21:30 UTC (rev 435154)
@@ -1,7 +1,7 @@
# Maintainer: Tobias Powalowski <tpowa at archlinux.org>
pkgname=hwdetect
pkgver=2022.01
-pkgrel=1
+pkgrel=2
pkgdesc="Hardware detection script with loading modules and mkinitcpio.conf"
arch=(any)
url="https://archlinux.org/packages/extra/any/hwdetect/"
Modified: hwdetect
===================================================================
--- hwdetect 2022-01-26 07:20:53 UTC (rev 435153)
+++ hwdetect 2022-01-26 07:21:30 UTC (rev 435154)
@@ -1,6 +1,11 @@
#! /bin/sh
# Autodetection script for scanning /sys for hardware
# for Archlinux by Tobias Powalowski <tpowa at archlinux.org>
+
+_SHOW_MODULES=""
+_SHOW_HOOKS=""
+_HWKVER=""
+
usage () {
echo "$0 [options]"
echo ""
@@ -94,10 +99,19 @@
done
}
+kver() {
+ # get kernel version
+ [[ "$(uname -m)" == "x86_64" ]] && VMLINUZ=vmlinuz-linux
+ [[ "$(uname -m)" == "aarch64" ]] && VMLINUZ=Image
+ offset=$(hexdump -s 526 -n 2 -e '"%0d"' "/boot/${VMLINUZ}")
+ read _HWKVER _ < <(dd if="/boot/${VMLINUZ}" bs=1 count=127 skip=$(( offset + 0x200 )) 2>/dev/null)
+}
+
parameter $PARAMETER
if [ "$KERNEL_VERSION" = "" ]; then
- KERNEL_VERSION="$(uname -r)"
+ kver
+ KERNEL_VERSION="${_HWKVER}"
fi
# dmraid switch
@@ -161,8 +175,8 @@
showlist2() {
cat=$1 ; shift
[ $# -gt 0 ] || return
- echo -n "$cat="
- for i in $*; do echo -n "$i "; done
+ echo -n "$cat=("
+ for i in $*; do echo -n $i\ ; done
echo ""
}
@@ -266,27 +280,27 @@
done
[ "$(echo $FS | grep btrfs)" ] && FS="$FS crc32c"
MODULES_INITRAMFS="$MODULES_INITRAMFS $FS"
- showlist2 "MODULES" \"$MODULES_INITRAMFS\" | sed -e 's/(\ /(/g' -e 's/"\ /"/g' -e 's/\ "/"/g' -e 's/\ \ /\ /g'
+ _SHOW_MODULES="1"
;;
--hostcontroller)HOSTCONTROLLER="$(listmods virtio/virtio_pci) $(listmods ata/pata pata_acpi) $(listmods scsi/ /sg.ko /st.ko scsi_mod sr_mod sd_mod) $(listmods message/fusion/) $(listmods drivers/block/ virtio_blk nbd pktcdvd sx8 floppy) $(listmods ata/ pata ata_generic) $(listmods drivers/block/sx8) $(listmods xhci-hcd) $(listmods ehci-hcd) $(listmods uhci-hcd) $(listmods ohci-hcd) $(listmods virtio_blk) $(listmods nvme/) $(listmods xhci-pci)"
MODULES_INITRAMFS="$MODULES_INITRAMFS $HOSTCONTROLLER"
- showlist2 "MODULES" \"$MODULES_INITRAMFS\" | sed -e 's/(\ /(/g' -e 's/"\ /"/g' -e 's/\ "/"/g' -e 's/\ \ /\ /g'
+ _SHOW_MODULES="1"
;;
--ati-kms) KMS="radeon"
MODULES_INITRAMFS="$KMS $MODULES_INITRAMFS"
- showlist2 "MODULES" \"$MODULES_INITRAMFS\" | sed -e 's/(\ /(/g' -e 's/"\ /"/g' -e 's/\ "/"/g' -e 's/\ \ /\ /g'
+ _SHOW_MODULES="1"
;;
--amd-kms) KMS="amdgpu"
MODULES_INITRAMFS="$KMS $MODULES_INITRAMFS"
- showlist2 "MODULES" \"$MODULES_INITRAMFS\" | sed -e 's/(\ /(/g' -e 's/"\ /"/g' -e 's/\ "/"/g' -e 's/\ \ /\ /g'
+ _SHOW_MODULES="1"
;;
--intel-kms) KMS="i915"
MODULES_INITRAMFS="$KMS $MODULES_INITRAMFS"
- showlist2 "MODULES" \"$MODULES_INITRAMFS\" | sed -e 's/(\ /(/g' -e 's/"\ /"/g' -e 's/\ "/"/g' -e 's/\ \ /\ /g'
+ _SHOW_MODULES="1"
;;
--nvidia-kms) KMS="nouveau"
MODULES_INITRAMFS="$KMS $MODULES_INITRAMFS"
- showlist2 "MODULES" \"$MODULES_INITRAMFS\" | sed -e 's/(\ /(/g' -e 's/"\ /"/g' -e 's/\ "/"/g' -e 's/\ \ /\ /g'
+ _SHOW_MODULES="1"
;;
--hooks)
if [ "$HOOKS_DIR" = "" ]; then
@@ -308,7 +322,7 @@
if ! [ "$NFS" = "1" ]; then
START_HOOKS=$(echo $START_HOOKS | sed -e "s/net//g")
fi
- echo "HOOKS=\"$START_HOOKS\"" | sed -e 's/"\ /"/g' -e 's/\ "/"/g' -e 's/\ \ /\ /g'
+ _SHOW_HOOKS="1"
;;
--advanced) echo "$ADVANCED"
;;
@@ -316,6 +330,9 @@
shift
done
+[[ "${_SHOW_MODULES}" == "1" ]] && showlist2 "MODULES" $MODULES_INITRAMFS | sed -e 's/(\ / /g' -e 's/\ \ /\ /g' -e 's/ $/)/g'
+[[ "${_SHOW_HOOKS}" == "1" ]] && echo "HOOKS=($START_HOOKS " | sed -e 's/\ \ /\ /g' -e 's/\ $/)/g'
+
# cleanup
rm /tmp/modules-plain
rm /tmp/modules-stripped
More information about the arch-commits
mailing list