Ошибка: не удалось mmap файл: vmlinux

В недавно установленной виртуальной машине я получаю эту ошибку при компиляции ядра для архитектуры x86:

$ Could not mmap file: vmlinux

$ make: *** [vmlinux] Error 1

Я впервые это вижу. Я увеличил размер /proc/sys/kernel/shmmax до 128 МБ, но это не решает проблему. Есть идеи?

Спасибо!:)

2 ответа

У меня была такая же проблема при компиляции ядра в общей папке виртуальной коробки. Ошибка исходит от mmap_file() функция в исходном файле scripts/sortextable.c, Более того, все функции mmap завершились ошибкой с ошибкой EINVAL в общей папке.

Я исправил это, скопировав исходники linux в не общую папку, такую ​​как /home/Name/linux, и скомпилировал там.

У меня была такая же проблема при компиляции ядра Linux в общей папке VirtualBox, и я немного исправил функцию sortextable в строке 104 (+/-) скрипта link-vmlinux.sh, локализованного в каталоге scripts/

Я изменяю это:

sortextable()
{
        ${objtree}/scripts/sortextable ${1}        
}

за это:

sortextable()
{
    cp ${1} /tmp/.${1}
    scripts/sortextable /tmp/.${1}
    cp /tmp/.${1} ${1}
}

И работает на меня!

Другие вопросы по тегам