最近在学习linux的设备树,并且在设备树里添加了LED的节点,但是编译完以后,发现加载不上去,查了很多办法,发现有可能是ubuntu的内核版本和开发板的内核版本不一致的情况,我的ubuntu的内核版本是5.4.0
我的开发板内核版本是4.1.15
于是通过以下命令重新编译内核和配置内核安装路径
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx6ull-alientek-emmc.dtb
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules_install INSTALL_MOD_P
ATH=后面加上文件系统的路径
我的文件系统路径是在NFS下的,所以路径为/home/kent/linux/nfs/roots
经过上述指令后,重新编译设备树和modules文件,然后将驱动ko文件放在文件系统/lib/modules/4.1.15里,发现可以加载驱动了,但是无法显示设备号!!!
经过检查,发现是设备树烧写有问题,根本就没有被识别到!!
于是重新烧写设备树dtb文件就成功啦!!!