amneziawg-linux-kernel-module

Ответить
 

ptixtreks

Стаж: 3 года 1 месяц

Сообщений: 95


ptixtreks · 04-Фев-25 10:04 (5 месяцев 14 дней назад, ред. 04-Фев-25 23:02)

на сайте AmneziaVPN есть методика, нерабочая, может в ubuntu и возможна установка, но в моем trixie/sid не собирается автоматом модуль скриптом postinstall мета-пакета amneziawg.
собственно для работы в линукс требуется модуль ядра и утилита awg, аналогичная wg(из пакета wireguard-tools)
сборка и запуск
$ git clone https://github.com/amnezia-vpn/amneziawg-linux-kernel-module.git
$ cd amneziawg-linux-kernel-module/src
скачиваем нужные kernel-sources, у меня это ядро xanmod, распаковываем, делаем симлинк на директорию с исходным кодом:
$ ln -s <some_kernel_directory> kernel
$ make
$ sudo make install
$ sudo modprobe amneziawg
$ sudo depmod -a ###модуль amneziawg.ko будет в /lib/modules/$KERNELRELEASE/updates
$ sudo apt install resolvconf jq
$ sudo -s
# echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/90-forward.conf
# echo "amneziawg" > /etc/modules-load.d/my_modules.conf
# reboot
после перезагрузки смотрим что модуль загружен:
$ lsmod | grep amnezia
далее ставим убунтовский пакет amneziawg-tools_***amd64.deb из ppa:amnezia/ppa, содержащий утилиту awg и bash-обертку awg-quick, а также компоненты systemd для запуска как сервис, скачиваем конфиг amnezia, где-нибудь, переименовываем в awg0.conf, копируем в:
$ sudo cp awg0.conf /etc/amnezia/amneziawg/
Запускаем:
$ sudo awg-quick up awg0
Должен подняться интерфейс awg0
смотрим:
$ sudo ifconfig -a
Включаем сервис(опционально)
$ sudo systemctl daemon-reload
$ sudo systemctl enable awg-quick@awg0
$ sudo systemctl start awg-quick@awg0
$ systemctl status awg-quick@awg0
картинка
собрать с dkms как не пытался, не смог, зачем то увязка на source.list ubuntu, автор наруковертил там такой винегрет и разбирать весь этот бред в Makefile нет никакого желания, если у кого получится, дайте знать, молим
пока все работает отлично, на одной из систем запустил как сервис systemd, включил комп и, как в старые добрые времена, все открывается, все доступно, youtube не выносит мозг, а просто работает, без тормозов и авторизации...
в сравнении с warp-cli сложно отдать предпочтение, пока рано судить, время покажет...
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 7 месяцев

Сообщений: 824


kx77 · 05-Фев-25 13:46 (спустя 1 день 3 часа, ред. 05-Фев-25 13:46)

Насколько помню, там ключевая проблема в том, что ему мало просто кернел хедерс.
Если версия ядра 5.6+, то он берет из source tree код in-tree wireguard модуля и применяет к нему патч, потом собирает.
2 ветки сборки : для старых и новых ядер.
В примере у меня установлен linux-image-6.8.0-47-generic. Так можно узнать какой стоит
dpkg -l linux-image* | grep ^ii
Обновления ядра лучше отключить, иначе придется каждый раз собирать руками.
Или делать dkms самому
Код:
mkdir /tmp/x
cd /tmp/x
git clone --depth 1 https://github.com/amnezia-vpn/amneziawg-linux-kernel-module
apt-get update
apt-get source linux-image-unsigned-6.8.0-47-generic
cd amneziawg-linux-kernel-module/src
ln -s /tmp/x/linux-6.8.0 kernel
make
strip --strip-debug amneziawg.ko
ls -l amneziawg.ko
user-mode тулзы собираются достаточно тривиально
[Профиль]  [ЛС] 

ptixtreks

Стаж: 3 года 1 месяц

Сообщений: 95


ptixtreks · 05-Фев-25 14:54 (спустя 1 час 8 мин.)

kx77 писал(а):
87356219Или делать dkms самому
вот здесь я и забуксовал, с dkms --build
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 7 месяцев

Сообщений: 824


kx77 · 05-Фев-25 15:53 (спустя 59 мин., ред. 05-Фев-25 15:53)

