我看的是《linux驱动开发入门》如果没有的话找我,只要你看得懂我的简介 嘻嘻嘻
全是我自己报的错!!!离谱
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev gcc-multilib x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev g++-multilib tofrodos python-markdown libxml2-utils libssldev swig python-dev
这差不多是需要的依赖标红的自己删掉然后安装,他会给报错信息,然后根据信息去安装
/bin/sh: 1: python: not found
make[3]: *** [scripts/dtc/pylibfdt/Makefile:26: scripts/dtc/pylibfdt/_libfdt.so] Error 127
make[2]: *** [scripts/Makefile.build:425: scripts/dtc/pylibfdt] Error 2
make[2]: *** Waiting for unfinished jobs....
ls -l /usr/bin/python*
sudo ln -s /usr/bin/python2.7 /usr/bin/python
python 没有软连接一个
cc1: error: bad value (‘armv5te’) for ‘-march=’ switch
ARCH :=arm
CROSS_COMPILE ?=arm-none-linux-gnueabi-
这个是编译参数没加,我是直接加在make 前面半段的位置的
/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
gcc版本高 目前我的环境是22.04 gcc 11.0以上版本
修改scripts/dtc目录下的dtc-lexer.lex.c_shipped文件中找到
YYLTYPE yyloc这一行,在640行,在之前面加上extern
保存退出,
make 编译
正常编译
这个错误如果你去他报错的文件删\是没有用的他会给你加回来我淦
DTC arch/arm/dts/suniv-f1c100s-licheepi-nano.dtb
Error: arch/arm/dts/.suniv-f1c100s-licheepi-nano.dtb.pre.tmp:59.1-10 syntax error
\#include "sunxi-u-boot.dtsi"
前面多了\
修改scripts/Makefile.lib第321行后问题解决
uboot 做好了,要sunxi-tool 下载 这里也爆了依赖的错
sudo apt install pkg-config
sudo apt install pkgconf
sudo apt-get install zlib1g-dev
sudo apt-get install libusb-1.0-0-dev
后来没有用这个下载
参考的另一个人的文章,我用的是wsl2操作参考文章