![NPi i.MX6ULL Linux SBC - 很难找到 Linux 标头](https://linux22.com/image/181821/NPi%20i.MX6ULL%20Linux%20SBC%20-%20%E5%BE%88%E9%9A%BE%E6%89%BE%E5%88%B0%20Linux%20%E6%A0%87%E5%A4%B4.png)
我目前使用的是 NPi i.MX6ULL 开发板 Linux SBC。
我正在尝试按照以下教程启动并运行 SPI 功能:https://wiki.seeedstudio.com/NPi-i.MX6ULL-Dev-Board-Linux-SBC/#spi
您在本教程中运行的命令之一是: apt install -y make git device-tree-compiler linux-headers-$(uname -r) gcc
当我运行此命令时,我无法获取适用于我的 Linux 版本的任何软件包。
命令结果:
阅读包裹清单...完成
构建依赖树
读取状态信息...完成
E:无法找到包 linux-headers-4.19.71-imx-r1
E:无法通过 glob 'linux-headers-4.19.71-imx-r1' 找到任何软件包
E:无法通过正则表达式“linux-headers-4.19.71-imx-r1”找到任何包
我使用的是 SEEED 网站上托管的最新固件。 (uname -r:4.19.71-imx-r1)
我不知道自己应该在这里做什么。我非常确定我需要这些依赖项,因为以下步骤让我克隆了 github 存储库,并且我缺少执行 make 操作的内容。
root@npi:~# git clone https://github.com/Seeed-Studio/seeed-linux-dtverlays
Cloning into 'seeed-linux-dtverlays'...
remote: Enumerating objects: 385, done.
remote: Counting objects: 100% (385/385), done.
remote: Compressing objects: 100% (161/161), done.
remote: Total 1341 (delta 253), reused 341 (delta 222), pack-reused 956
Receiving objects: 100% (1341/1341), 1.73 MiB | 1.46 MiB/s, done.
Resolving deltas: 100% (592/592), done.
root@npi:~# cd seeed-linux-dtverlays/
root@npi:~/seeed-linux-dtverlays# make all_imx6ull && make install_imx6ull
DTC overlays/imx6ull/imx-gpio-grove-button.dtbo
DTC overlays/imx6ull/imx-seeed-voicecard-2mic-overlay.dtbo
DTC overlays/imx6ull/imx-MCP2517FD-can0-overlay.dtbo
DTC overlays/imx6ull/imx-uart3-e-ink.dtbo
DTC overlays/imx6ull/imx-i2c2-overlay.dtbo
DTC overlays/imx6ull/imx-fire-lcd5-01-overlay.dtbo
make[1]: *** /lib/modules/4.19.71-imx-r1/build: No such file or directory. Stop.
make: *** [Makefile:151: all_imx6ull] Error 2
任何人可以提供的任何帮助或建议都会非常有帮助。我愿意在这里尝试几乎所有的事情。
编辑:
因此,我尝试删除 Linux 版本上的其余 -imx-r1 标签,以仅获取我认为可能需要的文件。看起来还没有 -imx-r1 的设备树编译器的主机文件。
root@npi:~/seeed-linux-dtoverlays# apt install -y make git device-tree-compiler linux-headers-4.19.71 gcc
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'linux-headers-4.19.71-bone38' for regex 'linux-headers-4.19.71'
Note, selecting 'linux-headers-4.19.71-armv7-rt-x38' for regex 'linux-headers-4.19.71'
Note, selecting 'linux-headers-4.19.71-armv7-lpae-x38' for regex 'linux-headers-4.19.71'
Note, selecting 'linux-headers-4.19.71-armv7-x38' for regex 'linux-headers-4.19.71'
Note, selecting 'linux-headers-4.19.71-bone-rt-r38' for regex 'linux-headers-4.19.71'
device-tree-compiler is already the newest version (1.4.7-3).
gcc is already the newest version (4:8.3.0-1).
gcc set to manually installed.
git is already the newest version (1:2.20.1-2+deb10u3).
make is already the newest version (4.2.1-1.2).
make set to manually installed.
The following NEW packages will be installed:
linux-headers-4.19.71-armv7-lpae-x38 linux-headers-4.19.71-armv7-rt-x38
linux-headers-4.19.71-armv7-x38 linux-headers-4.19.71-bone-rt-r38
linux-headers-4.19.71-bone38
0 upgraded, 5 newly installed, 0 to remove and 11 not upgraded.
Need to get 54.9 MB of archives.
After this operation, 372 MB of additional disk space will be used.
然而,当我尝试运行 make 命令时,它仍然损坏。
make[1]: *** /lib/modules/4.19.71-imx-r1/build: No such file or directory. Stop.
make: *** [Makefile:151: all_imx6ull] Error 2
它专门寻找 -imx-r1,但我认为它不存在?
答案1
所以事实证明我需要一些其他的依赖,就像我想的那样。
我需要安装位于此处的文件:
https://seeed-studio.github.io/seeed-linux-deb/
echo "deb https://seeed-studio.github.io/seeed-linux-deb/ buster main" | sudo tee /etc/apt/sources.list.d/seeed.list
curl -k https://seeed-studio.github.io/seeed-linux-deb/public.key | sudo apt-key add -
完成此操作后,我可以运行我需要的其他命令:
sudo apt update
sudo apt install linux-headers-4.19.71-imx-r1
哦,为了以防万一,我还执行了“apt full-upgrade”命令。