В dkms конфиге можно вызывать свой скрипт.
Он может выполнить примерно то, что я привел выше. Подтянуть исходники и мейкнуть, потом их подтереть за собой.
Правда тащить дофига придется. Полный исходник kernel.
Мне лично кажется, что хреновый они выбрали подход с подтягиванием куска исходников и применением патча.
Изменившиеся исходники могут поломать патч.
Лучше бы они какой-то форк сделали и спокойно его компилили под текущее ядро.
Ведь так и есть для старых ядер.
Да, надо мейнтейнить и следить за версиями ядра , не поломалось ли что. Но и так ведь надо следить насколько совместимы upstream изменения.
[Профиль]  [ЛС] 

ptixtreks

Стаж: 3 года 1 месяц

Сообщений: 95


ptixtreks · 05-Фев-25 18:37 (спустя 2 часа 44 мин.)

kx77 писал(а):
87356763они выбрали подход с подтягиванием куска исходников и применением патча
иначе не сделать, wireguard в ядре уже, а его модификация amneziawg нет.
kx77 писал(а):
87356763Изменившиеся исходники могут поломать патч
могут, если что-то поменяют в wireguard, но тогда по-любому доработают патчи, их там несколько.
kx77 писал(а):
87356763Правда тащить дофига придется. Полный исходник kernel.
и это не есть хорошо, 1,5 Гб исходников ради автосборки модуля amneziawg при обновлении ядра, не, не катит
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 7 месяцев

Сообщений: 824


kx77 · 06-Фев-25 10:14 (спустя 15 часов)

Почему же не сделать ?
Кто мешает взять из ядра wireguard и сделать из него форк. Отдельные исходники, которые и модифицировать и предлагать в своей репе. А когда что-то значительное поменяют, выкатить новые.
Этот подход значительно бы упростил сборку
[Профиль]  [ЛС] 

ptixtreks

Стаж: 3 года 1 месяц

Сообщений: 95


ptixtreks · 06-Фев-25 11:03 (спустя 48 мин.)

kx77 писал(а):
87359893Кто мешает взять из ядра wireguard и сделать из него форк.
по какой то причине не смеет автор так сделать, или не желает, сложно сказать почему так, то je велика таjна)))
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 7 месяцев

Сообщений: 824


kx77 · 06-Фев-25 14:17 (спустя 3 часа)

Лицензия GPL. Имеет право.
[Профиль]  [ЛС] 

ptixtreks

Стаж: 3 года 1 месяц

Сообщений: 95


ptixtreks · 07-Фев-25 09:24 (спустя 19 часов)

на сегодняшний день работает хорошо, меня больше занимает сравнение с warp-cli, что лучше, что быстрее, что имеет лучший доступ, и так далее, субъективно все, конечно, и то и то отлично...
[Профиль]  [ЛС] 

artenax

Стаж: 3 года

Сообщений: 1711


artenax · 08-Фев-25 08:52 (спустя 23 часа, ред. 08-Фев-25 08:56)

kx77
Спасибо за команды. Вроде, удалось скомпилить amneziawg.ko. У меня частично обновлённая система (Xubuntu 22.04) и я долго и упорно боролся с apt, пытаясь выкачать исходники максимально близкие к используемому в данный момент ядру. Точной версии в репозитории не было, но были ближайшие, а обновления отключены (не люблю их). Вот тебе и LTS, стабильность/постояноство.
У меня ядро 5.15.0-43-generic #46, а в репах ближайшие
linux-image-unsigned-5.15.0-25-generic
linux-image-unsigned-5.15.0-72-generic
и то apt source не хочет качать 72 (25 скачал).
Код:
apt-cache showpkg linux-image-unsigned-5.15.0-72-generic
apt source linux-image-unsigned-5.15.0-72-generic=5.15.0-72.79
хотя, в репе есть. Но мозги пудрит.
ChatGPT мне помогал.
ptixtreks писал(а):
87364321меня больше занимает сравнение с warp-cli, что лучше, что быстрее
Модуль ядра, конечно, должен быть производительней. И проксирует всё, работает не как прокси.
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 7 месяцев

Сообщений: 824


kx77 · 08-Фев-25 11:34 (спустя 2 часа 42 мин.)

Насколько я понял из чтения Makefile,
KERNELDIR ?= /lib/modules/$(KERNELRELEASE)/build
у него всегда отсюда берется. То есть используется системный пакет linux-headers.
kernel dir внутри его каталога ему нужен только чтобы скопировать код wireguard.
Поэтому идеального соответствия версий не требуется
[Профиль]  [ЛС] 

