编译linux
编译linux
0. 交叉编译器
关于交叉编译器的安装,写在另一篇文章里-- 安装交叉编译器
1. 下载
核桃派1b目前使用的是linux 6.1.31版本。linux的历史数据得好几个G,这里只下载该分支的最新一次提交的完整数据。
git clone -b 6.1.31 --depth=1 https://github.com/walnutpi/linux.git linux-6.1
cd linux-6.1
2. 声明交叉编译器和系统类型
export CROSS_COMPILE=aarch64-none-linux-gnu-
export ARCH=arm64
3. 调用配置文件
make walnutpi1b_defconfig
4. 开始编译
这里我使用32线程编译
make -j32
5. 导出所有驱动模块
导出到当前路径下名为"ko"的文件夹
make modules_install INSTALL_MOD_PATH="ko"
6. 导出设备树
导出到当前路径下名为"dtb"的文件夹
make dtbs_install INSTALL_DTBS_PATH="dtb"
存放相关文件
1. 将linux内核和设备树存放到sd卡分区1下
sudo mount /dev/sda1 /mnt/
sudo cp arch/arm64/boot/Image /mnt/
sudo cp -r dtb/ /mnt/
sudo umount /mnt
2. 等rootfs装好后,将驱动模块放入sd卡分区2的/usr/lib/
sudo mount /dev/sda2 /mnt/
sudo cp -r ko/lib/modules /mnt/usr/lib/
sudo umount /mnt