linux-headers 和 linux-image linux-headers 和 linux-image 是两个 deb 包,可安装在 Debian/Ubuntu 系 统中。 linux-headers 包含各种头文件,可以让设备具有本地编译驱动的能力。 linux-images 包含编译内核时产生的驱动模块,将这些模块安装到设备中,设 备才能 modprobe/insmod 进行使用。如果设备使用了 extboot,自行编译的 linux-image 内还会包含内核,安装即可直接升级内核,免去烧写步骤。 如何确定是否使用了 extboot?请前往板卡对应维基的"编译 Ubuntu 固件"页面 ,"部分编译"章节查看。如果没有 extboot 相关内容,则说明不支持。 获取方法 下载 Firefly 官方提供了两个 linux-headers 和 linux-image,方便客户在开发板 进行驱动编译。官方提供的包中不含内核,安装后不会对内核进行升级,各板型 均可使用。 各个板卡的下载请到 Firefly 官方 《资料下载》 页面下载。选择板卡后一般在“ 资源 ”处,名称为 linux-headers 。 制作 官方提供的 headers 和 image 版本和实际固件可能有差异,并且有定制需求的 客户也无法使用,因此建议通过 SDK 制作: 首先准备环境、获取 SDK、编译前配置,请前往不同板卡的维基查看,接下来在 SDK 根目录进行编译: # 选择板卡配置文件 ./build.sh xxxx.mk # 编译 ./build.sh kerneldeb 生成的文件会在 SDK 根目录: linux-headers-x.xx.xxx_x.xx.xxx-xxx_arm64.deb linux-image-x.xx.xxx_x.xx.xxx-xxx_arm64.deb 如果 SDK 使用了 extboot,那么 linux-image 包含内核,因此只能用于你在 "./build.sh xxxx.mk"所选择的型号上。 安装 以下以 ROC-RK3568-PC 安装为例: 将得到的 deb 包放入设备中,然后安装,对于 headers,安装后还需要进行编 译处理: 对于使用了 extboot 的板卡,安装后重启即可完成内核更新,之后再进行编译 headers # 安装 sudo dpkg -i linux-headers-4.19.172_4.19.172-189_arm64.deb sudo dpkg -i linux-image-4.19.172_4.19.172-189_arm64.deb # 准备编译环境 sudo apt install -y build-essential python libssl-dev # 编译 cd /usr/src/linux-headers-4.19.172 make headers_check make headers_install # make scripts 可能会出错,如果出错在 tools,可以直接忽略,安装完成 make scripts