From f28e0dbdea3c372704e341f2715be4d06b26a72b Mon Sep 17 00:00:00 2001 From: y0w0 Date: Wed, 17 Apr 2024 16:15:34 +0800 Subject: [PATCH 1/2] fix: rock5b documentation error --- .../cm5/android/low-level-dev.md | 9 +-- .../nx5/android/low-level-dev.md | 69 +++++++++------- .../rock5b/other-os/android/install-os.md | 76 ++++++++++++++---- .../rock5b/other-os/android/low-level-dev.md | 61 ++++++++------ .../rock5b/other-os/android/preparation.md | 18 ++++- static/img/rock5b/Rock5b-rkdevtool-ssd.webp | Bin 0 -> 20838 bytes 6 files changed, 155 insertions(+), 78 deletions(-) create mode 100644 static/img/rock5b/Rock5b-rkdevtool-ssd.webp diff --git a/docs/compute-module/cm5/android/low-level-dev.md b/docs/compute-module/cm5/android/low-level-dev.md index 958dc4ecc..90cfd5f86 100644 --- a/docs/compute-module/cm5/android/low-level-dev.md +++ b/docs/compute-module/cm5/android/low-level-dev.md @@ -49,13 +49,6 @@ ENV PS1="\[\033[01;37m\]\u@build\[\033[00m\]:\[\033[01;32m\]\w\[\033[00m\]:$ " RUN apt-get install -y lzop swig RUN apt-get update -y && apt-get install -y tzdata RUN mkdir /opt/toolchains -COPY ./gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf /opt/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf -COPY ./gcc-linaro-aarch64-none-elf-4.8-2013.11_linux /opt/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux -COPY ./gcc-linaro-aarch64-none-elf-4.8-2013.11_linux /opt/toolchains/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux -COPY ./gcc-arm-none-eabi-6-2017-q2-update /opt/toolchains/gcc-arm-none-eabi-6-2017-q2-update -COPY ./gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf /opt/toolchains/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf -COPY ./gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu /opt/toolchains/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu -COPY ./gcc-linaro-7.2.1-2017.11-x86_64_aarch64-elf /opt/toolchains/gcc-linaro-7.2.1-2017.11-x86_64_aarch64-elf RUN apt-get install -y net-tools gcc-arm-linux-gnueabihf gcc-arm-none-eabi ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone @@ -90,7 +83,7 @@ $ sudo chmod +x /usr/local/bin/repo #### 代码下载 ```bash -$ repo init -u https://github.com/radxa/manifests.git -b Android12_Radxa_rk14 -m rockchip-r-release.xml +$ repo init -u https://github.com/radxa/manifests.git -b Android12_Radxa_rk14 -m rockchip-s-release.xml $ repo sync -d --no-tags -j4 ``` diff --git a/docs/compute-module/nx5/android/low-level-dev.md b/docs/compute-module/nx5/android/low-level-dev.md index fffe2a566..f8a9f0a50 100644 --- a/docs/compute-module/nx5/android/low-level-dev.md +++ b/docs/compute-module/nx5/android/low-level-dev.md @@ -17,29 +17,42 @@ Docker是一个开源的应用容器引擎,可以帮助开发者更有效地 Dockerfile 是一个构建 Docker 镜像的文本文件,可以根据以下内容构建编译 Android 所需环境。 ``` - FROM ubuntu:xenial - - RUN apt-get update -y && apt-get install -y openjdk-8-jdk python git-core gnupg flex bison gperf build-essential \ - zip curl liblz4-tool zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \ - lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \ - libgl1-mesa-dev libxml2-utils xsltproc unzip mtools u-boot-tools \ - htop iotop sysstat iftop pigz bc device-tree-compiler lunzip \ - dosfstools vim-common parted udev libssl-dev python3 python-pip lzop swig - - #### For China - RUN curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > /usr/local/bin/repo && \ - chmod +x /usr/local/bin/repo && \ - which repo - ENV REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/' - #### For China End - - RUN pip install pycrypto - ENV USER=android12-docker - ARG USER_ID=0 - ARG GROUP_ID=0 - RUN groupadd -g ${GROUP_ID} jenkins-docker && useradd -m -g jenkins-docker -u ${USER_ID} android12-docker - - USER android12-docker +FROM ubuntu:20.04 + +RUN rm /etc/apt/sources.list +RUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse" | tee /etc/apt/sources.list +RUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse" >> /etc/apt/sources.list +RUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse" >> /etc/apt/sources.list +RUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse" >> /etc/apt/sources.list + +ENV DEBIAN_FRONTEND noninteractive + +RUN apt-get update -y && apt-get install -y software-properties-common apt-utils +RUN add-apt-repository -y ppa:deadsnakes/ppa +RUN apt-get update -y && apt-get install -y python3.8 +RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 150 +RUN apt-get install -y python3-pip && pip install pycrypto + +RUN apt-get update -y && apt-get install -y openjdk-8-jdk python git-core gnupg flex bison gperf build-essential \ + zip curl gawk liblz4-tool zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \ + libncurses5 libncurses-dev x11proto-core-dev libx11-dev lib32z-dev ccache \ + libgl1-mesa-dev libxml2-utils xsltproc unzip mtools u-boot-tools \ + htop iotop sysstat iftop pigz bc device-tree-compiler lunzip \ + dosfstools vim-common parted udev libssl-dev sudo rsync python3-pyelftools cpio + + +RUN curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > /usr/local/bin/repo && \ + chmod +x /usr/local/bin/repo && \ + which repo + +ENV REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/' +ENV PS1="\[\033[01;37m\]\u@build\[\033[00m\]:\[\033[01;32m\]\w\[\033[00m\]:$ " + +RUN apt-get install -y lzop swig +RUN apt-get update -y && apt-get install -y tzdata +RUN apt-get install -y net-tools gcc-arm-linux-gnueabihf gcc-arm-none-eabi +ENV TZ=Asia/Shanghai +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone ``` @@ -58,16 +71,18 @@ Repo 是 Android 开发中用于管理多个 Git 仓库的工具,它是一个P #### Repo下载 ```bash - - radxa$ docker build -t android-builder:12.x --build-arg USER_ID=`id -u` --build-arg GROUP_ID=`id -g` $(which-dir-dockerfile-in) - +$ echo "export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'" >> ~/.bashrc +$ source ~/.bashrc +$ curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o /tmp/repo +$ sudo cp /tmp/repo /usr/local/bin/repo +$ sudo chmod +x /usr/local/bin/repo ``` ## 源码下载 ```bash -$ repo init -u git@192.168.2.13:rockchip_android_s/rk3588-manifests.git -b Android12_Radxa_rkr14 -m rockchip-s-local.xml +$ repo init -u https://github.com/radxa/manifests -b Android12_Radxa_rk14 -m rockchip-s-release.xml $ repo sync -d --no-tags -j4 ``` diff --git a/docs/rock5/rock5b/other-os/android/install-os.md b/docs/rock5/rock5b/other-os/android/install-os.md index 6812ca596..40f768e9f 100644 --- a/docs/rock5/rock5b/other-os/android/install-os.md +++ b/docs/rock5/rock5b/other-os/android/install-os.md @@ -7,7 +7,7 @@ import Etcher from '../../../../common/general/\_etcher.mdx' 本文档将介绍如何把 Android 镜像安装到 ROCK 5B。 -ROCK 5B 可以从 microSD 卡启动,也可以从 EMMC 启动,基于不同的启动方式,安装系统到不同的介质上. +ROCK 5B 可以从 microSD 卡启动,也可以从 EMMC 启动,还可以从 SPI-NVME 启动。基于不同的启动方式,安装系统到不同的介质上。 @@ -38,8 +38,6 @@ ROCK 5B 可以从 microSD 卡启动,也可以从 EMMC 启动,基于不同的 ROCK 5B 支持 9V/2A、12V/2A、15V/2A 和 20V/2A 的 USB Type-C PD 2.0。瑞莎推荐使用 [Radxa Power PD30W](../../accessories/pd-30w)。 ::: -## 参考文档 - @@ -48,7 +46,7 @@ ROCK 5B 支持 9V/2A、12V/2A、15V/2A 和 20V/2A 的 USB Type-C PD 2.0。瑞莎 ### 准备安装介质 -- micro usb 转 typea usb 接口线缆 +- TypeC 转 TypeA 接口线缆 ### 镜像下载 @@ -58,16 +56,13 @@ ROCK 5B 支持 9V/2A、12V/2A、15V/2A 和 20V/2A 的 USB Type-C PD 2.0。瑞莎 ### 系统安装 -1. 将micro usb 线缆连接到主机 - -2. 进入 maskrom 模式 +1. 进入 maskrom 模式 - 断开开发板电源 -- 移除 SD 卡,并插入 eMMC 模块 -- 用 USB A-A 连接 Radxa ROCK 5B 的 USB3.0 口 和 PC 端 -- 短接下面引脚 -- 给开发板上电 -- 摘下右边的黄色跳线帽,保留左边的黄色跳线帽 +- 移除 SD 卡,并扣好 eMMC 模块 +- 按住 maskrom 按键 +- 用 TypeC 转 TypeA 接口线缆连接 Radxa ROCK 5B 的全功能 TypeC 口和 PC 端 USB 接口 +- 松开 maskrom 按键 ROCK 5B maskrom @@ -82,7 +77,7 @@ ROCK 5B 支持 9V/2A、12V/2A、15V/2A 和 20V/2A 的 USB Type-C PD 2.0。瑞莎 #### Linux/Mac 系统使用 rkdeveloptool 写入 -[rkdeveloptool](../../low-level-dev/rkdeveloptool) +可以参考这个文档:[rkdeveloptool](../../low-level-dev/rkdeveloptool) @@ -90,12 +85,58 @@ ROCK 5B 支持 9V/2A、12V/2A、15V/2A 和 20V/2A 的 USB Type-C PD 2.0。瑞莎 #### Windows 系统使用 rkdevetool 写入 -[rkdevtool](/rock5/rock5b/low-level-dev/rkdevtool) +可以参考这个文档:[rkdevtool](/rock5/rock5b/low-level-dev/rkdevtool) - +## 系统启动 + +### 启动 ROCK 5B + +1. 通过适配器为 ROCK 5B 供电 +2. ROCK 5B 将在绿色电源 LED 亮起的情况下启动 + + + + + +## 准备工作 + +暂时只能使用 Windows 系统安装 + +### 准备安装介质 + +- TypeC 转 TypeA 接口线缆 +- 一个 M.2 NVME 固态硬盘 +- NVME 转 USB3.0 读卡器或带 NVME 插槽的 PC + +### 镜像下载 + +请到 [资源下载汇总](../../getting-started/download) 下载对应的镜像文件 + +## 系统安装 + +### 系统安装 + +1. 使用 NVME 转 USB3.0 读卡器在电脑上把 M.2 NVME 固态硬盘格式化成 FAT32 格式 + +2. 按以下步骤让 ROCK 5B 进入 moskrom 模式 + +- 断开开发板电源 +- 移除 SD 卡、eMMC ,并装好 M.2 NVME 固态硬盘 +- 按住 maskrom 按键 +- 用 TypeC 转 TypeA 接口线缆连接 Radxa ROCK 5B 的全功能 TypeC 口和 PC 端 USB 接口 +- 松开 maskrom 按键 + +3. 使用 rkdevtool 工具烧录 + +- 查看 ROCK 5B 是否进入 MASKROM 模式 + ![RKDevTool zh maskrom](/img/configuration/rkdevtool-zh-maskrom.webp) + +- 在升级固件页面选择固件,然后点击升级 + ![RKDevTool zh spi-nvme](/img/rock5b/Rock5b-rkdevtool-ssd.webp) + ## 系统启动 ### 启动 ROCK 5B @@ -104,9 +145,12 @@ ROCK 5B 支持 9V/2A、12V/2A、15V/2A 和 20V/2A 的 USB Type-C PD 2.0。瑞莎 2. ROCK 5B 将在绿色电源 LED 亮起的情况下启动 - ## 常见问题 +问:ROCK 5B 烧录 SPI-NVME 固件后,现在想换成 SD 卡或 eMMC 启动,发现不能启动了 + +答:由于 SPI-NVME 固件不兼容 SD 卡和 eMMC,需要先擦除 SPI 闪存固件。可以参考[这里擦除](../../low-level-dev/erase-spi-from-usb-otg) + ## 参考文档 diff --git a/docs/rock5/rock5b/other-os/android/low-level-dev.md b/docs/rock5/rock5b/other-os/android/low-level-dev.md index b50ff275e..39d30d15c 100644 --- a/docs/rock5/rock5b/other-os/android/low-level-dev.md +++ b/docs/rock5/rock5b/other-os/android/low-level-dev.md @@ -17,29 +17,42 @@ Docker是一个开源的应用容器引擎,可以帮助开发者更有效地 Dockerfile 是一个构建 Docker 镜像的文本文件,可以根据以下内容构建编译 Android 所需环境。 ``` - FROM ubuntu:xenial +FROM ubuntu:20.04 - RUN apt-get update -y && apt-get install -y openjdk-8-jdk python git-core gnupg flex bison gperf build-essential \ - zip curl liblz4-tool zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \ - lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \ - libgl1-mesa-dev libxml2-utils xsltproc unzip mtools u-boot-tools \ - htop iotop sysstat iftop pigz bc device-tree-compiler lunzip \ - dosfstools vim-common parted udev libssl-dev python3 python-pip lzop swig +RUN rm /etc/apt/sources.list +RUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse" | tee /etc/apt/sources.list +RUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse" >> /etc/apt/sources.list +RUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse" >> /etc/apt/sources.list +RUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse" >> /etc/apt/sources.list - #### For China - RUN curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > /usr/local/bin/repo && \ - chmod +x /usr/local/bin/repo && \ - which repo - ENV REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/' - #### For China End +ENV DEBIAN_FRONTEND noninteractive - RUN pip install pycrypto - ENV USER=android12-docker - ARG USER_ID=0 - ARG GROUP_ID=0 - RUN groupadd -g ${GROUP_ID} jenkins-docker && useradd -m -g jenkins-docker -u ${USER_ID} android12-docker +RUN apt-get update -y && apt-get install -y software-properties-common apt-utils +RUN add-apt-repository -y ppa:deadsnakes/ppa +RUN apt-get update -y && apt-get install -y python3.8 +RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 150 +RUN apt-get install -y python3-pip && pip install pycrypto - USER android12-docker +RUN apt-get update -y && apt-get install -y openjdk-8-jdk python git-core gnupg flex bison gperf build-essential \ + zip curl gawk liblz4-tool zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \ + libncurses5 libncurses-dev x11proto-core-dev libx11-dev lib32z-dev ccache \ + libgl1-mesa-dev libxml2-utils xsltproc unzip mtools u-boot-tools \ + htop iotop sysstat iftop pigz bc device-tree-compiler lunzip \ + dosfstools vim-common parted udev libssl-dev sudo rsync python3-pyelftools cpio + + +RUN curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > /usr/local/bin/repo && \ + chmod +x /usr/local/bin/repo && \ + which repo + +ENV REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/' +ENV PS1="\[\033[01;37m\]\u@build\[\033[00m\]:\[\033[01;32m\]\w\[\033[00m\]:$ " + +RUN apt-get install -y lzop swig +RUN apt-get update -y && apt-get install -y tzdata +RUN apt-get install -y net-tools gcc-arm-linux-gnueabihf gcc-arm-none-eabi +ENV TZ=Asia/Shanghai +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone ``` @@ -58,16 +71,18 @@ Repo 是 Android 开发中用于管理多个 Git 仓库的工具,它是一个P #### Repo下载 ```bash - - radxa$ docker build -t android-builder:12.x --build-arg USER_ID=`id -u` --build-arg GROUP_ID=`id -g` $(which-dir-dockerfile-in) - +$ echo "export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'" >> ~/.bashrc +$ source ~/.bashrc +$ curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o /tmp/repo +$ sudo cp /tmp/repo /usr/local/bin/repo +$ sudo chmod +x /usr/local/bin/repo ``` ## 源码下载 ```bash -$ repo init -u git@192.168.2.13:rockchip_android_s/rk3588-manifests.git -b Android12_Radxa_rkr14 -m rockchip-s-local.xml +$ repo init -u https://github.com/radxa/manifests -b Android12_Radxa_rk14 -m rockchip-s-release.xml $ repo sync -d --no-tags -j4 ``` diff --git a/docs/rock5/rock5b/other-os/android/preparation.md b/docs/rock5/rock5b/other-os/android/preparation.md index ea42dd365..67f2e1552 100644 --- a/docs/rock5/rock5b/other-os/android/preparation.md +++ b/docs/rock5/rock5b/other-os/android/preparation.md @@ -22,19 +22,29 @@ microSD 卡,容量不小于 8GB, 用于系统启动盘 ### 显示 +带有 HDMI 接口的显示器,ROCK 5B 有两个 HDMI 输出端口,均支持 CEC 和 HDMI 2.1,分辨率最高支持分别为 8Kp60 和 4Kp60,并且其 Type-C 接口也可支持视频输出。 +另外,ROCK 5B 拥有 1 个 HDMI 输入接口,支持 HDMI 2.1 输入,分辨率为 4Kp60。 + ### 网络连接 +ROCK 5B 有以太网口,可以通过以太网接入网络; ROCK 5B 主板正面有一个带 2230 安装孔的 M.2 E Key 连接器,提供 PCIe 2.1 单通道、USB、SATA、SDIO、PCM 和 UART 信号。 +如果你想通过无线模块上网,Radxa 推荐使用 [Radxa Wireless A8](../../accessories/wifi_bt_access.md)。Radxa Wireless A8 的接口规格是 M.2 2230 E 口,安装在 ROCK 5B 的 M.2 E 口然后打开 wifi 网络就可以上网。 + ### Type-C Hub 用于 USB 口接口扩展,可外接类似 USB 鼠标, USB 键盘等设备 -### USB 鼠标 +## 常见问题 + +问:为什么新买的 Radxa A8 wifi 模块不能在 ROCK 5B 安卓系统上使用? -### USB 键盘 +答:因为老固件没有兼容新的 Radxa A8 模块,可以找 Radxa 工作人员提供新固件。 -## 常见问题 +问:为什么我的 Radxa 8HD 屏不能在安卓系统上使用,Radxa 10HD 屏却可以使用? + +答:现阶段 ROCK 5B 一个安卓固件只能支持一个 mipi 屏,如果固件不支持您的 mipi 屏,可以找 Radxa 工作人员提供新固件。 -## 注意事项 +其它[常见问题](../../../faq.md) ## 参考文档 diff --git a/static/img/rock5b/Rock5b-rkdevtool-ssd.webp b/static/img/rock5b/Rock5b-rkdevtool-ssd.webp new file mode 100644 index 0000000000000000000000000000000000000000..48c48942b6a5ddbfcdb80ae90cf5aad576069e71 GIT binary patch literal 20838 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 literal 0 HcmV?d00001 From b1c27f7c51ce3fa7f480402275569bc8f59c4e0b Mon Sep 17 00:00:00 2001 From: y0w0 Date: Mon, 22 Apr 2024 09:45:01 +0800 Subject: [PATCH 2/2] docs: zero3: change image address --- docs/zero/zero3/other-os/android/download.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/zero/zero3/other-os/android/download.md b/docs/zero/zero3/other-os/android/download.md index c6ab6d6f7..51b68485c 100644 --- a/docs/zero/zero3/other-os/android/download.md +++ b/docs/zero/zero3/other-os/android/download.md @@ -13,7 +13,7 @@ sidebar_position: 5 Radxa ZERO 3 安卓镜像格式有两种,分别是gpt、update。可以看镜像文件名称区分。 推荐使用 gpt 格式镜像。 -Radxa ZERO 3 gpt 格式镜像下载请[点击这里](https://github.com/radxa/manifests/releases/download/Android11_Radxa_rk12_20231109/Radxa_ZERO_3W_3E_Android11_rkr12_20231109-gpt.zip)。 +Radxa ZERO 3 gpt 格式镜像下载请[点击这里](https://github.com/radxa/manifests/releases/download/radxa-zero3-we-android11-rkr12-20240111/Radxa-Zero3WE-20231130-gpt.zip)。 Radxa ZERO 3 update 格式镜像下载请[点击这里](https://github.com/radxa/manifests/releases/download/Android11_Radxa_rk12_20231109/Radxa_ZERO_3W_3E_Android11_rkr12_20231109-update.zip)。