Bug 46727 - Собрать модуль zfs для ядра un-def
Summary: Собрать модуль zfs для ядра un-def
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: zfs (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Anton Farygin
QA Contact: qa-sisyphus
URL: https://github.com/openzfs/zfs/issues...
Keywords:
Depends on:
Blocks:
 
Reported: 2023-07-02 18:06 MSK by Andrew Vasilyev
Modified: 2023-12-28 08:33 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Vasilyev 2023-07-02 18:06:00 MSK
Просьба собрать модуль zfs для ядра un-def в Сизиф.
Comment 1 Andrew Vasilyev 2023-07-04 19:41:53 MSK
  Месяц как вышел: https://github.com/openzfs/zfs/releases/tag/zfs-2.1.12

Linux: compatible with 3.10 - 6.3 kernels
Comment 2 Anton Farygin 2023-07-06 14:38:32 MSK
2023-Jul-06 11:22:54 :: [ppc64le] #100 kernel-modules.git sisyphus/kernel-modules-zfs-un-def-2.1.12-alt1: build SKIPPED
2023-Jul-06 11:23:54 :: [x86_64] #100 kernel-modules.git sisyphus/kernel-modules-zfs-un-def-2.1.12-alt1: build OK
[aarch64]   MODPOST /usr/src/RPM/BUILD/zfs-2.1.12/module/Module.symvers
[aarch64] ERROR: modpost: GPL-incompatible module zcommon.ko uses GPL-only symbol 'kernel_neon_begin'
[aarch64] ERROR: modpost: GPL-incompatible module zcommon.ko uses GPL-only symbol 'kernel_neon_end'
[aarch64] ERROR: modpost: GPL-incompatible module zfs.ko uses GPL-only symbol 'kernel_neon_end'
[aarch64] ERROR: modpost: GPL-incompatible module zfs.ko uses GPL-only symbol 'kernel_neon_begin'
[aarch64] make[2]: *** [scripts/Makefile.modpost:136: /usr/src/RPM/BUILD/zfs-2.1.12/module/Module.symvers] Error 1
Comment 3 Anton Farygin 2023-07-06 14:40:01 MSK
Для исправления требуется вот такое изменение на ядро:
https://github.com/Mic92/nixpkgs/commit/fb89d2bb0130116096ef3438295c0b105ca4b59f
Comment 4 Anton Farygin 2023-07-06 14:42:41 MSK
Точнее говоря revert этого коммита:
https://github.com/torvalds/linux/commit/aaeca98456431a8d9382ecf48ac4843e252c07b3.patch
Comment 5 Andrew Vasilyev 2023-07-06 16:36:57 MSK
ExcludeArch: aarch64 ?
Comment 6 Anton Farygin 2023-07-06 16:46:26 MSK
для ExcludeArch придётся городить какие-то условия, т.к. он собирается из одного спека для всех ядер и веток. К тому же нет гарантий что завтра это не сломается с x86_64.

Ждём решений от авторов openzfs.
Comment 7 Vitaly Chikunov 2023-07-06 22:27:42 MSK
  $ grep karch kernel-modules-zfs.spec
  %define karch @karch@
  ExclusiveArch: %karch
  $ git cat-file -p sisyphus/kernel-modules-zfs-std-def-2.1.12-alt1|grep kar
  X-gear-specsubst: karch=%ix86 x86_64 aarch64 ppc64le armh
  $ cat .gear/km-karch
  std-pae %ix86

То есть обычный спек темплейт. По идее нужно в `.gear/km-karch` прописать, что `std-def x86_64` и поставить новый тег и автоматически specsubst karch= выставится на это значение. Пример есть в модуле lkrg.
Comment 8 Anton Farygin 2023-07-06 22:31:58 MSK
Я знаю про эту фичу, но мне так тоже неудобно - придётся держать отдельные ветки для разных бранчей.
Собираю un-def+std-def для p10 и std-def для Sisyphus.
Comment 9 Anton Farygin 2023-07-06 22:34:16 MSK
и тут даже не вопрос удобства - если мы хотим включать zfs в дистрибутивы, то вопрос с архитектурами должен быть решён апстримом. 
Завтра они так-же сделают с  x86_64 в минорной версии ядра и у нас сломается обновление.
Comment 10 Vitaly Chikunov 2023-12-27 21:38:10 MSK
[#337314] DONE (try 4) zfs.git=2.2.2-alt1 ...
Comment 11 Anton Farygin 2023-12-28 08:33:16 MSK
Только для x86_64.