跨平台更新制作rootfs
在x64( pc /ubuntu 18.10 )跨平台编译arm64 的debian rootfs完整镜像,通常地,更新rootfs都是直接放在目标机上面,制作更新好rootfs后再拷贝回编译机。
对于目标机平台,通常拷贝rootfs需要非运行时环境,所以例如在emmc的rootfs需要通过sd卡系统启动去执行拷贝操作。
同时拷贝/压缩还需要关心文件的uid、gid、用户名、组名、执行权限。稍不注意,功亏一篑。
这里通过介绍qemu虚拟跨平台制作、更新rootfs。
如我们知道,debootstrap用以通过源制作debian/ubuntu 的基础rootfs。通常来说其分为下载(--foreign)和安装配置(--second-stage)两个阶段。对于跨平台的第一阶段下载只需要通过--arch置顶平台下载对应deb包,但是对于包安装则需chroot后在编译机上面虚拟目标机的deboosttap 执行安装。
如上讨论,这里我们在x64 平台下载arm64(aarch64)平台rootfs并且尝试通过chroot实现初始用户、包安装重等操作。
安装依赖包;
下载归档keyring
通过源下载rootfs
deiban jessie 如上下载安装可能会因为包缺失提示下载失败,这里搜索寻找替换了老的软件源。
chroot 是linux 用以切换rootfs的一个应用,跨平台操作通过需要切换的rootfs ...