Изменить параметры ядра (операция mmap запрещена, EPERM) - PullRequest
0 голосов
/ 08 февраля 2019

Я пытаюсь запустить этот код на сервере (RedPitaya), а также на клиенте (виртуальная машина Ubuntu).

Программа возвращает следующие сообщения об ошибках при запускена клиенте с правами суперпользователя:

root@VirtualBox:/.../rp_remote_acquire# ./rp_remote_acquire -m 1 -a 192.169.1.100 -p 5000 -k 0 -c 0 -d 64
mmap scope io failed (non-fatal), 1
mmap scope ddr a failed (non-fatal), 1
Segmentation fault (core dumped)

Я не уверен, связана ли ошибка сегментации с первыми двумя ошибками, потому что ошибка сегментации возникает только при работающем сервере ...

Похоже, ошибка идет отсюда:

if (param->mapped_io == MAP_FAILED) {
    fprintf(stderr, "mmap scope io failed (non-fatal), %d\n", errno);
    param->mapped_io = NULL;
}

Мне известно, что аналогичная проблема уже была решена в стеке потока.

Я пытался

sysctl dev.mem.restricted

и я попытался добавить

linux   /boot/vmlinuz-linux iomem=relaxed

в конец

/boot/grub/grub.cfg

и перезагрузиться, но проблема все еще сохраняется ...

Я хотел бы разрешить этой программе доступ к виртуальной памяти компьютера и тем самым, надеюсь, устранить все ошибки.Вполне возможно, что мне не удалось правильно установить параметры ядра.

Может кто-нибудь указать мне правильное направление?

...