ptixtreks

Стаж: 3 года 1 месяц

Сообщений: 95


ptixtreks · 08-Фев-25 17:49 (спустя 6 часов)

kx77 писал(а):
87369166Поэтому идеального соответствия версий не требуется
у меня вообще стороннее ядро, xanmod, соответствия ноль
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 7 месяцев

Сообщений: 824


kx77 · 08-Фев-25 19:43 (спустя 1 час 53 мин.)

Если посмотреть git торвальдса как менялся wireguard, то похоже после добавления так версия 1.0 и осталась. Только мелкие правки.
Поэтому и не нарушилась совместимость.
Но если что-то в очередном ядре поменяют, придется из-за этого патчить wireguard, API , например, какое-то, то это сломает совместимость исходников из нового ядра со старым ядром
[Профиль]  [ЛС] 

ptixtreks

Стаж: 3 года 1 месяц

Сообщений: 95


ptixtreks · 09-Фев-25 00:09 (спустя 4 часа, ред. 09-Фев-25 00:09)

amnezia это патченый wireguard, именно добалением новых параметров она и отличается от оригинала, поменяют что то в wireguard - автор напишет новые патчи, и все дела.
скрытый текст
конфиги amnezia без их специфичных параметров
S1 = 0
S2 = 0
Jc =
Jmin =
Jmax =
H1 = 1
H2 = 2
H3 = 3
H4 = 4
прекрасно работают с wireguard, закомментировать эти строки и скормить тому же network-manager-у через nmcli
$ sudo nmcli connection import type wireguard file *.conf
[Профиль]  [ЛС] 

artenax

Стаж: 3 года

Сообщений: 1711


artenax · 09-Фев-25 02:49 (спустя 2 часа 39 мин., ред. 09-Фев-25 04:36)

Ну, совместимость там всё-таки не бесконечная. Бинарная, по крайней мере.
Скопировал amneziawg.ko скомпилированный в ubuntu 22.04 для ядра 5.15.0 в mageia cauldron (rolling), где ядро сейчас 6.6.74. И при попытке сделать:
Код:
sudo depmod -a
sudo modprobe amneziawg
появилась ошибка:
Цитата:
modprobe: ERROR: could not insert 'amneziawg': Exec format error
В самом amneziawg.ko присутствует строка:
Для 5.15.0:
5.15.0-43-generic (хотя, исходники использовались linux-image-unsigned-5.15.0-25-generic, значит добавляется по работающему ядру)
Для 6.6.74:
6.6.74-desktop-1.mga10
Это то, что выдаёт uname -a до # символа.
Видимо, к такой версии бинарный модуль amneziawg.ko и привязывается.
Если ядро обновляется минорно, возможно прокатит правка версии в двоичном редакторе. Если совпадает длина версии.
Но это если дело в этой строчке.
В общем, совместимость в исходном коде хорошая. А в бинарном не очень. Там ведь даже другой путь становится.
В Mageia Cauldron с ядром 6.6.76 не хочет компилиться. После make сегфолт.
Удалось скомпилировать только awg v1.0.20240213 версию. С остальными тоже какие-то ошибки. Ядро брал отсюда. По совету AUR арча.
[Профиль]  [ЛС] 

ptixtreks

Стаж: 3 года 1 месяц

Сообщений: 95


ptixtreks · 09-Фев-25 03:58 (спустя 1 час 9 мин.)

там делов 5 минут, скачать kernel sources да собрать.
давно использую стороннее ядро, потому что тестовый дебиан, приходится смотреть за всем: что обновляется, что приходит нового, что уже deprecated, что еще не собрали полностью, а в стабильной ветке есть, но старое, дебиан такая штука
ядро лет 7 юзаю xanmod-овское, потому что не люблю дебианскую расмазанную по пакетам систему альтернатив, да и обновления ядерные не нужны особо, сам обновлю когда будет потребность, роллинг это, конечно, хорошо, но есть нюансы...
[Профиль]  [ЛС] 

artenax

Стаж: 3 года

Сообщений: 1711


artenax · 09-Фев-25 09:57 (спустя 5 часов, ред. 09-Фев-25 21:55)

