LINUX.ORG.RU

Скомпилировать модуль в AntiX 23

 , ,


0

1

Приветствую. Установил AntiX 23 x64 full на свой ноутбук Fujitsu Esprimo v5505, для wlan0 установился дефолтный драйвер iwl4965, но мне кажется, что через него сеть работает не достаточно быстро, скорость держится на уровне 500kb\s, в винде было быстрее. Путем гугления выяснил, что можно попробовать виндовый драйвер. Для его установки использовал ndiswrapper. При его установки происходит компиляция завершающая ошибкой:

root@wsprimo:/etc/apt/sources.list.d# sudo apt-get upgrade
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово         
Расчёт обновлений… Готово
Следующий пакет устанавливался автоматически и больше не требуется:
  liblua5.3-0
Для его удаления используйте «sudo apt autoremove».
Обновлено 0 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Установлено или удалено не до конца 1 пакетов.
После данной операции объём занятого дискового пространства возрастёт на 0 B.
N: Игнорируется файл «debian.list.bkp» в каталоге «/etc/apt/sources.list.d/», так как он имеет неправильное расширение
N: Игнорируется файл «debian-stable-updates.list.bkp» в каталоге «/etc/apt/sources.list.d/», так как он имеет неправильное расширение
Хотите продолжить? [Д/н] y
Настраивается пакет ndiswrapper-dkms (1.61-0mx17+3) …
Removing old ndiswrapper-1.61 DKMS files...
Deleting module ndiswrapper-1.61 completely from the DKMS tree.
Loading new ndiswrapper-1.61 DKMS files...
Building for 6.1.42-antix.1-amd64-smp
Building initial module for 6.1.42-antix.1-amd64-smp
Error! Bad return status for module build on kernel: 6.1.42-antix.1-amd64-smp (x86_64)
Consult /var/lib/dkms/ndiswrapper/1.61/build/make.log for more information.
dpkg: ошибка при обработке пакета ndiswrapper-dkms (--configure):
 подпроцесс из пакета ndiswrapper-dkms установлен сценарий post-installation возвратил код ошибки 10
При обработке следующих пакетов произошли ошибки:
 ndiswrapper-dkms
E: Sub-process /usr/bin/dpkg returned an error code (1)
Для продолжения нажмите любую клавишу...

root@wsprimo:/etc/apt/sources.list.d# cat /var/lib/dkms/ndiswrapper/1.61/build/make.log
DKMS make.log for ndiswrapper-1.61 for kernel 6.1.42-antix.1-amd64-smp (x86_64)
Сб 27 янв 2024 13:43:14 +09
make: вход в каталог «/usr/src/linux-headers-6.1.42-antix.1-amd64-smp»
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (Debian 13.2.0-1) 13.2.0
  You are using:           gcc (Debian 12.2.0-14) 12.2.0
  MKEXPORT /var/lib/dkms/ndiswrapper/1.61/build/crt_exports.h
  MKEXPORT /var/lib/dkms/ndiswrapper/1.61/build/hal_exports.h
  CC [M]  /var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.o
  CC [M]  /var/lib/dkms/ndiswrapper/1.61/build/loader.o
In file included from /var/lib/dkms/ndiswrapper/1.61/build/ndis.h:19,
                 from /var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.h:19,
                 from /var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.c:28:
/var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h: In function ‘raise_irql’:
In file included from /var/lib/dkms/ndiswrapper/1.61/build/ndis.h:19,
                 from /var/lib/dkms/ndiswrapper/1.61/build/loader.c:16:
/var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h: In function ‘raise_irql’:
/var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h:110:40: error: ‘struct task_struct’ has no member named ‘cpus_allowed’; did you mean ‘nr_cpus_allowed’?
  110 | #define tsk_cpus_allowed(tsk) (&(tsk)->cpus_allowed)
      |                                        ^~~~~~~~~~~~
/var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h:672:43: note: in expansion of macro ‘tsk_cpus_allowed’
  672 |         cpumask_copy(&info->cpus_allowed, tsk_cpus_allowed(current));
      |                                           ^~~~~~~~~~~~~~~~
/var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h:110:40: error: ‘struct task_struct’ has no member named ‘cpus_allowed’; did you mean ‘nr_cpus_allowed’?
  110 | #define tsk_cpus_allowed(tsk) (&(tsk)->cpus_allowed)
      |                                        ^~~~~~~~~~~~
