thopiekar / rcraid-dkms

AMD RAIDXpert driver as DKMS package
Other
126 stars 27 forks source link

Update to kernel 5.17 and 5.18 #47

Open Exioncore opened 2 years ago

Exioncore commented 2 years ago

I have tested this on Fedora with kernerls 5.17.14-300.fc36.x86_64 and 5.18.5-200.fc36.x86_64

furioness commented 1 year ago

I've tested (actually running) this on Arch with 5.19.11-zen1-1-zen - it works fine. The only one that is actually installable so far. Thank you!

achirkin commented 1 year ago

I can confirm it works on ubuntu 22.10 (x86_64 5.19.0-1005-lowlatency). Please merge this before the ubuntu's October release date!

fabscav commented 1 year ago

Using this on Arch with 6.0.2-zen1-1-zen, works like a charm. Thank you!

Herrie82 commented 1 year ago

Seems to work on KUBuntu 22.04 with 6.0.6 kernel here too!

@thopiekar Can we get this merged please?

Albinoman887 commented 1 year ago

Seems to work on KUBuntu 22.04 with 6.0.6 kernel here too!

@thopiekar Can we get this merged please?

did you have issues blacklisting ahci modules? i have the rcraid module compiled and install but ahci wont disable

RodriAndreotti commented 1 year ago

Running in Debian Testing with 6.0.4 kernel, seens OK, with some warnings, No kernel update for now to test dkms.

RodriAndreotti commented 1 year ago

OK, guys! I had a kernel update yesterday and unfortunately the automatic dkms rebuild didn't work.

Running the ./install manually on the same branch everything went correctly, but the automatic build was not done.

Current kernel: 6.0.6

xangma commented 1 year ago

Thanks very much for these patches! I have the rcraid 9.3.0 driver working on linux kernel 6.0.9 (w/ nvme raid0) after incorporating these changes ... and then messing with dkms for a long time. I made a repo for others too. Good luck!

altodd commented 1 year ago

Thanks! worked for me on Arch linux kernel 6.1.8

fabscav commented 1 year ago

No longer works with Linux kernel >= 6.2, but I've had some luck with making a few changes of my own by forking your PR branch to make it work with newer kernels.

Oididoi commented 1 year ago

No longer works with Linux kernel >= 6.2, but I've had some luck with making a few changes of my own by forking your PR branch to make it work with newer kernels.

This branch? https://github.com/fabscav/rcraid-dkms/tree/further_compatibility_updates

fabscav commented 1 year ago

No longer works with Linux kernel >= 6.2, but I've had some luck with making a few changes of my own by forking your PR branch to make it work with newer kernels.

This branch? https://github.com/fabscav/rcraid-dkms/tree/further_compatibility_updates

Yes that's the one. I've been using a build based on that branch for a few weeks without issues.

Oididoi commented 1 year ago

Are there any dependencies I need to get before I run install?

Joshinken commented 1 year ago

No longer works with Linux kernel >= 6.2, but I've had some luck with making a few changes of my own by forking your PR branch to make it work with newer kernels.

This branch? https://github.com/fabscav/rcraid-dkms/tree/further_compatibility_updates

Yes that's the one. I've been using a build based on that branch for a few weeks without issues.

assume im like, a very dumb 5 year old. how exactly do i install this? cause i genuinely cant figure it out, everything seems to be going wrong

0xFADDAD commented 1 year ago

You will need to source your distro's basic set of build tools and the headers for all the installed versions of the kernel you plan to run. Pull his fork down: git clone https://github.com/fabscav/rcraid-dkms.git -b further_compatibility_updates Navigate into the folder: cd rcraid-dkms If the install script isn't executable, make it so: chmod +x install Execute the script, with sudo: sudo ./install Watch the build process, this may or may not be successful if you didn't have all the build tools and the headers for your specific kernel. You can then verify success if you have an rcraid.ko file built for all your installed kernels by looking in /lib/modules/$(KVERS)/kernel/drivers/scsi/ for a rcraid.ko file. If you have any problems with the driver, uninstalling is as simple as removing all the built modules from the above paths.

Also, you will need to blacklist the ahci module from loading at boot-time. This can be done many ways, but you can add modprobe.blacklist=ahci to your /etc/default/grub config file's GRUB_CMDLINE_LINUX_DEFAULT= line.

Don't forget to generate a new grub.cfg file before rebooting. grub2-mkconfig -o /boot/grub2/grub.cfg should work for all distro's, but look for your distro's specific method since some use grub and grub2 interchangeably.

This all assumes you can actually boot into the target system. Look for 'chroot' instructions if you need to do this to a system that can't boot.

RodriAndreotti commented 1 year ago

Does anyone use the driver in conjunction with any optical drive? In my case, my unit ends up blocking the boot for some time until it gives a timeout and becomes inaccessible in Linux. Everything else works great except the optical drive. It's not something I use a lot, but I'd like to have it available, has anyone experienced this?

Joshinken commented 1 year ago

You will need to source your distro's basic set of build tools and the headers for all the installed versions of the kernel you plan to run. Pull his fork down: git clone https://github.com/fabscav/rcraid-dkms.git -b further_compatibility_updates Navigate into the folder: cd rcraid-dkms If the install script isn't executable, make it so: chmod +x install Execute the script, with sudo: sudo ./install Watch the build process, this may or may not be successful if you didn't have all the build tools and the headers for your specific kernel. You can then verify success if you have an rcraid.ko file built for all your installed kernels by looking in /lib/modules/$(KVERS)/kernel/drivers/scsi/ for a rcraid.ko file. If you have any problems with the driver, uninstalling is as simple as removing all the built modules from the above paths.

Also, you will need to blacklist the ahci module from loading at boot-time. This can be done many ways, but you can add modprobe.blacklist=ahci to your /etc/default/grub config file's GRUB_CMDLINE_LINUX_DEFAULT= line.

Don't forget to generate a new grub.cfg file before rebooting. grub2-mkconfig -o /boot/grub2/grub.cfg should work for all distro's, but look for your distro's specific method since some use grub and grub2 interchangeably.

This all assumes you can actually boot into the target system. Look for 'chroot' instructions if you need to do this to a system that can't boot.

i still get /home/joshinken/rcraid-dkms/src/rc_msg_platform.h:30:10: fatal error: linux/stdarg.h: No such file or directory 30 | #include <linux/stdarg.h>

0xFADDAD commented 1 year ago

What does locate stdarg.h output? I may be wrong, but I think the code uses the path from your kernel's headers, make sure you have them installed. One of the lines should be: /usr/src/linux-headers-5.15.0-78/include**/linux/stdarg.h** The important part is the part in double-stars. The stdarg.h file needs to come from a linux sub-folder. Part of the original problem is that stdarg.h was moved into this new sub-directory instead of being in /usr/src/linux-headers-5.15.0-78/include/ if all looks well, you might have a linker issue, and need to redirect it to a version of stdarg.h you have on your system.