ptixtreks
Возиться с компиляцией тоже не хочется, особенно в виртуалке (засоряет место). 1,5 ГБ временных файлов.
В общем, могу подтвердить, что бинарь привязывается к точной версии uname -a до # символа (или uname -r). + при обновлении ядра модуль исчезает, понятное дело, надо снова копировать.
Редактирование бинарного файла (правка версии, если длина не меняется, по крайней мере, т.е. пара цифр) в GHex восстанавливает работу!
Так, я собрал модуль в 6.6.76, подправил бинарь и он заработал на 6.6.74. Без правки не работал, с той же ошибкой. Как раз была обнова у магеи, я протестировал в виртуалке. Не знаю, что будет при больших обновлениях версии. Также, если длина изменится, скорее всего в GHex не подправить.
Код:
depmod -a
modprobe amneziawg
awg-quick up warp
awg show warp
В других дистрах ещё свои заморочки. /usr/local/bin не в sudo securepath. Надо следить, чтобы в /etc/resolv.conf не оставался старый резолвер. Т.к. я не пользуюсь Network Manager. Роллинг у меня только для тестов в виртуалке.
ChatGPT подсказал вот такую команду для смены версии в файле:
Код:
perl -pi -e 's/6\.6\.74-desktop-1\.mga10/6.6.76-desktop-1.mga10/' amneziawg.ko
Проверить различия в файлах:
Код:
cmp -l orig new
cmp из пакета diffutils.
Бинарный способ может показаться хакерским, но позволяет увидеть когда совместимость сломается.
Вообще, я в своё время утаскивал модули видеодрайвера даже из разных дистров (из арча в opensuse tumbleweed). Что-то не припомню такой привязки к версии ядра тогда.
Upd: Гугление показало, что патчить версию необязательно. Можно подгрузить так:
Код:
modprobe --force amneziawg
Но по прежнему нужно скачала скопировать в папку модулей и просканировать с помощью depmod -a.
Хотя, модуль от 5.15.0 из ubuntu к 6.6.76 mageia не подключается даже с --force с такой же ошибкой Exec format error.
Минорно вроде можно.
[Профиль]  [ЛС] 

ptixtreks

Стаж: 3 года 1 месяц

Сообщений: 95


ptixtreks · 09-Фев-25 17:25 (спустя 7 часов, ред. 09-Фев-25 17:25)

artenax
то jе "высший пилотаж", мне такое не по силам
работать с GHex не умею вообще, нажалост...
забыл все, 2 года жил на Балканах, не до линуксов было, кстати, бот раздает все еще мою сборку, забавно, я ее носил с собой на двух флешках, мало ли, в интернет выйти, поработать на компе иногда, а сейчас вернулся в Россию, обновил все, тестинг есть тестинг, немного подправил, убрал то что плохо себя зарекомендовало, и снова работаю...
[Профиль]  [ЛС] 

artenax

Стаж: 3 года

Сообщений: 1711


artenax · 09-Фев-25 18:12 (спустя 46 мин., ред. 09-Фев-25 18:15)

ptixtreks
GHex прост как топор. Почти как текстовый редактор. Открыл-подправил-сохранил. Единственная тонкость - для поиска надо вводить текст в правое окошко (и не копипастой).
А Debian это классика, конечно. Но слишком хорошо мной изучен, а я люблю экзотическое. Впрочем, экзотическая Mageia тоже мной изучена хорошо. Вплоть до того, что даже последняя Lubuntu кажется необычной.
Не большой фанат apt, тяжеловат. Команды длинные, метаданные большие. Вообще, от структуры deb репозиториев не в восторге.
Но основная система у меня сейчас Xubuntu 22.04. Куда уж деваться-то, когда работает? Раньше долгое время пользовался Xubuntu 16.04 (первый постоянный линукс). Прыгнул сразу на 22 со сменой компа. Люблю стабильность. Роллинг только для теста в виртуалке. Но может, мог бы жить и на роллинге. Но после обнов перезагружаться часто придётся, а у меня часто аптаймы месяцами. И перезагрузки в основном из-за питания.
На моём железе ещё неплохо работает openSUSE Tumbleweed. Как-то ставил в дуалбут. Mageia похуже, поэтому в виртуалке.
Но Суся мне не очень нравится тем, что слишком любит следить за пользоватем. То и дело надо по рукам бить.
ptixtreks, а почему тема со сборкой закрыта? Срач был?
ptixtreks писал(а):
87373052ядро лет 7 юзаю xanmod-овское, потому что не люблю дебианскую расмазанную по пакетам систему альтернатив
Вот, в openSUSE всё размазано по пакетам, жуть. Хотя, в чём-то есть удобство. А в Арче всё цельно, даже devel (это плохо). В Mageia где-то посередине, ближе к цельности, по сравнению с deb системами.
[Профиль]  [ЛС] 

