尝试为 HFS+ 安装 Paragon ufsd 专业驱动程序时,内核配置无效错误

ola*_*laf 6 compiling kernel dkms drivers

简短的问题:

在运行 Paragon UFSD 驱动程序的 install.sh Skript 时,我收到错误消息:

 ERROR: Kernel configuration is invalid."; 
\include/generated/autoconf.h or include/config/auto.conf are missing."$
 Run 'make oldconfig && make prepare' on kernel src to fix it.";      \
Run Code Online (Sandbox Code Playgroud)

我如何运行“make oldconfig && make prepare”,这有意义吗?

免责声明:

我知道这个问题是在 NVIDIA 驱动程序的上下文中被问到的,但它是通过建议其他安装 NVIDIA 的方法而不是告诉如何运行 make 命令来回答的(安装 NVIDIA 驱动程序:Error Run 'make oldconfig && make prepare' on kernel src to fix它。”)。在另一个问题中,问题已解决,但提出问题的人不记得是如何解决的(“错误:内核配置无效”)。

我的问题的背景:

我现在尝试了几天来安装 Paragon-147-PRE_NTFS_Linux_9.4_Pro UFSD 驱动程序,以获得完整的读写 NTFS 和 HFS+ 文件系统支持。驱动程序正式支持 Ubuntu 16.04LTS。在处理完我的旧 Linux 安装后,我使用全新安装的 Ubuntu 16.04.2LTS(从 UBUNTU 网站下载),除了标准安装之外什么都没有,尽管我在三重引导系统(Windows7、elementary、Ubuntu)上运行它,如果这很重要。

我安装了 build-essentials、dkms 和 linux-headers:

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install build-essential
sudo install dkms
sudo apt-get install linux-generic
sudo apt-get install linux-signed-generic
uname -a
Linux notebook 4.8.0-39-generic #42~16.04.1-Ubuntu SMP Mon Feb 20 15:06:07 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

