im-0 / hpsahba

Tool to enable/disable HBA mode on some HP Smart Array controllers
GNU General Public License v2.0
128 stars 45 forks source link

patch.sh version detection not working properly #18

Closed person4268 closed 1 year ago

person4268 commented 2 years ago

On my system, running 5.14.8, it detected my kernel as 5.8, instead of 5.14, so it downloaded the wrong driver.

uname -r output: 5.14.8-arch1-1

person4268 commented 2 years ago

image image

Seems to have worked, though I already worked around it by hardcoding the variable, as I wanted to fix it quickly since I had a bit of a fun time fixing it after a kernel update the driver. Kinda a little stressful to have to deal with getting dkms working properly in an arch install usb, then having to make a chroot on tmpfs because the live fs didn't have enough free space, then having to use a downgrade script to get the right version of linux-headers, then having to patch the patching script, then finally being able to install the drivers just so I could chroot in and fix the driver, lol, guess i'll need to be more careful the next time I update

BASS10 commented 2 years ago

The version detection doesn't work because there is no version detection! The VERSION=${1:-5.8} line is saying "use the first command line argument and default to 5.8 if none is provided". So you need to run ./patch.sh 5.14 or whatever suits your situation. This caught me out too as it's not obvious from the instructions.

Alternatively you could edit patch.sh as follows and it should automatically detect your kernel version, while still allowing manual override. VERSION=${1:-$(uname -r | grep -o "^[0-9]*[.][0-9]*")}