ptixtreks

Стаж: 3 года 1 месяц

Сообщений: 95


ptixtreks · 09-Фев-25 19:58 (спустя 1 час 46 мин., ред. 09-Фев-25 19:58)

artenax писал(а):
87375628а почему тема со сборкой закрыта? Срач был?
закрыта была изначально, просил модератора сам чтоб закрыл, во избежание срача, во избежание (!)
сборка не первая, есть люди кто использует, а критики и советчики нека иду у пичку материну)))
artenax писал(а):
87375628Раньше долгое время пользовался Xubuntu 16.04
я начинал с ubuntu 6.04 но не мое это, дебиан с 2009-го, rpm не мое, Arch тоже, как то так сложилось, что сейчас вроде бы нет разницы, когда знаешь как со всем этим работать, па нека буде дебиан! волим га!
artenax писал(а):
87375628А в Арче всё цельно
уважаю Arch, но там все держится на пользователях, AUR, сама система в смысле поддержки не выдерживает никакой критики, в отличие от сообщества Debian, тут без комментариев, как говорится, очигледно, очевидно.
IMHO, вот в Slackware точно все цельно, вот там точно, настоящий линукс, как он был изначально задуман )))
принципиально если, я действую методами типичными для Slackware, только в Debian, логика одна, мне так понятнее...
несколько раз порывался перейти, но не судьба, пока не судьба, лень, "обстоятельства непреодолимой силы" и тако далjе...
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 7 месяцев

Сообщений: 824


kx77 · 09-Фев-25 20:41 (спустя 43 мин.)

Собирал модули для ядер смартфонов.
Там мало просто найти правильные исходники ядра той же версии.
Нужен еще Module.symvers. Иначе модуль не загружается.
Вот это помогло вытащить symvers из бинариков ядер
https://github.com/bol-van/extract-symvers-ng
Вроде бы за включение symvers отвечает CONFIG_MODVERSIONS.
В debian-овских ядрах он включен. У вас действительно работает всего лишь патчинг vermagic ?
[Профиль]  [ЛС] 

ptixtreks

Стаж: 3 года 1 месяц

Сообщений: 95


ptixtreks · 09-Фев-25 20:53 (спустя 11 мин., ред. 09-Фев-25 20:53)

kx77
извините, но я не в теме, ништа не знам за "патчинг vermagic "
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 7 месяцев

Сообщений: 824


kx77 · 09-Фев-25 21:37 (спустя 43 мин.)

ptixtreks писал(а):
87376347kx77
извините, но я не в теме, ништа не знам за "патчинг vermagic "
Это оно :
perl -pi -e 's/6\.6\.74-desktop-1\.mga10/6.6.76-desktop-1.mga10/' amneziawg.ko
modinfo xxx.ko | grep vermagic
[Профиль]  [ЛС] 

artenax

Стаж: 3 года

Сообщений: 1711


artenax · 09-Фев-25 21:49 (спустя 12 мин., ред. 09-Фев-25 21:58)

kx77 писал(а):
87376294Собирал модули для ядер смартфонов.
Там мало просто найти правильные исходники ядра той же версии.
Нужен еще Module.symvers. Иначе модуль не загружается.
Вроде бы за включение symvers отвечает CONFIG_MODVERSIONS.
В debian-овских ядрах он включен. У вас действительно работает всего лишь патчинг vermagic ?
В убунте я не проверял бинарный патчинг (ядро не обновляю). В mageia работает (между 6.6.74 и 6.6.76, по крайней мере).
ChatGPT сказал, что проверить включен ли CONFIG_MODVERSIONS в ядре можно такими командами:
Код:
grep CONFIG_MODVERSIONS /boot/config-$(uname -r)
zgrep CONFIG_MODVERSIONS /proc/config.gz
modinfo -F vermagic $(find /lib/modules/$(uname -r)/kernel -type f -name '*.ko*' | head -n 5)
Выходит, что в ubuntu CONFIG_MODVERSIONS включен, а в магее нет (not set).
А вот вывод команды modinfo:
ubuntu:
Код:
modinfo -F vermagic /lib/modules/5.15.0-43-generic/kernel/net/wireguard/amneziawg.ko
5.15.0-43-generic SMP mod_unload modversions
mageia:
Код:
sudo modinfo -F vermagic /lib/modules/6.6.76-desktop-1.mga10/kernel/net/wireguard/amneziawg.ko
6.6.74-desktop-1.mga10 SMP preempt mod_unload
А какой вообще дефолт в ванили? Хорошо когда включено или выключено? Наверное, опять дебиано-убунтовская отсебятина.
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 7 месяцев