/var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h:672:43: note: in expansion of macro ‘tsk_cpus_allowed’
  672 |         cpumask_copy(&info->cpus_allowed, tsk_cpus_allowed(current));
      |                                           ^~~~~~~~~~~~~~~~
/var/lib/dkms/ndiswrapper/1.61/build/loader.c: In function ‘load_sys_files’:
/var/lib/dkms/ndiswrapper/1.61/build/loader.c:157:25: error: too many arguments to function ‘__vmalloc’
  157 |                         __vmalloc(load_driver->sys_files[i].size,
      |                         ^~~~~~~~~
In file included from ./include/asm-generic/io.h:994,
                 from ./arch/x86/include/asm/io.h:332,
                 from ./include/linux/scatterlist.h:9,
                 from ./include/linux/dma-mapping.h:10,
                 from ./include/linux/skbuff.h:31,
                 from ./include/net/net_namespace.h:43,
                 from ./include/linux/netdevice.h:38,
                 from /var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h:25:
./include/linux/vmalloc.h:149:14: note: declared here
  149 | extern void *__vmalloc(unsigned long size, gfp_t gfp_mask) __alloc_size(1);
      |              ^~~~~~~~~
/var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.c: In function ‘set_ndis_auth_mode’:
/var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.c:702:39: warning: this statement may fall through [-Wimplicit-fallthrough=]
  702 |                 wnd->iw_auth_key_mgmt = IW_AUTH_KEY_MGMT_PSK;
/var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.c:703:9: note: here
  703 |         case Ndis802_11AuthModeWPANone:
      |         ^~~~
make[1]: *** [scripts/Makefile.build:250: /var/lib/dkms/ndiswrapper/1.61/build/loader.o] Ошибка 1
make[1]: *** Ожидание завершения заданий…
make[1]: *** [scripts/Makefile.build:250: /var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.o] Ошибка 1
make: *** [Makefile:2026: /var/lib/dkms/ndiswrapper/1.61/build] Ошибка 2
make: выход из каталога «/usr/src/linux-headers-6.1.42-antix.1-amd64-smp»

Почему-то установка происходит при апгрейде. Апгрейд делал после переключания репазитория на зеркала yandex, хотел обновить gcc, чтоб хотя бы варнинг убрать. Похоже исходники кривые. Подскажите, что делать? Обновлять исходники ядра или пытаться собрать ndiswrapper из отдельно скачанных исходников? Как отключить компиляцию при апгрейде? (я даже проблему сформулировать не могу, что б загуглить, мозгов не хватает). Как обновить правильно gcc? sudo apt-get install gcc говорит, что у меня последняя версия, но как она может быть последней если ядро скомпилированно более новой.

Спасибо.

Ответ на: комментарий от Ygor

Выбрал этот, после lubuntu(пробовал 18 и 23 версии). На antix система занимает 200 МБ рам, 800 свободно, для ремины должно хватить. Присматривался ещё к puppi, но 64 битной не нашёл (может плохо искал). А ошибка в драйвере линукса допущена разработчиками интел, советуют отключить режим n, оставить только b, g. Скорость будет 54мбита,но побольше, чем 500кб.Вот и пробовал заюзать виндовый драйвер, но не вышло.

Sergeyka
() автор топика
Ответ на: комментарий от Sergeyka

Ну вот я и пишу, найти дистр, где будет уже решена проблема с драйвером, или будет пакет ndiswrapper (обычно оным лечение хуже болезни).

Сколько там будет чего занимать не важно, всегда можно запустить dwm какой-нибудь и стартанут с xterm ремину.

С другой стороны, можно взять xp, vista и запускать rdp с неё.

Ygor ★★★★★
()
Ответ на: комментарий от Ygor

Так и было, на xp удалось настроить рдп через впн, но связь рвётся, через каждые 10 минут. Поэтому второй системой установил Линукс.

Ещё вопрос по ядру. Если клонировать репозиторий ядра, там будет история разработки? Что бы посмотреть с какой версии выпилили поля структуры и установить нужную версию ядра.

Sergeyka
() автор топика
Ответ на: комментарий от anonymous-angler

Ну в общем я согласен с вами, вы правы, это гавно уже не может называться современным,но пока нет нужды его обновлять. Как выход куплю внешний вай-фай,если юсб 2.0 предоставит большую скорость (я не в курсе какая там у него максимальная скорость)

Sergeyka
() автор топика