实时总结是很重要的,时间久了,可能会遗忘。下面是“linux系统镜像”和“根文件系统”重新打包小结。
1、linux系统镜像重新打包
在第1次完成linux系统镜像打包后,再重新打包就很容易了
将“bootfs”重新打包
准备打包文件:
输入“cd /home/zgq/linux/atk-mp1/linux/my_linux/linux-5.4.31”
输入“make uImage dtbs LOADADDR=0XC2000040 -j8回车”
#编译镜像文件和设备树,linux内核在DDR中的加载地址为0XC2000040,-j8表示采用8线程编译
输入“cp arch/arm/boot/uImage /home/zgq/linux/atk-mp1/linux/bootfs/ -f回车”,执行文件拷贝;
输入“cp arch/arm/boot/dts/stm32mp157d-atk.dtb /home/zgq/linux/atk-mp1/linux/bootfs/ -f回车”,执行文件拷贝
得到新的“uImage”和“stm32mp157d-atk.dtb”
查看目录下的“uImage”和“stm32mp157d-atk.dtb”有多少字节:
输入“cd /home/zgq/linux/atk-mp1/linux/bootfs/回车”切换到“/home/zgq/linux/atk-mp1/linux/bootfs/”目录
输入“ls -l回车”,列出“bootfs”目录下的文件和文件夹
输入“dd if=/dev/zero of=bootfs.ext4 bs=1M count=10回车”
使用“dd命令”创建一个名为“bootfs.ext4”的磁盘;
“of”指定磁盘名字为“bootfs.ext4”;
“bs”指定磁盘输入/输出块大小为1MB;
“count”指定磁盘的块数量为 10个;
输入“mkfs.ext4 -L bootfs bootfs.ext4回车”
使用“mkfs.ext4”将“bootfs.ext4磁盘”格式化为“ext4”格式。
输入“sudo mount bootfs.ext4 /mnt/bootfs/回车”,
使用“mount命令”将“bootfs.ext4”磁盘挂载到“/mnt/bootfs”目录下;
输入密码“123456回车”
输入“sudo cp uImage stm32mp157d-atk.dtb /mnt/bootfs/回车”
将“uImage”和“stm32mp157d-atk.dtb”拷贝到“/mnt/bootfs/”目录中;
输入“sudo umount /mnt/bootfs回车”,使用“umount”卸载掉“bootfs”
输入“ls -l回车”,列出“bootfs”目录下的文件和文件夹
2、根文件系统重新打包
在第1次完成“根文件系统打包”后,再重新打包就很容易了
将“rootfs”重新打包
输入“cd /home/zgq/linux/rootfs/”
输入“dd if=/dev/zero of=rootfs.ext4 bs=1M count=1024回车”,分配1G空间给“rootfs.ext4”
输入“mkfs.ext4 -L rootfs rootfs.ext4回车”,将“rootfs”格式化
输入“ls -l回车”,查看“/home/zgq/linux/rootfs/”目录下的文件和文件夹
输入“sudo mount rootfs.ext4 /mnt/rootfs/回车”,将“rootfs.ext4”挂载在“/mnt/rootfs/”目录下
输入“cd /home/zgq/linux/nfs/rootfs/回车”,切换到“/home/zgq/linux/nfs/rootfs/”目录
输入“ls回车”,查看“/home/zgq/linux/nfs/rootfs”目录下的文件和文件夹
输入“sudo cp * /mnt/rootfs/ -drf 回车”,执行拷贝
输入“sudo umount /mnt/rootfs/回车”卸载掉“rootfs”
输入“cd /home/zgq/linux/rootfs/”
输入“ls -l回车”,查看“/home/zgq/linux/rootfs/”目录下的文件和文件夹
至此,我们完成了linux最小系统的移植,但是后面还要换根文件系统,路还很长。