Сообщений: 824


kx77 · 09-Фев-25 22:46 (спустя 56 мин., ред. 09-Фев-25 22:46)

Цитата:
А какой вообще дефолт в ванили? Хорошо когда включено или выключено? Наверное, опять дебиано-убунтовская отсебятина.
Для разных архитектур и даже чипов по-разному. Для x86 по дефолту нет.
См arch/{arm,x86,...}/configs
[Профиль]  [ЛС] 

artenax

Стаж: 3 года

Сообщений: 1711


artenax · 09-Фев-25 22:54 (спустя 8 мин.)

Но modprobe --force то должен помогать? Хотя, понятно, что на андроиде его не выполнить.
В магее хоть и нет modversions, но всё равно приходится патчить бинарь или использовать --force.
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 7 месяцев

Сообщений: 824


kx77 · 10-Фев-25 00:44 (спустя 1 час 49 мин.)

Судя по описанию сисколла
https://man7.org/linux/man-pages/man2/init_module.2.html
должен, если собрано с CONFIG_MODULE_FORCE_LOAD=y
В дебиане это так.
На ведроидах - под вопросом.
insmod не умеет давать флаги MODULE_INIT_IGNORE_MODVERSIONS и MODULE_INIT_IGNORE_VERMAGIC
но подтянуть или самому сделать замену не составит труда
[Профиль]  [ЛС] 

artenax

Стаж: 3 года

Сообщений: 1711


artenax · 10-Фев-25 07:30 (спустя 6 часов, ред. 10-Фев-25 07:34)

kx77 писал(а):
87377195должен, если собрано с CONFIG_MODULE_FORCE_LOAD=y
В дебиане это так.
В ubuntu 22.04 в ядре 5.15.0 force_load not set.
Код:
grep CONFIG_MODULE /boot/config-$(uname -r)
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
Впрочем, not set наверное не всегда означает отсутствие поддержки? Может быть, это дефолт ядерный. Хотя, вот указано:
Код:
# CONFIG_MODULE_COMPRESS_GZIP is not set
# CONFIG_MODULE_COMPRESS_XZ is not set
# CONFIG_MODULE_COMPRESS_ZSTD is not set
и действительно, ko'шки не сжаты.
А вот в магее:
Код:
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
Выходит, убунта анально огорожена. И modversions включено и force_load not set.
Upd: кстати, о дефолтах. В магее
Код:
# CONFIG_MODULE_COMPRESS_XZ is not set
а ko'шки сжаты xz. Но это так, для сравнения. Что not set не всегда означает off. Наверное.
[Профиль]  [ЛС] 

kx77

Стаж: 12 лет 7 месяцев

Сообщений: 824


kx77 · 10-Фев-25 09:41 (спустя 2 часа 11 мин., ред. 10-Фев-25 09:41)

В debian sid FORCE_LOAD=y
ko можно сжать и самому, современные depmod и initramfs-tools это поймут. там есть еще в ядре функция внутриядерной распаковки модуля. возможно, это требуется
Вывод какой. Что часть ядер можно зафорсить модулями, часть нет. Как повезет
Но в общем это опасная практика
[Профиль]  [ЛС] 

cheburnet

Стаж: 9 лет 4 месяца

Сообщений: 93

cheburnet · 12-Фев-25 02:26 (спустя 1 день 16 часов, ред. 12-Фев-25 02:26)

Тут, кажется, заходил разговор про файловые (дисковые) редакторы?
В своё время я использовал в одном из линуксов файловый (дисковый) редактор WinHex (много крякнутых версий есть на Рутрекере), запуская его через Wine. Просто я привык именно к этому редактору. В нём можно отключить шестнадцатеричный просмотр и оставить на экране только представление символов из открытого файла в нужной кодировке. Как и в виндусе, в вайне ничего не тормозило, WinHex открывал огромные файлы с харда, не пытаясь загрузить их полностью в оперативную память (в отличие от текстовых редакторов и ЛибреОфиса). Соответственно, система не зависала. Редактировать файл можно как с возможностью отмены изменений, так и напрямую, без такой возможности. Можно клонировать целые диски и их куски посекторно.
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error