完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
打包环境
安装QEMU 在Ubuntu系统下执行一下命令,安装QEMU模拟器 sudo apt-get install qemu-user-static rootfs系统文件提取 将厂家或自行下载的系统镜像rootfs.img,拷贝到系统,这里我放置到用户目录下的RK3288文件夹: 执行如下命令新建文件夹,并加载镜像(这里我打包的是Debian系统): sudo mkdir Debian-mount # 镜像挂载目录 sudo mkdir Debian # 定制系统目录 sudo mount rootfs.img Debian-mount # 挂载原始镜像 拷贝镜像内的所有文件,到本机文件夹,用于定制系统 sudo cp -frp Debian-mount/* Debian/ # 拷贝时连带文件价权限一块递归复制 取消挂载原始rootfs镜像 sudo umount Debian-mount # 取消镜像挂载 配置QEMU 进入到Debian文件夹,并拷贝qemu-arm-static可执行程序到要打包的系统可执行文件夹usr/bin下面: cd Debian # 切换到要定制系统根目录 sudo cp /usr/bin/qemu-arm-static usr/bin # 拷贝模拟器arm可执行文件到定制系统bin文件夹下 cd .. # 配置后切换到上一级路径 创建根文件系统脚本 拷贝完模拟器ARM平台可执行程序后,新建一个切换根目录系统的脚本ch-mount.sh,对应的脚本内容如下: #!/bin/bash function mnt() { echo "MOUNTING" sudo mount -t proc /proc ${2}proc sudo mount -t sysfs /sys ${2}sys sudo mount -o bind /dev ${2}dev sudo chroot ${2} } function umnt() { echo "UNMOUNTING" sudo umount ${2}proc sudo umount ${2}sys sudo umount ${2}dev } if [ "$1" == "-m" ] && [ -n "$2" ] ; then mnt $1 $2 elif [ "$1" == "-u" ] && [ -n "$2" ]; then umnt $1 $2 else echo "" echo "Either 1'st, 2'nd or both parameters were missing" echo "" echo "1'st parameter can be one of these: -m(mount) OR -u(umount)" echo "2'nd parameter is the full path of rootfs directory(with trailing '/')" echo "" echo "For example: ch-mount -m /media/sdcard/" echo "" echo 1st parameter : ${1} echo 2nd parameter : ${2} fi 切换到新系统根目录 执行以下命令挂载切换到指定的根文件系统(Debian文件夹): ./ch-mount.sh -m Debian/ 可以看到执行后,终端显示的用户名变为了root用户,机器名为当前系统的机器名。通过ls命令可以看到已经挂在了指定文件夹的文件,其中md5sum.txt文件为我这边系统的镜像内的校验文件。 安装所需要的软件包 这里演示给新系统安装一个nginx软件包: apt-get update # 更新可获取软件机器版本信息 apt-get install nginx # 安装nginx软件包 执行结果如下: 部分软件安装可能启动异常,这是由于在模拟器运行的缘故,只要安装成功即可。 创建新镜像 执行exit命令退出系统,并执行./ch-mount.sh -u Debian/取消挂载系统目录。使用如下命令创建新的镜像文件: dd if=/dev/zero of=rootfs_new.img bs=1M count=3000 # 这里要注意根据新系统目录的大小创建镜像 sudo mkfs.ext4 -F -L linuxroot rootfs_new.img # 格式化镜像文件,并加入linuxroot卷标 执行结果如下: 制作新镜像 挂载镜像,并拷贝修改后的文件系统进去: sudo mount rootfs_new.img Debian-mount # 挂载新镜像文件 sudo cp -rfp Debian/* Debian-mount/ # 拷贝时连带文件价权限一块递归复制 拷贝完成后,卸载镜像: sudo umount Debian-mount 修复新镜像 由于创建的新镜像文件大小和里面的新系统文件大小不一致,需要通过命令检查并修复新镜像 e2fsck -p -f rootfs_new.img 修复新镜像并进行4k对齐 resize2fs -M rootfs_new.img 完成后,就可以通过AndroidTool工具,将新系统文件刷入板卡对应分区,实现批量部署定制后的新系统。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于米尔瑞芯微RK3576核心板/开发板的人脸疲劳检测应用方案
2985 浏览 0 评论
2983 浏览 1 评论
2464 浏览 1 评论
3803 浏览 1 评论
4546 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-30 14:01 , Processed in 0.521494 second(s), Total 72, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号