windows编译redroid

windows编译redroid

期期 2 2024-02-05

简介

在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