自己制作树莓派镜像文件

一般我们都是考官网的镜像文件来用,这次自己手动在Linux上把镜像文件完善。

前期准备:

1.拷贝2019-07-10-raspbian-buster-lite.img到虚拟机的/work目录下
2.拷贝linux-4.18-source.tar.bz2到虚拟机 的/work目录下
3.解压文件 tar -xf linux-4.18-source.tar.bz2 到虚拟机 的/work目录下
(/work目录有很大的内存 防止出现内存不足的情况)
4.安装插件 sudo apt-get install git bison flex libssl-dev  
		  sudo apt-get install libncurses5-de
5.安装交叉编译工具  git clone --depth 1 https://github.com/raspberrypi/tools ~/tools

配置内核 :

(cd linux)
1.KERNEL=kernel7
2.make ARCH=arm CROSS_COMPILE=arm--linux--gnueabihf-- bcm2709_defconfig

编译内核:

make ARCH=arm CROSS_COMPILE=arm--linux--gnueabihf-- zImage modules dtbs

替换img中的内核

挂载img:
		查看img信息:fdisk -l 2018-10-09-raspbian-stretch-lite.img
		新建mnt文件夹,mnt下再新建boot和linux文件夹
		挂载根分区,2018-10-09-raspbian-stretch-lite.img2(Linux)到/mnt,从起点(Start,98304)开始
	
			sudo mount -o loop,offset=$((98304 * 512)) 2018-10-09-raspbian-stretch-lite.img /mnt
 			offset = 50331648 = 98304 * 512 = 起点 *512
			sudo mount -o loop,offset=$((540672*512)) 2019-07-10-raspbian-buster-lite.img /mnt

		安装内核模块:
		sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=/mnt modules_install
		安装内核到/mnt/boot:
			sudo cp /mnt/boot/$KERNEL.img /mnt/boot/$KERNEL-backup.img
			sudo cp arch/arm/boot/zImage /mnt/boot/$KERNEL.img
			sudo cp arch/arm/boot/dts/*.dtb /mnt/boot/
			sudo cp arch/arm/boot/dts/overlays/*.dtb*  /mnt/boot/overlays/
			sudo cp arch/arm/boot/dts/overlays/README  /mnt/boot/overlays/

卸载分区:
		sudo umount /mnt/boot
		sudo umount /mnt/linux
注意 : 可能路径不一样  这里可以用绝对路径,路径就是你新建的分区mnt

你可能感兴趣的:(树莓派,Linux)