据我所知,我符合 Paragon 手册(http://download.paragon-software.com/doc/ntfs_hfs_linux_9_4_user_manual.pdf)中列出的所有要求(硬件和已安装的软件):

»build-essential« ist bereits die neuste Version (12.1ubuntu2).
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
GNU Make 4.1
Gebaut für x86_64-pc-linux-gnu
GNU ld (GNU Binutils for Ubuntu) 2.26.1
kmod version 22
-XZ -ZLIB -EXPERIMENTAL
dkms: 2.2.0.3
Run Code Online (Sandbox Code Playgroud)

我解压了 Paragon 驱动程序包并启动了 install.sh skript(注意“超出范围”警告:我之前在 4.4. 内核上尝试过它,但没有该警告但最终的错误消息相同):

viejo@notebook:/usr/tmp/ufsd/Paragon-147-PRE_NTFS_Linux_9.4_Pro$ sudo ./install.sh
By installing this software you accept the terms of End User License Agreement listed in License file.
Continue installing? [yes/no/read].
yes
Current kernel version is out of supported range. Proceed at your own risk? [yes/No]
yes
Searching and removing previously installed UFSD driver in /lib/modules/4.8.0-39-generic/
Would you like to mount NTFS/HFS+ volumes with UFSD driver automatically? [yes/no]
yes
Automount configured
Would you like UFSD driver to rebuild after kernel updates? [yes/no]
yes
Setting DKMS configuration
Preparing to install
ERROR (dkms apport): binary package for paragon-ufsd: head not found
Error! Bad return status for module build on kernel: 4.8.0-39-generic (x86_64)
Consult /var/lib/dkms/paragon-ufsd/head/build/make.log for more information.
Can't prepare driver configuration
cat: /var/lib/dkms/paragon-ufsd/head/4.8.0-39-generic/x86_64/log/make.log: Datei oder Verzeichnis nicht gefunden
Run Code Online (Sandbox Code Playgroud)

在 make.log 中,我发现了以下错误消息:

...
make[2]: Verzeichnis „/usr/src/linux-headers-4.8.0-39-generic“ wird betreten
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (                \
echo >&2;                                                       \
echo >&2 "  ERROR: Kernel configuration is invalid.";           \
echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing."$
echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";      \
echo >&2 ;                                                      \
/bin/false)
...
cc1: all warnings being treated as errors
/usr/src/linux-headers-4.8.0-39-generic/scripts/Makefile.build:289: die Regel für Ziel „/$
make[3]: *** [/var/lib/dkms/paragon-ufsd/head/build/ifslinux/ufsdjnl.o] Fehler 1
/usr/src/linux-headers-4.8.0-39-generic/Makefile:1491: die Regel für Ziel „_module_/var/l$
make[2]: *** [_module_/var/lib/dkms/paragon-ufsd/head/build] Fehler 2
make[2]: Verzeichnis „/usr/src/linux-headers-4.8.0-39-generic“ wird verlassen
Makefile:150: die Regel für Ziel „sub-make“ scheiterte
make[1]: *** [sub-make] Fehler 2
make[1]: Verzeichnis „/usr/src/linux-headers-4.8.0-39-generic“ wird verlassen
Makefile:94: die Regel für Ziel „ufsd.ko“ scheiterte
make: *** [ufsd.ko] Fehler 2
Run Code Online (Sandbox Code Playgroud)

在寻找 Paragon Manual 故障排除中建议的源代码文件和配置文件时,在我看来,我拥有所需的一切:

viejo@notebook:/usr/src/linux-headers-4.8.0-39-generic$ ls
arch    Documentation  include  Kconfig   mm              scripts   tools   zfs
block   drivers        init     kernel    Module.symvers  security  ubuntu
certs   firmware       ipc      lib       net             sound     usr
crypto  fs             Kbuild   Makefile  samples         spl       virt

viejo@notebook:/boot$ ls
abi-4.4.0-64-generic         memtest86+.bin
abi-4.8.0-36-generic         memtest86+.elf
abi-4.8.0-39-generic         memtest86+_multiboot.bin
config-4.4.0-64-generic      System.map-4.4.0-64-generic
config-4.8.0-36-generic      System.map-4.8.0-36-generic
config-4.8.0-39-generic      System.map-4.8.0-39-generic
efi                          vmlinuz-4.4.0-64-generic
grub                         vmlinuz-4.4.0-64-generic.efi.signed
initrd.img-4.4.0-64-generic  vmlinuz-4.8.0-36-generic
initrd.img-4.8.0-36-generic  vmlinuz-4.8.0-39-generic
initrd.img-4.8.0-39-generic  vmlinuz-4.8.0-39-generic.efi.signed
Run Code Online (Sandbox Code Playgroud)

我不知道如何进行。我会非常感谢任何帮助或提示我可以在哪里获得更多信息。

奥拉夫

小智 5

重新安装 Linux headers 或复制文件

sudo apt install --reinstall linux-headers-$(uname -r)
Run Code Online (Sandbox Code Playgroud)
sudo cp /usr/src/linux-headers-5.8.0-43-generic/include/generated/autoconf.h /usr/src/linux-headers-5.8.0-44-generic/include/generated/
Run Code Online (Sandbox Code Playgroud)
sudo apt install --reinstall build-essential
sudo apt install --reinstall dkms
sudo apt install --reinstall linux-generic
sudo apt install --reinstall linux-signed-generic
Run Code Online (Sandbox Code Playgroud)

  • 对我来说,重新安装头文件包有帮助(并且不需要复制头文件)。谢谢! (3认同)

ola*_*laf 3

我只是想分享我如何解决有关安装适用于 HFS+ 和 NTFS 的 Paragon Professional UFSD 驱动程序的问题,以防其他人遇到类似问题。

我在 Paragon 创建了支持票并获得了支持具有 4.8 内核的 Ubuntu 16.4.2lts 的新版本。

无需运行 make oldconfig 等...

但请注意,您仍然需要安装 build-essentials、dkms 和源代码(标头):

sudo apt-get install build-essential
sudo apt-get install dkms
sudo apt-get install linux-generic
sudo apt-get install linux-signed-generic
Run Code Online (Sandbox Code Playgroud)

祝奥拉夫好运