diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..03d05707a2ee869bad3ed7089b048f3780fd564b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,9 @@
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+/node_modules
+package-lock.json
+.idea/
+
diff --git a/README-en.md b/README-en.md
new file mode 100644
index 0000000000000000000000000000000000000000..daae1e1fe68e25c630068c51aee2993cdc131890
--- /dev/null
+++ b/README-en.md
@@ -0,0 +1,49 @@
+# openEuler DOCS
+
+### Introduction
+
+DOCS contains all documents of the openEuler community, including the release notes, OS installation guide, administrator guide, virtualization, container, and A-Tune user guides, and application development guide.
+
+### Searching for a Document in DOCS
+
+Open the **docs** folder. The folder contains documents in Chinese (**zh** folder) and English (**en** folder). The English document is used as an example. In the **en** folder, the **docs** folder contains the content of a specific document, and the **menu** folder contains the overview of the document.
+Open the **docs** folder. The relationship between guides and folders is as follows:
+* **A-Tune**: *A-Tune User Guide*
+* **Administrator**: *Administrator Guide*
+* **ApplicationDev**: *Application Development Guide*
+* **Container**: *Container User Guide*
+* **Installation**: *Installation Guide*
+* **Quickstart**: *Quick Start*
+* **Releasenotes**: *Release Notes*
+* **SecHarden**: *Security Hardening Guide*
+* **Virtualization**: *Virtualization Application Guide*
+
+
+### Modifying a Document
+
+When the openEuler version information is updated, the documents herein also need to be updated. Thank you for providing updates.
+
+### Checking the Relationship Between Versions and Branches
+The DOCS contains the following four branches:
+
+* **master**: development branch, which is the default branch
+* **stable-1.0\_Base**: 1.0 Base version branch, which is displayed in **DOCS** > **1.0 BASE** on the [openEuler community website](https://openeuler.org/)
+* **stable-20.03\_LTS**: 20.03 LTS version branch, which is displayed in **DOCS** > **20.03 LTS** on the [openEuler community website](https://openeuler.org/)
+* **stable-20.09\_LTS**: 20.09 version branch, which is displayed in **DOCS** > **20.09** on the [openEuler community website](https://openeuler.org/)
+
+### Participating in SIG
+Create or reply to an issue: You can discuss an issue by creating or replying to an issue.
+Submit a Pull Request (PR): You can participate in SIG by submitting a PR.
+Submit comments: You can submit comments on issues or PRs. You can also comment on the document through **Feedback** on the website document page.
+We are always pleased to receive PRs from you.
+
+### Member
+#### Maintainer List
+- Rudy_Tan[@rudy_tan](https://gitee.com/rudy_tan)
+- amyMaYun[@amy_mayun](https://gitee.com/amy_mayun)
+- qiaominna[@qiaominna](https://gitee.com/qiaominna)
+
+
+### Contacting Us
+E-mails: doc@openeuler.org
+IRC: #openeuler-doc
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..a1fb30eadfde923266cea2addb82337acbf0c1f9
--- /dev/null
+++ b/README.md
@@ -0,0 +1,49 @@
+# openEuler 文档
+
+### 介绍
+
+Docs包含了openEuler社区的所有文档,包括发行说明、操作系统安装,管理员指南,虚拟化和容器的使用指导,A-Tune使用指导,应用开发指导等内容。
+### 如何在Docs中查找文档
+
+打开“docs”文件夹,该文件夹包含了中文(“zh”文件夹)和英文(“en”文件夹)两种语言文档,以中文文档举例进行说明。
+在“zh”文件夹中,进入到目录docs/zh/docs/20.09,“docs”文件夹包含了具体文档的内容,“menu”包含了文档的大纲内容。
+打开“docs”文件夹,各手册和文件夹对应关系如下。
+* A-Tune文件夹对应:A-Tune用户指南
+* Adminnistration文件夹对应手册为:管理员指南
+* ApplicationDev文件夹对应手册为:应用开发指南
+* Container文件夹对应手册为:容器用户指南
+* Installation文件夹对应手册为:安装指南
+* Quickstart文件夹对应手册为:快速入门
+* Releasenotes文件夹对应手册为:发行说明
+* SecHarden文件夹对应手册为:安全加固指南
+* Virtualization文件夹对应手册为:虚拟化应用指南
+
+
+### 如何修改文档
+
+当openEuler版本信息有刷新时,这里文档也需要刷新。很感谢您愿意提供刷新内容。
+请阅读[资料开发流程指导](https://gitee.com/lss410313/docs/wikis/Home)进行操作参考。
+
+### 如何查看版本分支对应关系
+Docs当前使用如下4个分支:
+* master:开发分支,为默认分支。
+* stable2-1.0_Base:1.0 Base版本分支,分支内容呈现在[openEuler社区](https://openeuler.org/)网站“文档->1.0 BASE。
+* stable2-20.03_LTS:20.03 LTS版本分支,分支内容呈现在[openEuler社区](https://openeuler.org/)网站“文档->20.03 LTS”。
+* stable2-20.09:20.09 版本分支,分支内容呈现在[openEuler社区](https://openeuler.org/)网站“文档->20.09”。
+
+
+### 如何参与SIG
+建立或回复 issue:欢迎通过建立或回复 issue 来讨论。
+提交PR:欢迎通过提交PR的方式参与SIG。具体操作方法可参考[PR提交指南](https://gitee.com/openeuler/community/blob/master/zh/contributors/pull-request.md)。
+提交评论:欢迎在issue或PR中提交评论。 您也可以通过网站文档页的“意见反馈”对文档进行评论。
+重要的事说三遍:欢迎提交 PR!欢迎提交 PR!欢迎提交 PR!
+
+### 成员
+#### Maintainer 列表
+- Rudy_Tan[@rudy_tan](https://gitee.com/rudy_tan)
+- amyMaYun[@amy_mayun](https://gitee.com/amy_mayun)
+- qiaominna[@qiaominna](https://gitee.com/qiaominna)
+
+### 如何联系我们
+邮件列表: doc@openeuler.org
+IRC: #openeuler-doc
\ No newline at end of file
diff --git a/docs/en/docs/Installation/FAQ1.md b/docs/en/docs/Installation/FAQ1.md
new file mode 100644
index 0000000000000000000000000000000000000000..9f065f6c2b1f9e7d18c90b3f8f76f04fa50a2ee4
--- /dev/null
+++ b/docs/en/docs/Installation/FAQ1.md
@@ -0,0 +1,26 @@
+# FAQ
+
+
+- [FAQ](#faq)
+ - [Failing to Start the Raspberry Pi](#树莓派启动失败)
+ - [Symptom](#问题现象)
+ - [Cause Analysis](#原因分析)
+ - [Solution](#解决方法)
+
+
+## Failing to Start the Raspberry Pi
+
+### Symptom
+
+After the Raspberry Pi image released by the openEuler is written to the SD card, the Raspberry Pi fails to be started.
+
+### Cause Analysis
+
+The possible causes are as follows:
+
+1. The downloaded image file is incomplete. To avoid this problem, ensure that the image passes the integrity verification.
+2. An error occurs when the image is written to the SD card. In most cases, the error occurs when the image is written to the SD card in the Windows environment using the application software.
+
+### Solution
+
+Re-write the complete image to the SD card.
\ No newline at end of file
diff --git a/docs/en/docs/Installation/Installation-Guide1.md b/docs/en/docs/Installation/Installation-Guide1.md
new file mode 100644
index 0000000000000000000000000000000000000000..fb04710969679e2d92578dfcfbf9ce32373c4226
--- /dev/null
+++ b/docs/en/docs/Installation/Installation-Guide1.md
@@ -0,0 +1,188 @@
+# Installation Guide
+
+This section describes how to enable the Raspberry Pi function after [Writing Raspberry Pi Images into the SD card](./安装方式介绍-1.html).
+
+
+- [Installation Guide](#安装指导)
+ - [Starting the System](#启动系统)
+ - [Logging in to the System](#启动系统)
+ - [Configuring the System](#启动系统)
+ - [Expanding the Root Directory Partition](#扩展根目录分区)
+ - [Connecting to the Wi-Fi Network](#连接-wifi)
+
+
+## Starting the System
+
+After an image is written into the SD card, insert the SD card into the Raspberry Pi and power on the SD card.
+
+For details about the Raspberry Pi hardware, visit the [Raspberry Pi official website](https://www.raspberrypi.org/).
+
+## Logging in to the System
+
+You can log in to the Raspberry Pi in either of the following ways:
+
+1. Local login
+
+ Connect the Raspberry Pi to the monitor (the Raspberry Pi video output interface is Micro HDMI), keyboard, and mouse, and start the Raspberry Pi. The Raspberry Pi startup log is displayed on the monitor. After Raspberry Pi is started, enter the user name **root** and password **openeuler** to log in.
+
+2. SSH remote login
+
+ By default, the Raspberry Pi uses the DHCP mode to automatically obtain the IP address. If the Raspberry Pi is connected to a known router, you can log in to the router to check the IP address. The new IP address is the Raspberry Pi IP address.
+
+ **Figure 1** Obtain the IP address
+ 
+
+ According to the preceding figure, the IP address of the Raspberry Pi is **192.168.31.109**. You can run the `ssh root@192.168.1.109` command and enter the password `openeuler` to remotely log in to the Raspberry Pi.
+
+## Configuring the System
+
+### Expanding the Root Directory Partition
+
+The space of the default root directory partition is small. Therefore, you need to expand the partition capacity before using it.
+
+To expand the root directory partition capacity, perform the following procedure:
+
+1. Run the `fdisk -l` command as the root user to check the drive partition information. The command output is as follows:
+
+ ```
+ # fdisk -l
+ Disk /dev/mmcblk0: 14.86 GiB, 15931539456 bytes, 31116288 sectors
+ Units: sectors of 1 * 512 = 512 bytes
+ Sector size (logical/physical): 512 bytes / 512 bytes
+ I/O size (minimum/optimal): 512 bytes / 512 bytes
+ Disklabel type: dos
+ Disk identifier: 0xf2dc3842
+
+ Device Boot Start End Sectors Size Id Type
+ /dev/mmcblk0p1 * 8192 593919 585728 286M c W95 FAT32 (LBA)
+ /dev/mmcblk0p2 593920 1593343 999424 488M 82 Linux swap / Solaris
+ /dev/mmcblk0p3 1593344 5044223 3450880 1.7G 83 Linux
+ ```
+
+ The drive letter of the SD card is **/dev/mmcblk0**, which contains three partitions:
+
+ - **/dev/mmcblk0p1**: boot partition
+ - **/dev/mmcblk0p2**: swap partition
+ - **/dev/mmcblk0p3**: root directory partition
+
+ Here, we need to expand the capacity of `/dev/mmcblk0p3`.
+
+2. Run the `fdisk /dev/mmcblk0` command as the root user and the interactive command line interface (CLI) is displayed. To expand the partition capacity, perform the following procedure as shown in [Figure 2](#zh-cn_topic_0151920806_f6ff7658b349942ea87f4521c0256c315).
+
+ 1. Enter `p` to check the partition information.
+
+ Record the start sector number of `/dev/mmcblk0p3`. That is, the value in the `Start` column of the `/dev/mmcblk0p3` information. In the example, the start sector number is `1593344`.
+
+ 2. Enter `d` to delete the partition.
+
+ 3. Enter `3` or press `Enter` to delete the partition whose number is `3`. That is, the `/dev/mmcblk0p3`.
+
+ 4. Enter `n` to create a partition.
+
+ 5. Enter `p` or press `Enter` to create a partition of the `Primary` type.
+
+ 6. Enter `3` or press `Enter` to create a partition whose number is `3`. That is, the `/dev/mmcblk0p3`.
+
+ 7. Enter the start sector number of the new partition. That is, the start sector number recorded in Step `1`. In the example, the start sector number is `1593344`.
+
+ >  **NOTE:**
+Do not press **Enter** or use the default parameters.
+
+ 8. Press `Enter` to use the last sector number by default as the end sector number of the new partition.
+
+ 9. Enter `N` without changing the sector ID.
+
+ 10. Enter `w` to save the partition settings and exit the interactive CLI.
+
+ **Figure 2** Expand the partition capacity
+
+
+3. Run the `fdisk -l` command as the root user to check the drive partition information and ensure that the drive partition is correct. The command output is as follows:
+
+ ```
+ # fdisk -l
+ Disk /dev/mmcblk0: 14.86 GiB, 15931539456 bytes, 31116288 sectors
+ Units: sectors of 1 * 512 = 512 bytes
+ Sector size (logical/physical): 512 bytes / 512 bytes
+ I/O size (minimum/optimal): 512 bytes / 512 bytes
+ Disklabel type: dos
+ Disk identifier: 0xf2dc3842
+
+ Device Boot Start End Sectors Size Id Type
+ /dev/mmcblk0p1 * 8192 593919 585728 286M c W95 FAT32 (LBA)
+ /dev/mmcblk0p2 593920 1593343 999424 488M 82 Linux swap / Solaris
+ /dev/mmcblk0p3 1593344 31116287 29522944 14.1G 83 Linux
+ ```
+
+4. Run the `resize2fs /dev/mmcblk0p3` command as the root user to increase the size of the unloaded file system.
+
+5. Run the `df -lh` command to check the drive space information and ensure that the root directory partition has been expanded.
+
+ >  **NOTE:**
+If the root directory partition is not expanded, run the `reboot` command to restart the Raspberry Pi and then run the `resize2fs /dev/mmcblk0p3` command as the root user.
+
+### Connecting to the Wi-Fi Network
+
+To connect to the Wi-Fi network, perform the following procedure:
+
+1. Check the IP address and network adapter information.
+
+ `ip a`
+
+ Obtain information about the wireless network adapter **wlan0**:
+
+ ```
+ 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
+ link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
+ inet 127.0.0.1/8 scope host lo
+ valid_lft forever preferred_lft forever
+ inet6 ::1/128 scope host
+ valid_lft forever preferred_lft forever
+ 2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000
+ link/ether dc:a6:32:50:de:57 brd ff:ff:ff:ff:ff:ff
+ inet 192.168.31.109/24 brd 192.168.31.255 scope global dynamic noprefixroute eth0
+ valid_lft 41570sec preferred_lft 41570sec
+ inet6 fe80::cd39:a969:e647:3043/64 scope link noprefixroute
+ valid_lft forever preferred_lft forever
+ 3: wlan0: mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
+ link/ether e2:e6:99:89:47:0c brd ff:ff:ff:ff:ff:ff
+ ```
+
+2. Scan information about available Wi-Fi networks.
+
+ `nmcli dev wifi`
+
+3. Connect to the Wi-Fi network.
+
+ Run the `nmcli dev wifi connect SSID password PWD` command as the root user to connect to the Wi-Fi network.
+
+ In the command, `SSID` indicates the SSID of the available Wi-Fi network scanned in the preceding step, and `PWD` indicates the password of the Wi-Fi network. For example, if the `SSID` is `openEuler-wifi`and the password is `12345678`, the command for connecting to the Wi-Fi network is `nmcli dev wifi connect openEuler-wifi password 12345678`. The connection is successful.
+
+ ```
+ Device 'wlan0' successfully activated with '26becaab-4adc-4c8e-9bf0-1d63cf5fa3f1'.
+ ```
+
+4. Check the IP address and wireless network adapter information.
+
+ `ip a`
+
+ ```
+ 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
+ link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
+ inet 127.0.0.1/8 scope host lo
+ valid_lft forever preferred_lft forever
+ inet6 ::1/128 scope host
+ valid_lft forever preferred_lft forever
+ 2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000
+ link/ether dc:a6:32:50:de:57 brd ff:ff:ff:ff:ff:ff
+ inet 192.168.31.109/24 brd 192.168.31.255 scope global dynamic noprefixroute eth0
+ valid_lft 41386sec preferred_lft 41386sec
+ inet6 fe80::cd39:a969:e647:3043/64 scope link noprefixroute
+ valid_lft forever preferred_lft forever
+ 3: wlan0: mtu 1500 qdisc fq_codel state UP group default qlen 1000
+ link/ether dc:a6:32:50:de:58 brd ff:ff:ff:ff:ff:ff
+ inet 192.168.31.110/24 brd 192.168.31.255 scope global dynamic noprefixroute wlan0
+ valid_lft 43094sec preferred_lft 43094sec
+ inet6 fe80::394:d086:27fa:deba/64 scope link noprefixroute
+ valid_lft forever preferred_lft forever
+ ```
\ No newline at end of file
diff --git a/docs/en/docs/Installation/Installation-Modes1.md b/docs/en/docs/Installation/Installation-Modes1.md
new file mode 100644
index 0000000000000000000000000000000000000000..c12c74e3ecc590d76630d326d5b9fb8ec195b816
--- /dev/null
+++ b/docs/en/docs/Installation/Installation-Modes1.md
@@ -0,0 +1,121 @@
+# Installation Modes
+
+>  **NOTE:**
+>
+> - The hardware supports only Raspberry Pi 3B/3B+/4B.
+> - The installation is performed by writing images to the SD card. This section describes how to write images using Windows, Linux, and Mac.
+> - The image used in this section is the Raspberry Pi image of openEuler. For details about how to obtain the image, see [Installation Preparations](./安装准备-1.html).
+
+
+
+- [Installation Modes](./Installation Modes)
+ - [Writing Images Using Windows](./Writing Images Using Windows)
+ - [Formatting the SD Card](./Formatting the SD Card)
+ - [Writing Images to the SD Card](./Writing Images to the SD Card)
+ - [Writing Images Using Linux](./Writing Images Using Linux)
+ - [Checking Drive Partition Information](./Checking Drive Partition Information)
+ - [Unmouting the SD Card](./Unmouting the SD Card)
+ - [Writing Images to the SD Card](./Writing Images to the SD Card)
+ - [Writing Images Using the Mac OS](./Writing Images Using the Mac OS)
+ - [Checking Drive Partition Information](./Checking Drive Partition Information)
+ - [Unmouting the SD Card](./Unmouting the SD Card)
+ - [Writing Images to the SD Card](./Writing Images to the SD Card)
+
+
+## Writing Images Using Windows
+
+This section uses Windows 10 as an example to describe how to write images to the SD card using Windows.
+
+### Formatting the SD Card
+
+To format the SD card, perform the following procedure:
+
+1. Download and install the tool for SD card formatting. The following operations use the SD Card Formatter as an example.
+
+2. Start the SD Card Formatter. In **Select card**, select the drive letter of the SD card to be formatted.
+
+ If no image has been installed in the SD card, only one drive letter exists. In **Select card**, select the drive letter of the SD card to be formatted.
+
+ If an image has been installed in the SD card, one or more drive letters exist. In **Select card**, select the drive letter E of the boot partition corresponding to the SD card to be formatted. The SD card corresponds to three drive letters: E, G, and H, as shown in the following figure:
+
+ Figure 1 Drive letter
+
+
+3. In **Formatting options**, select a formatting mode. The default mode is **Quick format**.
+
+4. Click **Format** to start formatting. A progress bar is displayed to show the formatting progress.
+
+5. After the formatting is completed, a dialog box is displayed, indicating that formatting is successfully completed. Click **OK**.
+
+### Writing Images to the SD Card
+
+>  **NOTE:**
+If the compressed image file **openEuler-20.09-raspi.aarch64.img.xz** is obtained, decompress the file to obtain the **openEuler-20.09-raspi.aarch64.img** image file.
+
+To write the **openEuler-20.09-raspi.aarch64.img** image file to the SD card, perform the following procedure:
+
+1. Download and install the tool for writing images. The following operations use the Win32 Disk Imager as an example.
+2. Start the Win32 Disk Imager and right-click **Run as administrator**.
+3. Select the path of the image file in IMG format from the **Image File** drop-down list box.
+4. In **Device**, select the drive letter of the SD card to which data is written.
+5. Click **Write**. A progress bar is displayed to show the progress of writing data to the SD card.
+6. After the write operation is completed, a dialog box is displayed, indicating that the write operation is successfully completed. Click **OK**.
+
+## Writing Images Using Linux
+
+This section describes how to write images to the SD card in the Linux environment.
+
+### Checking Drive Partition Information
+
+Run the `fdisk -l` command as the root user to obtain the information of the SD card and drive partitions. For example, the drive partition corresponding to the SD card can be /dev/sdb.
+
+### Unmouting the SD Card
+
+1. Run the `df -lh` command to check the mounted volumes.
+
+2. If the partitions corresponding to the SD card are not mounted, skip this step. If the partitions corresponding to the SD card are mounted, for example, /dev/sdb1 and /dev/sdb3, run the following commands as the root user to unmount the partitions:
+
+ `umount /dev/sdb1`
+
+ `umount /dev/sdb3`
+
+### Writing Images to the SD Card
+
+1. If the image obtained is compressed, run the `xz -d openEuler-20.09-raspi.aarch64.img.xz` command to decompress the compressed file to obtain the **openEuler-20.09-raspi.aarch64.img** image file. Otherwise, skip this step.
+
+2. Run the following command as the root user to write the `openEuler-20.09-raspi.aarch64.img` image to the SD card:
+
+ `dd bs=4M if=openEuler-20.09-raspi.aarch64.img of=/dev/sdb`
+
+ >  **NOTE:** Generally, the block size is set to 4 MB. If the write operation fails or the written image cannot be used, you can set the block size to 1 MB and try again. However, the write operation is time-consuming when the block size is set to 1 MB.
+
+## Writing Images Using the Mac OS
+
+This section describes how to flash images to the SD card in the Mac environment.
+
+### Checking Drive Partition Information
+
+Run the `diskutil list` command as user root to obtain the information of SD cards and drive partitions. For example, the drive partition corresponding to the SD card can be /dev/disk3.
+
+### Unmouting the SD Card
+
+1. Run the `df -lh` command to check the mounted volumes.
+
+2. If the partitions corresponding to the SD card are not mounted, skip this step. If the partitions corresponding to the SD card are mounted, for example, dev/disk3s1 and /dev/disk3s3, run the following commands as the root user to unmount the partitions:
+
+ `diskutil umount /dev/disk3s1`
+
+ `diskutil umount /dev/disk3s3`
+
+### Writing Images to the SD Card
+
+1. If the image obtained is compressed, run the `xz -d openEuler-20.09-raspi.aarch64.img.xz` command to decompress the compressed file to obtain the **openEuler-20.09-raspi.aarch64.img** image file. Otherwise, skip this step.
+
+2. Run the following command as the root user to write the image `openEuler-20.09-raspi.aarch64.img` to the SD card:
+
+ `dd bs=4m if=openEuler-20.09-raspi.aarch64.img of=/dev/sdb`
+
+ >  **NOTE:**
+ >
+ > Generally, the block size is set to 4 MB. If the write operation fails or the written image cannot be used, you can set the block size to 1 MB and try again. However, the write operation is time-consuming when the block size is set to 1 MB.
+
diff --git a/docs/en/docs/Installation/Installation-Preparations1.md b/docs/en/docs/Installation/Installation-Preparations1.md
new file mode 100644
index 0000000000000000000000000000000000000000..afb13d05b36c0d44979c5fb9f68e5d94c6c218ed
--- /dev/null
+++ b/docs/en/docs/Installation/Installation-Preparations1.md
@@ -0,0 +1,125 @@
+# Installation Preparations
+
+This section describes the compatibility of the hardware and software and the related configurations and preparations required for the installation.
+
+
+- [Installation Preparations](#安装准备)
+ - [Obtaining the Installation Source](#获取安装源)
+ - [Verifying the Image Integrity](#镜像完整性校验)
+ - [Overview](#简介)
+ - [Prerequisites](#前提条件)
+ - [Procedure](#操作指导)
+ - [Installation Requirements](#安装要求)
+ - [Hardware Compatibility](#硬件兼容支持)
+ - [Minimum Hardware Specifications](#最小硬件要求)
+
+
+## Obtaining the Installation Source
+
+Before installation, obtain the openEuler Raspberry Pi image and its verification file.
+
+1. Log in to the [openEuler Community](https://openeuler.org) website.
+
+2. Click **Download**.
+
+3. Click the **Link** provided after **Download ISO**. The download list is displayed.
+
+4. Click **openEuler-20.09**. The openEuler 20.09 version download list is displayed.
+
+5. Click **Raspberry Pi**. The Raspberry Pi image download list is displayed.
+
+ - **aarch64**: image of the AArch64 architecture
+
+6. Click **aarch64** to download the Raspberry Pi AArch64 image download list.
+
+7. Click **openEuler-20.09-raspi.aarch64.img.xz** to download the openEuler Raspberry Pi image to the local PC.
+
+8. Click **openEuler-20.09-raspi.aarch64.img.xz.sha256sum** to download the verification file of the openEuler Raspberry Pi image to the local PC.
+
+## Verifying the Image Integrity
+
+### Overview
+
+During package transmission, to prevent software packages from being incompletely downloaded due to network or storage device problems, you need to verify the integrity of the software packages after obtaining them. Only the software packages that pass the verification can be deployed.
+
+Compare the verification value recorded in the verification file with the verification value that is manually calculated to determine whether the software package is complete. If the two values are the same, the downloaded file is complete. Otherwise, the downloaded file is incomplete and you need to obtain the software package again.
+
+### Prerequisites
+
+Before verifying the integrity of the image file, ensure that the following files are available:
+
+Image file: **openEuler-20.09-raspi.aarch64.img.xz**
+
+Verification file: **openEuler-20.09-raspi.aarch64.img.xz.sha256sum**
+
+### Procedure
+
+To verify the file integrity, perform the following procedure:
+
+1. Obtain the verification value from the verification file. Run the following command:
+
+ ```
+ $ cat openEuler-20.09-raspi.aarch64.img.xz.sha256sum
+ ```
+
+2. Calculate the SHA256 verification value of the file. Run the following command:
+
+ ```
+ $ sha256sum openEuler-20.09-raspi.aarch64.img.xz
+ ```
+
+ After the command is executed, the verification value is displayed.
+
+3. Check whether the verification value calculated in step 1 is consistent with that calculated in step 2.
+
+ If the verification values are consistent, the downloaded file is not damaged. Otherwise, the downloaded file is incomplete and you need to obtain the file again.
+
+## Installation Requirements
+
+If the openEuler operating system is installed in the Raspberry Pi environment, the Raspberry Pi environment must meet the hardware compatibility and minimum hardware specifications as follows.
+
+### Hardware Compatibility
+
+Currently, the openEuler Raspberry Pi image supports the 3B, 3B+, and 4B versions.
+
+### Minimum Hardware Specifications
+
+[Table 1](#tff48b99c9bf24b84bb602c53229e2542) lists the minimum hardware specifications for the openEuler Raspberry Pi image.
+
+**Table 1** Minimum hardware specifications
+
+
+
+
Component Name
+
+
Minimum Hardware Specifications
+
+
Description
+
+
+
+
+
Raspberry Pi version
+
+
Raspberry Pi 3B
Raspberry Pi 3B+
Raspberry Pi 4B
+
+
-
+
+
+
Memory
+
+
≥ 2 GB (4 GB or higher recommended for better user experience)
+
+
-
+
+
+
Drive
+
+
8 GB or higher recommended for better user experience