需要注意的是,虚拟机需要足够的硬盘空间,不小于15GB!!
一、内核源码下载
国内镜像地址
git clone https://kernel.source.codeaurora.cn/pub/scm/linux/kernel/git/stable/linux.git/
基本达到了带宽的最大值。
国外地址,非常慢。
git clone https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
二、 编译准备
2.1 配置交叉编译路径
由于我的交叉编译环境是临时设置的,关闭系统或终端后需要重新设置。
export PATH=/home/zhi/3399/system/rk3399_linux_release_v2.5.1_20210301/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin:$PATH
2.2 切换分支
目前linux的最新稳定版是5.15.80 (在www.kernel.org上查看)
git checkout -b v5.15.80 v5.15.80
2.3 只有一个配置文件了。。。
2.4 先配置吧
2.5 编译
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8
2.5.1 出现问题1:system.h:681:10: fatal error: gmp.h: No such file or directory
2.5.2 解决1
sudo apt-get install libgmp-dev
2.5.3 问题2:builtins.h:23:10: fatal error: mpc.h: No such file or directory
2.5.4 解决2
sudo apt-get install libmpc-dev
2.6 等待编译结束,这个要看电脑的性能,估计要一会儿。
2.7 如何启动?不是很清楚,先拷贝到共享目录
cp arch/arm64/boot/Image /mnt/hgfs/vm_share/tftp/
cp arch/arm64/boot/dts/rockchip/rk3399-firefly.dtb /mnt/hgfs/vm_share/tftp/
2.8 使用uboot2022.10启动,似乎不太行。
开发板上的uboot操作:
tftp 0x0027f800 Image
tftp 0x08300000 rk3399-firefly.dtb
bootm 0x0027f800 - 0x08300000
出现问题:无法识别的内核:
使用之前的boot.img也是报出同样的问题。
看来uboot是不是还有点问题!!!!
先到这,看来还有问题要解决。