文章目录
- 1. 参考
- 2. 开发板 Orange-Pi-CM4 预览
- 3. 烧录 Linux 镜像到 TF 卡中
- 4. 制作桌面版镜像
- qemu/chroot
- 5. Armbian
- 6. 编译
1. 参考
淘宝
香橙派官网
Orange-Pi-3B
Orange-Pi-CM4
基于docker构建香橙派zero系统构建环境
2. 开发板 Orange-Pi-CM4 预览
3. 烧录 Linux 镜像到 TF 卡中
- 首先通过 USB2.0 公对公数据线连接好开发板与 Windows 电脑,开发板 USB2.0 烧录口的位置如下图所示
- 确保 TF 卡插槽没有插入 TF 卡
- 然后按住开发板的 MaskROM 按键不放,MaskROM 按键在开发板的位置如下图所示:
- 然后给开发板接上 Type-C 接口的电源,并上电,然后就可以松开 MaskROM 按键了
- 如果前面的步骤顺利,此时开发板会进入 MASKROM 模式,在烧录工具的界面上会提示 “发现一个 MASKROM 设备”
4. 制作桌面版镜像
制作RK3568 ubuntu20.04桌面版镜像
Rockchip RK3399 - 移植ubuntu 20.04.4根文件系统
qemu/chroot
qemu+chroot构建arm aarch64虚拟机
# 1、x86环境安装qemu-user-static
sudo apt-get install qemu-user-static
# 2、准备arm linux根文件系统
# arm linux根文件系统可以直接下载干净的版本
# 或者从运行的arm单板上进行备份获取。
# arm 单板上备份根文件系统命令:
sudo tar -cvpzf rootfs.tgz --exclude=/proc --exclude=/mnt --exclude=/sys --exclude=/rootfs.tgz /
# 解压根文件系统命令:
tar -xvpfz rootfs.tgz -C ./
# 3、构建虚拟机
# 创建rootfs目录,在rootfs下执行根文件系统解压命令,解压完成后,copy qemu执行命令到arm文件系统中
sudo cp /usr/bin/qemu-arm-static usr/bin/
sudo cp /usr/bin/qemu-aarch64-static usr/bin/
# 在rootfs录下创建proc、sys、host目录
# 在rootfs所在目录下创建ch-mount.sh文件
# 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 mount -o bind /run ${2}run
sudo mount --bind / ${2}host
#sudo mount -vt tmpfs shm ${2}dev/shm
#sudo mount -t /dev/shm ${2}dev/shm
sudo chroot ${2}
}
function umnt() {
echo "UNMOUNTING"
sudo umount ${2}proc
sudo umount ${2}sys
#sudo umount ${2}dev/shm
sudo umount ${2}dev
sudo umount ${2}run
sudo umount ${2}host
}
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
# 执行ch-mount.sh,创建虚拟机
sudo ./ch-mount.sh -m rootfs/
# arm虚拟机准备完毕,可以在虚拟的arm环境上进行相应的操作,创建用户、编译arm版本、......
# 4、卸载虚拟机
# 在虚拟机环境中执行exit退出。然后执行命令卸载挂载的相关文件。
sudo ./ch-mount.sh -u rootfs/
ubuntu_x86_64上运行arm64的程序
x86-64 linux chroot 到 arm64 chroot 环境中
x86主机下运行ARM64程序的两种方式
5. Armbian
Armbian
Armbian 快速入门指南
Igor
Armbian 清华源镜像
6. 编译
Rockchip RK3566 - orangepi-build脚本分析
☆