简介
在windows上使用docker ubuntu镜像编译redroid docker镜像
1、windows上安装docker 运行ubuntu虚拟机 配置环境
docker run -it --privileged=true ubuntu:22.04 /bin/bash
apt update
apt upgrade
apt-get install apt-transport-https ca-certificates curl software-properties-common
docker exec -it 8073a28263fa /bin/bash
https://blog.csdn.net/Asdnwosai/article/details/129740498卸载docker
安装docker或者直接按1panel
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
service docker start
vim /etc/init.d/docker 去除62行的H,如果启动报错的话
安装git
apt-get install -y git
安装repo
git clone https://mirrors.tuna.tsinghua.edu.cn/git/git-repo
mkdir ~/.bin
cp git-repo/repo ~/.bin/
chmod a+x ~/.bin/repo
export PATH=~/.bin:$PATH
echo "export PATH=~/.bin:$PATH">> ~/.bashrc
git config --global user.email [email protected]
git config --global user.name iamqiqi
安装python3
apt install python3
2、拉取redroid源码
mkdir ~/redroid && cd ~/redroid
repo init -u https://github.com/redroid-rockchip/platform_manifests.git -b redroid-12.0.0 --depth=1 --git-lfs
repo sync -c
3、 修改build/soong/cc/config/global.go,向commonGlobalCflags数组添加全局cflags "-DANDROID_12"
apt install vim
vim build/soong/cc/config/global.go
4、docker builder
cd ~/ && git clone https://github.com/remote-android/redroid-doc.git
cd redroid-doc/android-builder-docker/
docker build --build-arg userid=$(id -u) --build-arg groupid=$(id -g) --build-arg username=$(id -un) -t redroid-builder .
如果报错的话修改docerfile
RUN getent group $groupid || groupadd -g $groupid $username \
&& id -u $username &>/dev/null || useradd -m -u $userid -g $groupid $username \
&& echo "$username ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers \
&& echo $username >/root/username \
&& echo "$username:$username" | chpasswd && adduser $username sudo
docker run -it --rm --hostname redroid-builder --name redroid-builder -v ~/redroid:/src redroid-builder
cd /src
. build/envsetup.sh
lunch redroid_arm64-userdebug
export TARGET_BOARD_PLATFORM_GPU=mali-G52
export TARGET_RK_GRALLOC_VERSION=4
m
cd ~/redroid/out/target/product/redroid_x86_64
mount system.img system -o ro
mount vendor.img vendor -o ro
tar --xattrs -c vendor -C system --exclude="./vendor" . | docker import -c 'ENTRYPOINT ["/init", "androidboot.hardware=redroid"]' - redroid
umount system vendor