FLI & linux
Feb. 17th, 2020 02:18 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Линус, кажется, сошел с ума. Иначе зачем клепать новые версии ядра с такой нечеловеческой скоростью? В итоге многие производители железа просто забили на этот идиотизм и перестали поддерживать линукс.
Вот так и FLI. На сайте производителя уже модуль ядра под версией 1.3.2. Однако, даже под древнючее третье ядро скомпилировать его не представляется возможным (даже Makefile написан с переменной SUBDIRS вместо M).
Я уже когда-то (в далеком 2017 году) потратил день-другой на переделку модуля 1.3.0 под ядро >4.9.0 (судя по шапке, проверял на ядрах 4.9.4 и 4.12.5), но вот обновил ядро на 5.4.16 и пришлось опять это вытворять! Благо, перемен совсем немного: макрос access_ok принимает теперь лишь два параметра вместо трех. Решилось это просто добавлением в начало файла макроса:
и заменой access_ok на ACCESS_OK в теле исходника.
Вот так и FLI. На сайте производителя уже модуль ядра под версией 1.3.2. Однако, даже под древнючее третье ядро скомпилировать его не представляется возможным (даже Makefile написан с переменной SUBDIRS вместо M).
Я уже когда-то (в далеком 2017 году) потратил день-другой на переделку модуля 1.3.0 под ядро >4.9.0 (судя по шапке, проверял на ядрах 4.9.4 и 4.12.5), но вот обновил ядро на 5.4.16 и пришлось опять это вытворять! Благо, перемен совсем немного: макрос access_ok принимает теперь лишь два параметра вместо трех. Решилось это просто добавлением в начало файла макроса:
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0) #define ACCESS_OK(a,b,c) access_ok(b, c) #else #define ACCESS_OK(a,b,c) access_ok(a, b, c) #endif
и заменой access_ok на ACCESS_OK в теле исходника.