!1 同步raspberrypi和rockchip仓库文档和脚本
From: @woqidaideshi Reviewed-by: @chainsx, @jianminw Signed-off-by: @jianminw
12
.gitignore
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
/scripts/firmware
|
||||
/scripts/firmware-nonfree
|
||||
/scripts/bluez-firmware
|
||||
/scripts/pi-bluetooth
|
||||
/scripts/raspberrypi-kernel
|
||||
/scripts/log
|
||||
/scripts/tmp
|
||||
/scripts/output*
|
||||
/scripts/root
|
||||
/scripts/boot
|
||||
/scripts/rootfs*
|
||||
/scripts/img
|
||||
127
LICENSE
Normal file
@ -0,0 +1,127 @@
|
||||
木兰宽松许可证, 第2版
|
||||
|
||||
木兰宽松许可证, 第2版
|
||||
2020年1月 http://license.coscl.org.cn/MulanPSL2
|
||||
|
||||
|
||||
您对“软件”的复制、使用、修改及分发受木兰宽松许可证,第2版(“本许可证”)的如下条款的约束:
|
||||
|
||||
0. 定义
|
||||
|
||||
“软件”是指由“贡献”构成的许可在“本许可证”下的程序和相关文档的集合。
|
||||
|
||||
“贡献”是指由任一“贡献者”许可在“本许可证”下的受版权法保护的作品。
|
||||
|
||||
“贡献者”是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。
|
||||
|
||||
“法人实体”是指提交贡献的机构及其“关联实体”。
|
||||
|
||||
“关联实体”是指,对“本许可证”下的行为方而言,控制、受控制或与其共同受控制的机构,此处的控制是指有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。
|
||||
|
||||
1. 授予版权许可
|
||||
|
||||
每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可以复制、使用、修改、分发其“贡献”,不论修改与否。
|
||||
|
||||
2. 授予专利许可
|
||||
|
||||
每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定撤销除外)专利许可,供您制造、委托制造、使用、许诺销售、销售、进口其“贡献”或以其他方式转移其“贡献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软件”结合而将必然会侵犯的专利权利要求,不包括对“贡献”的修改或包含“贡献”的其他结合。如果您或您的“关联实体”直接或间接地,就“软件”或其中的“贡献”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或其他专利维权行动,指控其侵犯专利权,则“本许可证”授予您对“软件”的专利许可自您提起诉讼或发起维权行动之日终止。
|
||||
|
||||
3. 无商标许可
|
||||
|
||||
“本许可证”不提供对“贡献者”的商品名称、商标、服务标志或产品名称的商标许可,但您为满足第4条规定的声明义务而必须使用除外。
|
||||
|
||||
4. 分发限制
|
||||
|
||||
您可以在任何媒介中将“软件”以源程序形式或可执行形式重新分发,不论修改与否,但您必须向接收者提供“本许可证”的副本,并保留“软件”中的版权、商标、专利及免责声明。
|
||||
|
||||
5. 免责声明与责任限制
|
||||
|
||||
“软件”及其中的“贡献”在提供时不带任何明示或默示的担保。在任何情况下,“贡献者”或版权所有者不对任何人因使用“软件”或其中的“贡献”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于何种法律理论,即使其曾被建议有此种损失的可能性。
|
||||
|
||||
6. 语言
|
||||
“本许可证”以中英文双语表述,中英文版本具有同等法律效力。如果中英文版本存在任何冲突不一致,以中文版为准。
|
||||
|
||||
条款结束
|
||||
|
||||
如何将木兰宽松许可证,第2版,应用到您的软件
|
||||
|
||||
如果您希望将木兰宽松许可证,第2版,应用到您的新软件,为了方便接收者查阅,建议您完成如下三步:
|
||||
|
||||
1, 请您补充如下声明中的空白,包括软件名、软件的首次发表年份以及您作为版权人的名字;
|
||||
|
||||
2, 请您在软件包的一级目录下创建以“LICENSE”为名的文件,将整个许可证文本放入该文件中;
|
||||
|
||||
3, 请将如下声明文本放入每个源文件的头部注释中。
|
||||
|
||||
Copyright (c) [Year] [name of copyright holder]
|
||||
[Software Name] is licensed under Mulan PSL v2.
|
||||
You can use this software according to the terms and conditions of the Mulan PSL v2.
|
||||
You may obtain a copy of Mulan PSL v2 at:
|
||||
http://license.coscl.org.cn/MulanPSL2
|
||||
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
See the Mulan PSL v2 for more details.
|
||||
|
||||
|
||||
Mulan Permissive Software License,Version 2
|
||||
|
||||
Mulan Permissive Software License,Version 2 (Mulan PSL v2)
|
||||
January 2020 http://license.coscl.org.cn/MulanPSL2
|
||||
|
||||
Your reproduction, use, modification and distribution of the Software shall be subject to Mulan PSL v2 (this License) with the following terms and conditions:
|
||||
|
||||
0. Definition
|
||||
|
||||
Software means the program and related documents which are licensed under this License and comprise all Contribution(s).
|
||||
|
||||
Contribution means the copyrightable work licensed by a particular Contributor under this License.
|
||||
|
||||
Contributor means the Individual or Legal Entity who licenses its copyrightable work under this License.
|
||||
|
||||
Legal Entity means the entity making a Contribution and all its Affiliates.
|
||||
|
||||
Affiliates means entities that control, are controlled by, or are under common control with the acting entity under this License, ‘control’ means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity.
|
||||
|
||||
1. Grant of Copyright License
|
||||
|
||||
Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to reproduce, use, modify, or distribute its Contribution, with modification or not.
|
||||
|
||||
2. Grant of Patent License
|
||||
|
||||
Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (except for revocation under this Section) patent license to make, have made, use, offer for sale, sell, import or otherwise transfer its Contribution, where such patent license is only limited to the patent claims owned or controlled by such Contributor now or in future which will be necessarily infringed by its Contribution alone, or by combination of the Contribution with the Software to which the Contribution was contributed. The patent license shall not apply to any modification of the Contribution, and any other combination which includes the Contribution. If you or your Affiliates directly or indirectly institute patent litigation (including a cross claim or counterclaim in a litigation) or other patent enforcement activities against any individual or entity by alleging that the Software or any Contribution in it infringes patents, then any patent license granted to you under this License for the Software shall terminate as of the date such litigation or activity is filed or taken.
|
||||
|
||||
3. No Trademark License
|
||||
|
||||
No trademark license is granted to use the trade names, trademarks, service marks, or product names of Contributor, except as required to fulfill notice requirements in Section 4.
|
||||
|
||||
4. Distribution Restriction
|
||||
|
||||
You may distribute the Software in any medium with or without modification, whether in source or executable forms, provided that you provide recipients with a copy of this License and retain copyright, patent, trademark and disclaimer statements in the Software.
|
||||
|
||||
5. Disclaimer of Warranty and Limitation of Liability
|
||||
|
||||
THE SOFTWARE AND CONTRIBUTION IN IT ARE PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR OR COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THE SOFTWARE OR THE CONTRIBUTION IN IT, NO MATTER HOW IT’S CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
6. Language
|
||||
|
||||
THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN THE CASE OF DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION SHALL PREVAIL.
|
||||
|
||||
END OF THE TERMS AND CONDITIONS
|
||||
|
||||
How to Apply the Mulan Permissive Software License,Version 2 (Mulan PSL v2) to Your Software
|
||||
|
||||
To apply the Mulan PSL v2 to your work, for easy identification by recipients, you are suggested to complete following three steps:
|
||||
|
||||
i Fill in the blanks in following statement, including insert your software name, the year of the first publication of your software, and your name identified as the copyright owner;
|
||||
|
||||
ii Create a file named “LICENSE” which contains the whole context of this License in the first directory of your software package;
|
||||
|
||||
iii Attach the statement to the appropriate annotated syntax at the beginning of each source file.
|
||||
|
||||
|
||||
Copyright (c) [Year] [name of copyright holder]
|
||||
[Software Name] is licensed under Mulan PSL v2.
|
||||
You can use this software according to the terms and conditions of the Mulan PSL v2.
|
||||
You may obtain a copy of Mulan PSL v2 at:
|
||||
http://license.coscl.org.cn/MulanPSL2
|
||||
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
See the Mulan PSL v2 for more details.
|
||||
9
OWNERS
Normal file
@ -0,0 +1,9 @@
|
||||
maintainers:
|
||||
- jianminw
|
||||
- woqidaideshi
|
||||
developers:
|
||||
- earlytobed
|
||||
- lukedyue
|
||||
- daniao520
|
||||
- wzqhwx
|
||||
- tianbao
|
||||
346
README.en.md
@ -1,36 +1,334 @@
|
||||
# SBC-sig
|
||||
|
||||
#### Description
|
||||
The openEuler support for single-board computers
|
||||
English | [简体中文](./README.md)
|
||||
|
||||
#### Software Architecture
|
||||
Software architecture description
|
||||
This repository is the main repository of the openEuler SBC (Single-Board Computer) SIG. It provides information related to SBC SIG, build scripts and documentation for openEuler images suitable for development boards such as [Raspberry Pi](https://gitee.com/openeuler/raspberrypi-kernel), [Rockchip](https://gitee.com/openeuler/rockchip-kernel) and [Allwinner](https://gitee.com/openeuler/allwinner-kernel).
|
||||
|
||||
#### Installation
|
||||
<!-- TOC -->
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
- [SBC-sig](#sbc-sig)
|
||||
- [To Do List](#to-do-list)
|
||||
- [How to collaborate](#how-to-collaborate)
|
||||
- [File description](#file-description)
|
||||
- [How to download latest image](#how-to-download-latest-image)
|
||||
- [Raspberry Pi](#raspberry-pi)
|
||||
- [Rockchip](#rockchip)
|
||||
|
||||
#### Instructions
|
||||
<!-- /TOC -->
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
## To Do List
|
||||
1. Raspberry Pi
|
||||
1. [Migrate openEuler to Raspberry Pi CM4](https://gitee.com/openeuler/raspberrypi/issues/I5CHSV)
|
||||
2. Rockchip
|
||||
1. [Migrate openEuler 22.09 to RK3399 SoCs](https://gitee.com/openeuler/rockchip/issues/I5CHNJ)
|
||||
2. [Migrate openEuler 22.03 LTS (Next) to Rockchip SoCs](https://gitee.com/openeuler/rockchip/issues/I5CHO9)
|
||||
3. [Migrate openEuler 22.03 LTS (Next) to ITX-3588J SoCs](https://gitee.com/openeuler/rockchip-kernel/issues/I5XTK1)
|
||||
3. Allwinner
|
||||
1. [Migrate openEuler 5.10 kernel to Allwinner SoCs](https://gitee.com/openeuler/allwinner-kernel/issues/I5CHOF)
|
||||
|
||||
#### Contribution
|
||||
## How to collaborate
|
||||
|
||||
1. Fork the repository
|
||||
2. Create Feat_xxx branch
|
||||
3. Commit your code
|
||||
4. Create Pull Request
|
||||
You can get introduction of openEuler SBC SIG from [sig-SBC](https://gitee.com/openeuler/community/tree/master/sig/sig-SBC).
|
||||
|
||||
- Issues: welcome to collaborate with us by creating new issues or reply opened issues. You can get repository list from [sig-SBC](https://gitee.com/openeuler/community/tree/master/sig/sig-SBC).
|
||||
- Join Slack workspace: [openeuler-sbc](https://openeuler-sbc.slack.com)
|
||||
- [Invite link](https://join.slack.com/t/openeuler-sbc/shared_invite/zt-uh95ug4n-yX7a~c7VrTEU64tZlX3Djw)
|
||||
- Weekly meeting schedule
|
||||
- Meeting Time: The 1st and 3rd Wednesday of each month, 17:00 - 17:30 UTC+8.
|
||||
- Meeting Link: There are two methods to get the meeting link which will be updated before each meeting.
|
||||
- Log in to the [openEuler Community](https://openeuler.org/) website, then view the booking information of `sig-SBC例会` in the meeting calendar.
|
||||
- Search `openEuler` in mini programs of WeChat, add `OpenAtom openEuler mini program`. Then click `会议` and view the booking information of `sig-SBC例会`.
|
||||
- [Meeting Agenda](https://etherpad.openeuler.org/p/sig-SBC-meetings)
|
||||
- [Meeting Minutes](https://gitee.com/openeuler/SBC-sig/issues/IB2WFJ)
|
||||
- Warmly welcome to submit Pull Requests.
|
||||
|
||||
#### Gitee Feature
|
||||
## File description
|
||||
|
||||
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
|
||||
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
|
||||
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
|
||||
4. The most valuable open source project [GVP](https://gitee.com/gvp)
|
||||
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
|
||||
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
||||
> **NOTE: **
|
||||
>- Recommendation: use the latest images provided in the chapter [How to download latest image](#how-to-download-latest-image) of this documentation.
|
||||
|
||||
- [documents](./documents/):
|
||||
- [Raspberry Pi](documents/树莓派.md)
|
||||
- [Getting started with Raspberry Pi](documents/树莓派.md)
|
||||
- [Install openEuler on an SD card](documents/raspberrypi/刷写镜像.md)
|
||||
- [How to use Raspberry Pi](documents/raspberrypi/树莓派使用.md)
|
||||
- [Building openEuler image for Raspberry Pi](documents/raspberrypi/openEuler镜像的构建.md)
|
||||
- [Cross-compile the kernel](documents/raspberrypi/交叉编译内核.md)
|
||||
- [Emulate Raspberry Pi with QEMU](documents/raspberrypi/QEMU启动树莓派.md)
|
||||
- [Rockchip and other SoCs](documents/瑞芯微等开发板.md)
|
||||
- [Getting started with Rockchip and other SoCs](documents/瑞芯微等开发板.md)
|
||||
- [Building openEuler image for Rockchip development boards](documents/rockchip/openEuler镜像的构建.md)
|
||||
- [Install an Image on an EMMC](documents/rockchip/刷写EMMC镜像.md)
|
||||
- [Build images sequentially](documents/rockchip/顺序构建.md)
|
||||
- [Compile the kernel of Firefly-RK3399 based on the Firefly SDK](documents/rockchip/基于Firefly-SDK编译Firefly-RK3399的内核镜像.md)
|
||||
- [Packaging ITX-RK3588J Integrated Burn Write Image](documents/rockchip/打包ITX-RK3588J一体化烧写镜像.md)
|
||||
- [Set up SELinux](documents/rockchip/设置SELinux.md)
|
||||
- [Build an image using Docker](documents/rockchip/使用Docker构建镜像.md)
|
||||
- [scripts](./scripts/):
|
||||
- [Raspberry Pi](./scripts/raspberrypi): Script for building openEuler image for Raspberry Pi
|
||||
- [Quickly Build (without kernel compilation)](scripts/raspberrypi/build-image.sh)
|
||||
- [Build on host (with kernel compilation)](scripts/raspberrypi/build-image-common.sh)
|
||||
- [Build in a Docker container (with kernel compilation)](scripts/raspberrypi/build-image-docker.sh)
|
||||
- [Rockchip and other SoCs](./scripts/rockchip): Used to build openEuler images for Rockchip and other SoCs
|
||||
- [One-time build images](scripts/rockchip/build.sh)
|
||||
- [Build a boot Image](scripts/rockchip/build_boot.sh)
|
||||
- [Build a rootfs Image](scripts/rockchip/build_rootfs.sh)
|
||||
- [Compile u-boot](scripts/rockchip/build_u-boot.sh)
|
||||
- [Generate a bootable image](scripts/rockchip/gen_image.sh)
|
||||
|
||||
## How to download latest image
|
||||
|
||||
### Raspberry Pi
|
||||
|
||||
Basic information of the images for Raspberry Pi is as follows. [more images](documents/images.en.md)
|
||||
|
||||
<table><thead align="left"><tr>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>Version</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>System user(password)</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>Release date</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>Size</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>Kernel version</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>Repository of rootfs</strong></p></th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.09-raspi-aarch64-alpha1.img.xz">openEuler 24.09 alpha1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/10/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>271 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-45.0.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.09-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 24.09 alpha1 (UKUI desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/10/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.6 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-45.0.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.09-DDE-raspi-aarch64-alpha1.img.xz">openEuler 24.09 alpha1 (DDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/10/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.7 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-45.0.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.09-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 24.09 alpha1 (Xfce desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/10/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2.2 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-45.0.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.09-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 24.09 alpha1 (EFI boot)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/10/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>298 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-46.0.0.10</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-24.09/raspi_img/openEuler-24.09-raspi-aarch64.img.xz">openEuler 24.09</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/09/29</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>268 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-45.0.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP4-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP4 alpha1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/07/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>235 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-209.0.0.21</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP4-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP4 alpha1 (UKUI desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/07/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.5 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-209.0.0.21</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP4-DDE-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP4 alpha1 (DDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/07/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.4 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-209.0.0.21</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP4-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP4 alpha1 (Xfce desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/07/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2.0 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-209.0.0.21</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP4-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP4 alpha1 (EFI boot)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/07/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>255 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-217.0.0.22</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-22.03-LTS-SP4/raspi_img/openEuler-22.03-LTS-SP4-raspi-aarch64.img.xz">openEuler 22.03 LTS SP4</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/29</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>229 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-209.0.0.21</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.03-LTS-raspi-aarch64-alpha1.img.xz">openEuler 24.03 LTS alpha1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>214 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-26.0.0.4</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.03-LTS-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 24.03 LTS alpha1 (UKUI desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.6 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-26.0.0.4</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.03-LTS-DDE-raspi-aarch64-alpha1.img.xz">openEuler 24.03 LTS alpha1 (DDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.7 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-26.0.0.4</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.03-LTS-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 24.03 LTS alpha1 (Xfce desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2.2 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-26.0.0.4</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.03-LTS-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 24.03 LTS alpha1 (EFI boot)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>330 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-30.0.0.6</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-24.03-LTS/raspi_img/openEuler-24.03-LTS-raspi-aarch64.img.xz">openEuler 24.03 LTS</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/04</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>244 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-26.0.0.4</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS repository</a></td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
### Rockchip
|
||||
|
||||
Basic information of the image is as follows:
|
||||
|
||||
<table><thead align="left"><tr>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>Version</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>System User (Password)</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>Release Date</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>Size</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>Kernel Version</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>Repository of rootfs</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>Image type</strong></p></th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://eulixos.com/repo/others/openeuler-rk3399/openEuler-20.03-LTS-rk3399-firefly-aarch64-alpha1.img.xz">openEuler 20.03 LTS Firefly-RK3399</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/12/20</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>288 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo">openEuler 20.03 LTS repository</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>A compressed RAW original image</p></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://eulixos.com/repo/others/openeuler-rk3399/openEuler-20.03-LTS-rk3399-firefly-aarch64-alpha1.tar.gz">openEuler 20.03 LTS Firefly-RK3399</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/12/20</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>493 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo">openEuler 20.03 LTS repository</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>A compressed image for the EMMC</p></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://eulixos.com/repo/others/openeuler-rk3399/openEuler-20.03-LTS-RockPi-4A-aarch64-alpha1.img.xz">openEuler 20.03 LTS RockPi-4A</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/12/20</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>295 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo">openEuler 20.03 LTS repository</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>A compressed RAW original image</p></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://eulixos.com/repo/others/openeuler-rk3399/openEuler-21.09-Firefly-RK3399-aarch64-alpha1.img.xz">openEuler 21.09 Firefly-RK3399</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/12/20</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>420 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo">openEuler 21.09 repository</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>A compressed RAW original image</p></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://eulixos.com/repo/others/openeuler-rk3399/openEuler-21.09-Firefly-RK3399-aarch64-alpha1.tar.gz">openEuler 21.09 Firefly-RK3399</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/12/20</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>717 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo">openEuler 21.09 repository</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>A compressed image for the EMMC</p></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://eulixos.com/repo/others/openeuler-rk3399/openEuler-21.09-RockPi-4A-aarch64-alpha1.img.xz">openEuler 21.09 RockPi-4A</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/12/20</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>717 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo">openEuler 21.09 repository</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>A compressed RAW original image</p></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://eulixos.com/repo/others/openeuler-rk3588/openEuler-22.03-LTS-ITX-3588J-aarch64-alpha1.img.xz">openEuler 22.03 Firefly ITX-3588J</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/7/11</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>494 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-22.03-LTS/generic.repo">openEuler 22.03 repository</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>A compressed RAW original image</p></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://eulixos.com/repo/others/openeuler-rk3588/openEuler-22.03-LTS-rk3588-xfce.img.xz">openEuler 22.03 Firefly ITX-3588J + XFCE</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/7/11</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.9 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-22.03-LTS/generic.repo">openEuler 22.03 repository</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>A compressed RAW original image</p></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://eulixos.com/repo/others/openeuler-rk3399/openEuler-22.03-LTS-SP3-Firefly-RK3399-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP3 Firefly-RK3399</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/1/23</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>450 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP3/generic.repo">openEuler 22.03 LTS SP3 repository</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>A compressed RAW original image</p></td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
344
README.md
@ -1,37 +1,333 @@
|
||||
# SBC-sig
|
||||
|
||||
#### 介绍
|
||||
The openEuler support for single-board computers
|
||||
[English](./README.en.md) | 简体中文
|
||||
|
||||
#### 软件架构
|
||||
软件架构说明
|
||||
本仓库是 openEuler 社区 SBC (Single-Board Computer) SIG 组的主仓库,提供 SIG 组相关信息以及适用于[树莓派](https://gitee.com/openeuler/raspberrypi-kernel)、[Rockchip](https://gitee.com/openeuler/rockchip-kernel)、[全志](https://gitee.com/openeuler/allwinner-kernel)等开发板的 openEuler 镜像的构建脚本和相关文档。
|
||||
|
||||
<!-- TOC -->
|
||||
|
||||
#### 安装教程
|
||||
- [SBC-sig](#sbc-sig)
|
||||
- [To Do List](#to-do-list)
|
||||
- [如何参与 SIG 组](#如何参与-sig-组)
|
||||
- [文件说明](#文件说明)
|
||||
- [最新镜像](#最新镜像)
|
||||
- [树莓派](#树莓派)
|
||||
- [瑞芯微等其他开发板](#瑞芯微等其他开发板)
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
<!-- /TOC -->
|
||||
## To Do List
|
||||
|
||||
#### 使用说明
|
||||
1. 树莓派
|
||||
1. [树莓派 CM4 核心板适配、测试](https://gitee.com/openeuler/raspberrypi/issues/I5CHSV)
|
||||
2. Rockchip
|
||||
1. [openEuler 22.09 适配到 RK3399](https://gitee.com/openeuler/rockchip/issues/I5CHNJ)
|
||||
2. [openEuler 22.03 LTS (Next) 适配到 Rockchip 开发板](https://gitee.com/openeuler/rockchip/issues/I5CHO9)
|
||||
3. [openEuler 22.03 LTS (Next) 适配到 ITX-3588J 开发板](https://gitee.com/openeuler/rockchip-kernel/issues/I5XTK1)
|
||||
3. 全志
|
||||
1. [openEuler 5.10 内核适配到全志开发板](https://gitee.com/openeuler/allwinner-kernel/issues/I5CHOF)
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
## 如何参与 SIG 组
|
||||
|
||||
#### 参与贡献
|
||||
SIG 组基本信息位于 [sig-SBC](https://gitee.com/openeuler/community/tree/master/sig/sig-SBC)。
|
||||
|
||||
1. Fork 本仓库
|
||||
2. 新建 Feat_xxx 分支
|
||||
3. 提交代码
|
||||
4. 新建 Pull Request
|
||||
- 建立或回复 issue:欢迎通过建立或回复 issue 来讨论,此 SIG 组维护的仓库列表可在 [sig-SBC](https://gitee.com/openeuler/community/tree/master/sig/sig-SBC) 中查看。
|
||||
- 加入 Slack 群组:[openeuler-sbc](https://openeuler-sbc.slack.com)
|
||||
- [加入群组链接](https://join.slack.com/t/openeuler-sbc/shared_invite/zt-uh95ug4n-yX7a~c7VrTEU64tZlX3Djw)
|
||||
- SIG 组会议:每个月的第一个和第三个周三下午 17:00 - 17:30 会进行一次讨论会议
|
||||
- 会议链接:有以下两种获取方式
|
||||
- [openEuler 社区网站](https://openeuler.org/)下的会议日历中查看 `sig-SBC例会` 预定信息。
|
||||
- 微信小程序搜索 `openEuler`,添加 `OpenAtom openEuler` 小程序,可在其`会议`栏目查看 `sig-SBC例会` 预定信息。
|
||||
- [会议议题](https://etherpad.openeuler.org/p/sig-SBC-meetings):每次会议前填写要讨论的议题,我们也会从 issue 列表中提取本周讨论的内容。
|
||||
- [会议记录](https://gitee.com/openeuler/SBC-sig/issues/IB2WFJ):每次会议结束后会议结论会更新在此 issue 中。
|
||||
- 重要的事说三遍:**欢迎提交 PR!欢迎提交 PR!欢迎提交 PR!**
|
||||
|
||||
## 文件说明
|
||||
|
||||
#### 特技
|
||||
> **说明:**
|
||||
>- 建议直接使用本文档 [最新镜像](#最新镜像) 章节中给出的 openEuler 的树莓派/RK3399等镜像。
|
||||
|
||||
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
|
||||
2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
|
||||
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
|
||||
4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
|
||||
5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
|
||||
6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
||||
- [documents](./documents/): 使用文档
|
||||
- [树莓派](documents/树莓派.md)
|
||||
- [树莓派快速入门](documents/树莓派.md)
|
||||
- [刷写镜像](documents/raspberrypi/刷写镜像.md)
|
||||
- [树莓派使用](documents/raspberrypi/树莓派使用.md)
|
||||
- [openEuler 镜像的构建](documents/raspberrypi/openEuler镜像的构建.md)
|
||||
- [交叉编译内核](documents/raspberrypi/交叉编译内核.md)
|
||||
- [QEMU 启动树莓派](documents/raspberrypi/QEMU启动树莓派.md)
|
||||
- [瑞芯微等其他开发板](documents/瑞芯微等开发板.md)
|
||||
- [瑞芯微等快速入门](documents/瑞芯微等开发板.md)
|
||||
- [openEuler镜像的构建](documents/rockchip/openEuler镜像的构建.md)
|
||||
- [刷写EMMC镜像](documents/rockchip/刷写EMMC镜像.md)
|
||||
- [顺序构建](documents/rockchip/顺序构建.md)
|
||||
- [基于Firefly-SDK编译Firefly-RK3399的内核镜像](documents/rockchip/基于Firefly-SDK编译Firefly-RK3399的内核镜像.md)
|
||||
- [打包 ITX-RK3588J 一体化烧写镜像](documents/rockchip/打包ITX-RK3588J一体化烧写镜像.md)
|
||||
- [设置 SELinux](documents/rockchip/设置SELinux.md)
|
||||
- [使用 Docker 构建镜像](documents/rockchip/使用Docker构建镜像.md)
|
||||
- [scripts](./scripts/): 镜像构建脚本
|
||||
- [树莓派](./scripts/raspberrypi): 构建 openEuler 树莓派镜像的脚本
|
||||
- [快速构建(不编译内核)](scripts/raspberrypi/build-image.sh)
|
||||
- [主机上构建(编译内核)](scripts/raspberrypi/build-image-common.sh)
|
||||
- [Docker 容器中构建(编译内核)](scripts/raspberrypi/build-image-docker.sh)
|
||||
- [瑞芯微等开发板](./scripts/rockchip): 构建 openEuler RK3399 等开发板镜像的脚本
|
||||
- [一次构建脚本](scripts/rockchip/build.sh)
|
||||
- [boot 镜像构建脚本](scripts/build_boot.sh)
|
||||
- [rootfs 镜像构建脚本](scripts/build_rootfs.sh)
|
||||
- [u-boot 编译脚本](scripts/rockchip/build_u-boot.sh)
|
||||
- [可启动镜像生成脚本](scripts/rockchip/gen_image.sh)
|
||||
|
||||
## 最新镜像
|
||||
|
||||
### 树莓派
|
||||
|
||||
树莓派镜像的基本信息如下所示。[更多树莓派镜像](documents/raspberrypi/images.md)
|
||||
|
||||
<table><thead align="left"><tr>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>镜像版本</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>系统用户(密码)</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>发布时间</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>大小</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>内核版本</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>构建文件系统的源仓库</strong></p></th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.09-raspi-aarch64-alpha1.img.xz">openEuler 24.09 内测版</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/10/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>271 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-45.0.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.09-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 24.09 内测版(UKUI 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/10/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.6 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-45.0.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.09-DDE-raspi-aarch64-alpha1.img.xz">openEuler 24.09 内测版(DDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/10/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.7 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-45.0.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.09-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 24.09 内测版(Xfce 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/10/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2.2 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-45.0.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.09-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 24.09 内测版(EFI 引导启动)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/10/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>298 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-46.0.0.10</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-24.09/raspi_img/openEuler-24.09-raspi-aarch64.img.xz">openEuler 24.09</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/09/29</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>268 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-45.0.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP4-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP4 内测版</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/07/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>235 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-209.0.0.21</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP4-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP4 内测版(UKUI 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/07/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.5 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-209.0.0.21</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP4-DDE-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP4 内测版(DDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/07/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.4 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-209.0.0.21</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP4-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP4 内测版(Xfce 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/07/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2.0 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-209.0.0.21</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP4-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP4 内测版(EFI 引导启动)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/07/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>255 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-217.0.0.22</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-22.03-LTS-SP4/raspi_img/openEuler-22.03-LTS-SP4-raspi-aarch64.img.xz">openEuler 22.03 LTS SP4</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/29</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>229 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-209.0.0.21</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.03-LTS-raspi-aarch64-alpha1.img.xz">openEuler 24.03 LTS 内测版</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>214 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-26.0.0.4</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.03-LTS-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 24.03 LTS 内测版(UKUI 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.6 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-26.0.0.4</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.03-LTS-DDE-raspi-aarch64-alpha1.img.xz">openEuler 24.03 LTS 内测版(DDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.7 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-26.0.0.4</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.03-LTS-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 24.03 LTS 内测版(Xfce 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2.2 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-26.0.0.4</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.03-LTS-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 24.03 LTS 内测版(EFI 引导启动)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>330 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-30.0.0.6</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-24.03-LTS/raspi_img/openEuler-24.03-LTS-raspi-aarch64.img.xz">openEuler 24.03 LTS</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/04</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>244 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-26.0.0.4</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS 源仓库</a></td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
### 瑞芯微等其他开发板
|
||||
|
||||
镜像的基本信息如下所示:
|
||||
|
||||
<table><thead align="left"><tr>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>镜像版本</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>系统用户(密码)</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>发布时间</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>大小</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>内核版本</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>构建文件系统的源仓库</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>镜像类型</strong></p></th>
|
||||
</tr></thead>
|
||||
<tbody><tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://eulixos.com/repo/others/openeuler-rk3399/openEuler-20.03-LTS-rk3399-firefly-aarch64-alpha1.img.xz">openEuler 20.03 LTS Firefly-RK3399</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/12/20</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>288 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo">openEuler 20.03 LTS 源仓库</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>压缩后的 RAW 原始镜像</p></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://eulixos.com/repo/others/openeuler-rk3399/openEuler-20.03-LTS-rk3399-firefly-aarch64-alpha1.tar.gz">openEuler 20.03 LTS Firefly-RK3399</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/12/20</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>493 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo">openEuler 20.03 LTS 源仓库</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>打包后的 EMMC 刷写文件</p></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://eulixos.com/repo/others/openeuler-rk3399/openEuler-20.03-LTS-RockPi-4A-aarch64-alpha1.img.xz">openEuler 20.03 LTS RockPi-4A</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/12/20</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>295 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo">openEuler 20.03 LTS repository</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>压缩后的 RAW 原始镜像</p></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://eulixos.com/repo/others/openeuler-rk3399/openEuler-21.09-Firefly-RK3399-aarch64-alpha1.img.xz">openEuler 21.09 Firefly-RK3399</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/12/20</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>420 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo">openEuler 21.09 源仓库</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>压缩后的 RAW 原始镜像</p></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://eulixos.com/repo/others/openeuler-rk3399/openEuler-21.09-Firefly-RK3399-aarch64-alpha1.tar.gz">openEuler 21.09 Firefly-RK3399</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/12/20</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>717 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo">openEuler 21.09 源仓库</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>打包后的 EMMC 刷写文件</p></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://eulixos.com/repo/others/openeuler-rk3399/openEuler-21.09-RockPi-4A-aarch64-alpha1.img.xz">openEuler 21.09 RockPi-4A</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/12/20</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>717 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo">openEuler 21.09 源仓库</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>压缩后的 RAW 原始镜像</p></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://eulixos.com/repo/others/openeuler-rk3588/openEuler-22.03-LTS-ITX-3588J-aarch64-alpha1.img.xz">openEuler 22.03 Firefly ITX-3588J</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/7/11</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>494 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-22.03-LTS/generic.repo">openEuler 22.03 源仓库</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>压缩后的 RAW 原始镜像</p></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://eulixos.com/repo/others/openeuler-rk3588/openEuler-22.03-LTS-rk3588-xfce.img.xz">openEuler 22.03 Firefly ITX-3588J + XFCE 桌面</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/7/11</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.9 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-22.03-LTS/generic.repo">openEuler 22.03 源仓库</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>压缩后的 RAW 原始镜像</p></td>
|
||||
</tr>
|
||||
<tbody><tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://eulixos.com/repo/others/openeuler-rk3399/openEuler-22.03-LTS-SP3-Firefly-RK3399-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP3 Firefly-RK3399</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/1/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>450 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP3/generic.repo">openEuler 22.03 LTS SP3 源仓库</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>压缩后的 RAW 原始镜像</p></td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
BIN
documents/public_sys-resources/icon-note.gif
Normal file
|
After Width: | Height: | Size: 394 B |
BIN
documents/public_sys-resources/icon-notice.gif
Normal file
|
After Width: | Height: | Size: 406 B |
121
documents/raspberrypi/QEMU启动树莓派.md
Normal file
@ -0,0 +1,121 @@
|
||||
# 介绍
|
||||
|
||||
本文档主要介绍如何使用 [QEMU](https://www.qemu.org/) 模拟启动 openEuler 的树莓派镜像。
|
||||
|
||||
# 实验环境
|
||||
|
||||
- 操作系统:EulixOS
|
||||
- 架构:x86_64
|
||||
|
||||
实验环境相关信息见下图:
|
||||
|
||||

|
||||
|
||||
|
||||
# 安装 QEMU
|
||||
|
||||
1. 下载 QEMU
|
||||
|
||||
从 [QEMU](https://download.qemu.org/) 下载源码。我们这里下载当前最新版本 [QEMU 6.0.0](https://download.qemu.org/qemu-6.0.0.tar.xz)。执行命令:
|
||||
|
||||
`wget https://download.qemu.org/qemu-6.0.0.tar.xz`
|
||||
|
||||
2. 解压缩源码
|
||||
|
||||
`tar xvJf qemu-6.0.0.tar.xz`
|
||||
|
||||
3. 配置 QEMU
|
||||
|
||||
`./configure --target-list=arm-softmmu,aarch64-softmmu --enable-debug --enable-sdl`
|
||||
|
||||
可以通过命令 `./configure --help` 查看配置相关选项和帮助信息。
|
||||
|
||||
如配置失败,需根据提示解决问题。例如,可能需要安装依赖包 `SDL2-devel` 和 `meson`:`dnf -y install SDL2-devel meson`。
|
||||
|
||||
4. 编译 QEMU
|
||||
|
||||
`make`
|
||||
|
||||
5. 安装 QEMU
|
||||
|
||||
`make install`
|
||||
|
||||
6. 查看 QEMU 版本
|
||||
|
||||
例如,通过命令 `qemu-system-aarch64 --version` 查看 qemu-system-aarch64 工具的版本。
|
||||
|
||||
# 准备 openEuler 镜像等文件
|
||||
|
||||
1. 下载 openEuler 的树莓派镜像
|
||||
|
||||
openEuler 的树莓派镜像下载链接详见 [SBC SIG 主仓库](https://gitee.com/openeuler/SBC-sig)。这里我们以 openEuler 社区发布的 openEuler 20.03 LTS SP1 版本的树莓派镜像为例,执行命令:
|
||||
|
||||
`wget https://repo.openeuler.org/openEuler-20.03-LTS-SP1/raspi_img/aarch64/openEuler-20.03-LTS-SP1-raspi-aarch64.img.xz`
|
||||
|
||||
镜像所在路径记为 IMG_DIR。
|
||||
|
||||
2. 解压缩镜像
|
||||
|
||||
`xz -d openEuler-20.03-LTS-SP1-raspi-aarch64.img.xz`
|
||||
|
||||
得到镜像文件 `openEuler-20.03-LTS-SP1-raspi-aarch64.img`。
|
||||
|
||||
3. 提取 dtb 和 kernel8.img
|
||||
|
||||
1. 使用 losetup 将镜像文件虚拟成块设备
|
||||
|
||||
`losetup -f --show openEuler-20.03-LTS-SP1-raspi-aarch64.img`
|
||||
|
||||
例如,显示结果为 /dev/loop0。
|
||||
|
||||
2. 使用 kpartx 创建分区表 /dev/loop0 的设备映射
|
||||
|
||||
`kpartx -va /dev/loop0`
|
||||
|
||||
得到结果将 /dev/loop0 三个分区挂载了:
|
||||
```
|
||||
add map loop0p1 ...
|
||||
add map loop0p2 ...
|
||||
add map loop0p3 ...
|
||||
```
|
||||
|
||||
执行 `ls /dev/mapper/loop0p*` 可以看到 openEuler-20.03-LTS-SP1-raspi-aarch64.img 的三个分区:
|
||||
|
||||
```
|
||||
/dev/mapper/loop0p1 /dev/mapper/loop0p2 /dev/mapper/loop0p3
|
||||
```
|
||||
|
||||
3. 挂载镜像的 boot 分区
|
||||
|
||||
创建挂载路径,如 /home/xxx/boot,则需要执行命令 `mkdir /home/xxx/boot`。下面将该挂载路径记为 `BOOT_DIR`。
|
||||
|
||||
挂载镜像的 boot 分区到 BOOT_DIR:`mount /dev/mapper/loop0p1 BOOT_DIR`。
|
||||
|
||||
4. 提取 dtb 和 kernel8.img 到 IMG_DIR
|
||||
|
||||
```
|
||||
cd IMG_DIR
|
||||
cp BOOT_DIR/kernel8.img ./
|
||||
cp BOOT_DIR/*.dtb ./
|
||||
```
|
||||
|
||||
# QEMU 模拟启动树莓派
|
||||
|
||||
1. 查看可供选择模拟的机器
|
||||
|
||||
`qemu-system-aarch64 -M help`
|
||||
|
||||
我们这里选择 `raspi3`。
|
||||
|
||||
2. 模拟启动树莓派
|
||||
|
||||
```
|
||||
cd IMG_DIR
|
||||
qemu-system-aarch64 -M raspi3 -cpu cortex-a53 -m 1024 -kernel kernel8.img -dtb bcm2710-rpi-3-b.dtb -sd openEuler-20.03-LTS-SP1-raspi-aarch64.img -net user,hostfwd=tcp::6022-:22 -append "rw earlyprintk loglevel=8 console=ttyAMA0,115200 dwc_otg.lpm_enable=0 root=/dev/mmcblk0p3 rootwait panic=1" -no-reboot -nographic
|
||||
```
|
||||
|
||||
QEMU 相关命令及其参数可参考 [QEMU Quick Start](https://qemu-project.gitlab.io/qemu/system/quickstart.html)。
|
||||
|
||||
启动后根据提示输入用户名密码即可登录。如下图,登录成功后,输出显示当前系统相关信息。`ctl + a` 抬起后再输入 `x`,即可退出 QEMU 模拟器环境。
|
||||
|
||||

|
||||
@ -0,0 +1,79 @@
|
||||
## Feature Release Log of openEuler 20.03 LTS SP1 Alpha Version (with DDE desktop environment and Chinese input method)
|
||||
|
||||
English | [简体中文](./changelog-20.03-LTS-SP1-DDE.md)
|
||||
|
||||
### 2021-04-12
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/04/12
|
||||
- Size: 1.1 GiB
|
||||
- OS version: openEuler 20.03 LTS SP1
|
||||
- Kernel version: 4.19.90-2104.1.0.0017
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS SP1 repository built daily](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS SP1 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Kernel
|
||||
|
||||
Update to the latest stable version of openEuler: 4.19.90-2104.1.0.
|
||||
|
||||
##### Feature update
|
||||
|
||||
- Add Chinese input method.
|
||||
- Fixed: can not find wireless device in RPi 400.
|
||||
|
||||
### 2021-01-19
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/01/19
|
||||
- Size: 1.0 GiB
|
||||
- OS version: openEuler 20.03 LTS SP1
|
||||
- Kernel version: 4.19.90-2012.5.0.0013
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS SP1 repository built daily](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS SP1 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Feature update
|
||||
|
||||
- Install openssh-clients.
|
||||
- Fixed: missing files' extended attributes.
|
||||
|
||||
### 2021-01-06
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/01/06
|
||||
- Size: 1.0 GiB
|
||||
- OS version: openEuler 20.03 LTS SP1
|
||||
- Kernel version: 4.19.90-2012.5.0.0013
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS SP1 repository built daily](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS SP1 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Kernel
|
||||
|
||||
Update to the latest stable version of openEuler: 4.19.90-2012.5.0.
|
||||
|
||||
##### Feature update
|
||||
|
||||
Extend the root partition automatically on boot.
|
||||
|
||||
### 2020-12-29
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2020/12/29
|
||||
- Size: 1.0 GiB
|
||||
- OS version: openEuler 20.03 LTS SP1
|
||||
- Kernel version: 4.19.90-2012.3.0.0011
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS SP1 repository built daily](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS SP1 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
@ -0,0 +1,79 @@
|
||||
## Feature Release Log of openEuler 20.03 LTS SP1 Alpha Version (with DDE desktop environment and Chinese input method)
|
||||
|
||||
[English](./changelog-20.03-LTS-SP1-DDE.en.md) | 简体中文
|
||||
|
||||
### 2021-04-12
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/04/12
|
||||
- 大小:1.1 GiB
|
||||
- 操作系统版本:openEuler 20.03 LTS SP1
|
||||
- 内核版本:4.19.90-2104.1.0.0017
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS SP1 每日构建的源仓库](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS SP1 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 内核
|
||||
|
||||
更新到 openEuler 最新稳定版本 4.19.90-2104.1.0。
|
||||
|
||||
##### 功能改动
|
||||
|
||||
- 添加中文输入法。
|
||||
- 修复:在树莓派 400 中无法找到无线设备。
|
||||
|
||||
### 2021-01-19
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/01/19
|
||||
- 大小:1.0 GiB
|
||||
- 操作系统版本:openEuler 20.03 LTS SP1
|
||||
- 内核版本:4.19.90-2012.5.0.0013
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS SP1 每日构建的源仓库](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS SP1 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 功能改动
|
||||
|
||||
- 安装 openssh-clients。
|
||||
- 修复:缺失文件扩展属性。
|
||||
|
||||
### 2021-01-06
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/01/06
|
||||
- 大小:1.0 GiB
|
||||
- 操作系统版本:openEuler 20.03 LTS SP1
|
||||
- 内核版本:4.19.90-2012.5.0.0013
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS SP1 每日构建的源仓库](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS SP1 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 内核
|
||||
|
||||
更新到 openEuler 最新稳定版本 4.19.90-2012.5.0。
|
||||
|
||||
##### 功能改动
|
||||
|
||||
开机自动扩展根分区。
|
||||
|
||||
### 2020-12-29
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2020/12/29
|
||||
- 大小:1.0 GiB
|
||||
- 操作系统版本:openEuler 20.03 LTS SP1
|
||||
- 内核版本:4.19.90-2012.3.0.0011
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS SP1 每日构建的源仓库](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS SP1 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
@ -0,0 +1,79 @@
|
||||
## Feature Release Log of openEuler 20.03 LTS SP1 Alpha Version (with UKUI desktop environment and Chinese input method)
|
||||
|
||||
English | [简体中文](./changelog-20.03-LTS-SP1-UKUI.md)
|
||||
|
||||
### 2021-04-12
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/04/12
|
||||
- Size: 1.1 GiB
|
||||
- OS version: openEuler 20.03 LTS SP1
|
||||
- Kernel version: 4.19.90-2104.1.0.0017
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS SP1 repository built daily](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS SP1 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Kernel
|
||||
|
||||
Update to the latest stable version of openEuler: 4.19.90-2104.1.0.
|
||||
|
||||
##### Feature update
|
||||
|
||||
- Add Chinese input method.
|
||||
- Fixed: can not find wireless device in RPi 400.
|
||||
|
||||
### 2021-01-19
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/01/19
|
||||
- Size: 1.0 GiB
|
||||
- OS version: openEuler 20.03 LTS SP1
|
||||
- Kernel version: 4.19.90-2012.5.0.0013
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS SP1 repository built daily](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS SP1 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Feature update
|
||||
|
||||
- Install openssh-clients.
|
||||
- Fixed: missing files' extended attributes.
|
||||
|
||||
### 2021-01-06
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/01/06
|
||||
- Size: 1.0 GiB
|
||||
- OS version: openEuler 20.03 LTS SP1
|
||||
- Kernel version: 4.19.90-2012.5.0.0013
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS SP1 repository built daily](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS SP1 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Kernel
|
||||
|
||||
Update to the latest stable version of openEuler: 4.19.90-2012.5.0.
|
||||
|
||||
##### Feature update
|
||||
|
||||
Extend the root partition automatically on boot.
|
||||
|
||||
### 2020-12-29
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2020/12/29
|
||||
- Size: 1.0 GiB
|
||||
- OS version: openEuler 20.03 LTS SP1
|
||||
- Kernel version: 4.19.90-2012.3.0.0011
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS SP1 repository built daily](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS SP1 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
@ -0,0 +1,79 @@
|
||||
## Feature Release Log of openEuler 20.03 LTS SP1 Alpha Version (with UKUI desktop environment and Chinese input method)
|
||||
|
||||
[English](./changelog-20.03-LTS-SP1-UKUI.en.md) | 简体中文
|
||||
|
||||
### 2021-04-12
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/04/12
|
||||
- 大小:1.1 GiB
|
||||
- 操作系统版本:openEuler 20.03 LTS SP1
|
||||
- 内核版本:4.19.90-2104.1.0.0017
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS SP1 每日构建的源仓库](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS SP1 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 内核
|
||||
|
||||
更新到 openEuler 最新稳定版本 4.19.90-2104.1.0。
|
||||
|
||||
##### 功能改动
|
||||
|
||||
- 添加中文输入法。
|
||||
- 修复:在树莓派 400 中无法找到无线设备。
|
||||
|
||||
### 2021-01-19
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/01/19
|
||||
- 大小:1.0 GiB
|
||||
- 操作系统版本:openEuler 20.03 LTS SP1
|
||||
- 内核版本:4.19.90-2012.5.0.0013
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS SP1 每日构建的源仓库](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS SP1 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 功能改动
|
||||
|
||||
- 安装 openssh-clients。
|
||||
- 修复:缺失文件扩展属性。
|
||||
|
||||
### 2021-01-06
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/01/06
|
||||
- 大小:1.0 GiB
|
||||
- 操作系统版本:openEuler 20.03 LTS SP1
|
||||
- 内核版本:4.19.90-2012.5.0.0013
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS SP1 每日构建的源仓库](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS SP1 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 内核
|
||||
|
||||
更新到 openEuler 最新稳定版本 4.19.90-2012.5.0。
|
||||
|
||||
##### 功能改动
|
||||
|
||||
开机自动扩展根分区。
|
||||
|
||||
### 2020-12-29
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2020/12/29
|
||||
- 大小:1.0 GiB
|
||||
- 操作系统版本:openEuler 20.03 LTS SP1
|
||||
- 内核版本:4.19.90-2012.3.0.0011
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS SP1 每日构建的源仓库](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS SP1 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
@ -0,0 +1,78 @@
|
||||
## Feature Release Log of openEuler 20.03 LTS SP1 Alpha Version
|
||||
|
||||
English | [简体中文](./changelog-20.03-LTS-SP1.md)
|
||||
|
||||
### 2021-04-12
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/04/12
|
||||
- Size: 236 MiB
|
||||
- OS version: openEuler 20.03 LTS SP1
|
||||
- Kernel version: 4.19.90-2104.1.0.0017
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS SP1 repository built daily](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS SP1 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Kernel
|
||||
|
||||
Update to the latest stable version of openEuler: 4.19.90-2104.1.0.
|
||||
|
||||
##### Feature update
|
||||
|
||||
Fixed: can not find wireless device in RPi 400.
|
||||
|
||||
### 2021-01-19
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/01/19
|
||||
- Size: 234 MiB
|
||||
- OS version: openEuler 20.03 LTS SP1
|
||||
- Kernel version: 4.19.90-2012.5.0.0013
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS SP1 repository built daily](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS SP1 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Feature update
|
||||
|
||||
- Install openssh-clients.
|
||||
- Fixed: missing files' extended attributes.
|
||||
|
||||
### 2021-01-06
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/01/06
|
||||
- Size: 239 MiB
|
||||
- OS version: openEuler 20.03 LTS SP1
|
||||
- Kernel version: 4.19.90-2012.5.0.0013
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS SP1 repository built daily](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS SP1 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Kernel
|
||||
|
||||
Update to the latest stable version of openEuler: 4.19.90-2012.5.0.
|
||||
|
||||
##### Feature update
|
||||
|
||||
Extend the root partition automatically on boot.
|
||||
|
||||
### 2020-12-29
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2020/12/29
|
||||
- Size: 238 MiB
|
||||
- OS version: openEuler 20.03 LTS SP1
|
||||
- Kernel version: 4.19.90-2012.3.0.0011
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS SP1 repository built daily](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS SP1 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
78
documents/raspberrypi/changelog/changelog-20.03-LTS-SP1.md
Normal file
@ -0,0 +1,78 @@
|
||||
## Feature Release Log of openEuler 20.03 LTS SP1 Alpha Version
|
||||
|
||||
[English](./changelog-20.03-LTS-SP1.en.md) | 简体中文
|
||||
|
||||
### 2021-04-12
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/04/12
|
||||
- 大小:236 MiB
|
||||
- 操作系统版本:openEuler 20.03 LTS SP1
|
||||
- 内核版本:4.19.90-2104.1.0.0017
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS SP1 每日构建的源仓库](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS SP1 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 内核
|
||||
|
||||
更新到 openEuler 最新稳定版本 4.19.90-2104.1.0。
|
||||
|
||||
##### 功能改动
|
||||
|
||||
修复:在树莓派 400 中无法找到无线设备。
|
||||
|
||||
### 2021-01-19
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/01/19
|
||||
- 大小:234 MiB
|
||||
- 操作系统版本:openEuler 20.03 LTS SP1
|
||||
- 内核版本:4.19.90-2012.5.0.0013
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS SP1 每日构建的源仓库](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS SP1 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 功能改动
|
||||
|
||||
- 安装 openssh-clients。
|
||||
- 修复:缺失文件扩展属性。
|
||||
|
||||
### 2021-01-06
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/01/06
|
||||
- 大小:239 MiB
|
||||
- 操作系统版本:openEuler 20.03 LTS SP1
|
||||
- 内核版本:4.19.90-2012.5.0.0013
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS SP1 每日构建的源仓库](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS SP1 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 内核
|
||||
|
||||
更新到 openEuler 最新稳定版本 4.19.90-2012.5.0。
|
||||
|
||||
##### 功能改动
|
||||
|
||||
开机自动扩展根分区。
|
||||
|
||||
### 2020-12-29
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2020/12/29
|
||||
- 大小:238 MiB
|
||||
- 操作系统版本:openEuler 20.03 LTS SP1
|
||||
- 内核版本:4.19.90-2012.3.0.0011
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS SP1 每日构建的源仓库](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS SP1 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo)
|
||||
@ -0,0 +1,15 @@
|
||||
## Feature Release Log of openEuler 20.03 LTS SP2 Alpha Version (with DDE desktop environment and Chinese input method)
|
||||
|
||||
English | [简体中文](./changelog-20.03-LTS-SP2-DDE.md)
|
||||
|
||||
### 2021-10-18
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/10/18
|
||||
- Size: 1.2 GiB
|
||||
- OS version: openEuler 20.03 LTS SP2
|
||||
- Kernel version: 4.19.90-2109.7.0.0031
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS SP2 repository built daily](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP2/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS SP2 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP2/generic.repo)
|
||||
@ -0,0 +1,15 @@
|
||||
## Feature Release Log of openEuler 20.03 LTS SP2 Alpha Version (with DDE desktop environment and Chinese input method)
|
||||
|
||||
[English](./changelog-20.03-LTS-SP2-DDE.en.md) | 简体中文
|
||||
|
||||
### 2021-10-18
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/10/18
|
||||
- 大小:1.2 GiB
|
||||
- 操作系统版本:openEuler 20.03 LTS SP2
|
||||
- 内核版本:4.19.90-2109.7.0.0031
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS SP2 每日构建的源仓库](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP2/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS SP2 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP2/generic.repo)
|
||||
@ -0,0 +1,15 @@
|
||||
## Feature Release Log of openEuler 20.03 LTS SP2 Alpha Version (with UKUI desktop environment and Chinese input method)
|
||||
|
||||
English | [简体中文](./changelog-20.03-LTS-SP2-UKUI.md)
|
||||
|
||||
### 2021-10-18
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/10/18
|
||||
- Size: 1.2 GiB
|
||||
- OS version: openEuler 20.03 LTS SP2
|
||||
- Kernel version: 4.19.90-2109.7.0.0031
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS SP2 repository built daily](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP2/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS SP2 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP2/generic.repo)
|
||||
@ -0,0 +1,15 @@
|
||||
## Feature Release Log of openEuler 20.03 LTS SP2 Alpha Version (with UKUI desktop environment and Chinese input method)
|
||||
|
||||
[English](./changelog-20.03-LTS-SP2-UKUI.en.md) | 简体中文
|
||||
|
||||
### 2021-10-18
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/10/18
|
||||
- 大小:1.2 GiB
|
||||
- 操作系统版本:openEuler 20.03 LTS SP2
|
||||
- 内核版本:4.19.90-2109.7.0.0031
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS SP2 每日构建的源仓库](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP2/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS SP2 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP2/generic.repo)
|
||||
@ -0,0 +1,15 @@
|
||||
## Feature Release Log of openEuler 20.03 LTS SP2 Alpha Version (with Xfce desktop environment and Chinese input method)
|
||||
|
||||
English | [简体中文](./changelog-20.03-LTS-SP2-Xfce.md)
|
||||
|
||||
### 2021-10-18
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/10/18
|
||||
- Size: 1.9 GiB
|
||||
- OS version: openEuler 20.03 LTS SP2
|
||||
- Kernel version: 4.19.90-2109.7.0.0031
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS SP2 repository built daily](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP2/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS SP2 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP2/generic.repo)
|
||||
@ -0,0 +1,15 @@
|
||||
## Feature Release Log of openEuler 20.03 LTS SP2 Alpha Version (with Xfce desktop environment and Chinese input method)
|
||||
|
||||
[English](./changelog-20.03-LTS-SP2-Xfce.en.md) | 简体中文
|
||||
|
||||
### 2021-10-18
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/10/18
|
||||
- 大小:1.9 GiB
|
||||
- 操作系统版本:openEuler 20.03 LTS SP2
|
||||
- 内核版本:4.19.90-2109.7.0.0031
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS SP2 每日构建的源仓库](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP2/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS SP2 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP2/generic.repo)
|
||||
@ -0,0 +1,15 @@
|
||||
## Feature Release Log of openEuler 20.03 LTS SP2 Alpha Version
|
||||
|
||||
English | [简体中文](./changelog-20.03-LTS-SP2.md)
|
||||
|
||||
### 2021-10-18
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/10/18
|
||||
- Size: 258 MiB
|
||||
- OS version: openEuler 20.03 LTS SP2
|
||||
- Kernel version: 4.19.90-2109.7.0.0031
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS SP2 repository built daily](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP2/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS SP2 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP2/generic.repo)
|
||||
15
documents/raspberrypi/changelog/changelog-20.03-LTS-SP2.md
Normal file
@ -0,0 +1,15 @@
|
||||
## Feature Release Log of openEuler 20.03 LTS SP2 Alpha Version
|
||||
|
||||
[English](./changelog-20.03-LTS-SP2.en.md) | 简体中文
|
||||
|
||||
### 2021-10-18
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/10/18
|
||||
- 大小:258 MiB
|
||||
- 操作系统版本:openEuler 20.03 LTS SP2
|
||||
- 内核版本:4.19.90-2109.7.0.0031
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS SP2 每日构建的源仓库](http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP2/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS SP2 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP2/generic.repo)
|
||||
181
documents/raspberrypi/changelog/changelog-20.03-LTS.en.md
Normal file
@ -0,0 +1,181 @@
|
||||
## Feature Release Log of openEuler 20.03 LTS Alpha Version
|
||||
|
||||
English | [简体中文](./changelog-20.03-LTS.md)
|
||||
|
||||
### 2021-01-19
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/01/19
|
||||
- Size: 212 MiB
|
||||
- OS version: openEuler 20.03 LTS
|
||||
- Kernel version: 4.19.90-2101.1.0
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS repository built daily](http://119.3.219.20:82/openEuler:/20.03:/LTS/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Kernel
|
||||
|
||||
Update to the latest stable version of openEuler: 4.19.90-2101.1.0.
|
||||
|
||||
##### Feature update
|
||||
|
||||
- Install openssh-clients.
|
||||
- Fixed: missing files' extended attributes.
|
||||
|
||||
### 2021-01-06
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/01/06
|
||||
- Size: 217 MiB
|
||||
- OS version: openEuler 20.03 LTS
|
||||
- Kernel version: 4.19.90-2012.5.0
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS repository built daily](http://119.3.219.20:82/openEuler:/20.03:/LTS/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Feature update
|
||||
|
||||
Extend the root partition automatically on boot.
|
||||
|
||||
### 2020-12-29
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2020/12/29
|
||||
- Size: 217 MiB
|
||||
- OS version: openEuler 20.03 LTS
|
||||
- Kernel version: 4.19.90-2012.5.0
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS repository built daily](http://119.3.219.20:82/openEuler:/20.03:/LTS/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Kernel
|
||||
|
||||
Update to the latest stable version of openEuler: 4.19.90-2012.5.0.
|
||||
|
||||
##### Feature update
|
||||
|
||||
- Install and start haveged service on boot.
|
||||
- Fixed: fail to activate swap on boot.
|
||||
|
||||
### 2020-11-17
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2020/11/17
|
||||
- Size: 224 MiB
|
||||
- OS version: openEuler 20.03 LTS
|
||||
- Kernel version: 4.19.90-2010.2.0
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo)
|
||||
- Repository inside the image: [openEuler 20.03 LTS repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Kernel
|
||||
|
||||
Update to the latest stable version of openEuler: 4.19.90-2010.2.0.
|
||||
|
||||
### 2020-10-27
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2020/10/27
|
||||
- Size: 224 MiB
|
||||
- OS version: openEuler 20.03 LTS
|
||||
- Kernel version: 4.19.90-2009.3.0.0003
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo)
|
||||
- Repository inside the image: [openEuler 20.03 LTS repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Kernel
|
||||
|
||||
Update to the latest stable version of openEuler: 4.19.90-2009.3.0.
|
||||
|
||||
### 2020-08-10
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2020/08/10
|
||||
- Size: 259 MiB
|
||||
- OS version: openEuler 20.03 LTS
|
||||
- Kernel version: 4.19.90-2005.2.0.0002
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS repository](http://repo.openeuler.org/openEuler-20.03-LTS/everything/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS repository](https://gitee.com/openeuler/raspberrypi/blob/master/scripts/config/openEuler-20.03-LTS.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Kernel
|
||||
|
||||
Update to the latest stable version of openEuler: 4.19.90-2005.2.0.
|
||||
|
||||
### 2020-05-11
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2020/05/11
|
||||
- Size: 245 MiB
|
||||
- OS version: openEuler 20.03 LTS
|
||||
- Kernel version: 4.19.90-2003.4.0.0036
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS repository](http://repo.openeuler.org/openEuler-20.03-LTS/everything/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS repository](https://gitee.com/openeuler/raspberrypi/blob/master/scripts/config/openEuler-20.03-LTS.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Bluetooth
|
||||
|
||||
Start related services of bluetooth and bind Bluetooth devices by default.
|
||||
|
||||
### 2020-04-27
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2020/04/27
|
||||
- Size: 240 MiB
|
||||
- OS version: openEuler 20.03 LTS
|
||||
- Kernel version: 4.19.90-2003.4.0.0036
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS repository](http://repo.openeuler.org/openEuler-20.03-LTS/everything/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS repository](https://gitee.com/openeuler/raspberrypi/blob/master/scripts/config/openEuler-20.03-LTS.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Default time zone
|
||||
|
||||
Set default time zone as CST (UTC+8).
|
||||
|
||||
##### Hostname
|
||||
|
||||
Set hostname as openEuler.
|
||||
|
||||
##### Audio
|
||||
|
||||
Enable audio by default.
|
||||
|
||||
##### HCI UART protocol Broadcom
|
||||
|
||||
Set CONFIG_SERIAL_DEV_CTRL_TTYPORT and CONFIG_BT_HCIUART_BCM as 'y' to compile support for Broadcom protocol. The Broadcom protocol support enables Bluetooth HCI over serial port interface for Broadcom Bluetooth controllers.
|
||||
|
||||
### 2020-04-15
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2020/04/15
|
||||
- Size: 241 MiB
|
||||
- OS version: openEuler 20.03 LTS
|
||||
- Kernel version: 4.19.90-2003.4.0.0036
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.03 LTS repository](http://repo.openeuler.org/openEuler-20.03-LTS/everything/aarch64/)
|
||||
- Repository inside the image: [openEuler 20.03 LTS repository](https://gitee.com/openeuler/raspberrypi/blob/master/scripts/config/openEuler-20.03-LTS.repo)
|
||||
181
documents/raspberrypi/changelog/changelog-20.03-LTS.md
Normal file
@ -0,0 +1,181 @@
|
||||
## Feature Release Log of openEuler 20.03 LTS Alpha Version
|
||||
|
||||
[English](./changelog-20.03-LTS.en.md) | 简体中文
|
||||
|
||||
### 2021-01-19
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/01/19
|
||||
- 大小:212 MiB
|
||||
- 操作系统版本:openEuler 20.03 LTS
|
||||
- 内核版本:4.19.90-2101.1.0
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS 每日构建的源仓库](http://119.3.219.20:82/openEuler:/20.03:/LTS/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 内核
|
||||
|
||||
更新到 openEuler 最新稳定版本 4.19.90-2101.1.0。
|
||||
|
||||
##### 功能改动
|
||||
|
||||
- 安装 openssh-clients。
|
||||
- 修复:缺失文件扩展属性。
|
||||
|
||||
### 2021-01-06
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/01/06
|
||||
- 大小:217 MiB
|
||||
- 操作系统版本:openEuler 20.03 LTS
|
||||
- 内核版本:4.19.90-2012.5.0
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS 每日构建的源仓库](http://119.3.219.20:82/openEuler:/20.03:/LTS/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 功能改动
|
||||
|
||||
开机自动扩展根分区。
|
||||
|
||||
### 2020-12-29
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2020/12/29
|
||||
- 大小:217 MiB
|
||||
- 操作系统版本:openEuler 20.03 LTS
|
||||
- 内核版本:4.19.90-2012.5.0
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS 每日构建的源仓库](http://119.3.219.20:82/openEuler:/20.03:/LTS/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 内核
|
||||
|
||||
更新到 openEuler 最新稳定版本 4.19.90-2012.5.0。
|
||||
|
||||
##### 功能改动
|
||||
|
||||
- 安装并开机启动 haveged 服务。
|
||||
- 修复:树莓派开机激活交换分区失败。
|
||||
|
||||
### 2020-11-17
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2020/11/17
|
||||
- 大小:224 MiB
|
||||
- 操作系统版本:openEuler 20.03 LTS
|
||||
- 内核版本:4.19.90-2010.2.0
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 内核
|
||||
|
||||
更新到 openEuler 最新稳定版本 4.19.90-2010.2.0。
|
||||
|
||||
### 2020-10-27
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2020/10/27
|
||||
- 大小:224 MiB
|
||||
- 操作系统版本:openEuler 20.03 LTS
|
||||
- 内核版本:4.19.90-2009.3.0.0003
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 内核
|
||||
|
||||
更新到 openEuler 最新稳定版本 4.19.90-2009.3.0。
|
||||
|
||||
### 2020-08-10
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2020/08/10
|
||||
- 大小:259 MiB
|
||||
- 操作系统版本:openEuler 20.03 LTS
|
||||
- 内核版本:4.19.90-2005.2.0.0002
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS 源仓库](http://repo.openeuler.org/openEuler-20.03-LTS/everything/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS 源仓库](https://gitee.com/openeuler/raspberrypi/blob/master/scripts/config/openEuler-20.03-LTS.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 内核
|
||||
|
||||
更新到 openEuler 最新稳定版本 4.19.90-2005.2.0。
|
||||
|
||||
### 2020-05-11
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2020/05/11
|
||||
- 大小:245 MiB
|
||||
- 操作系统版本:openEuler 20.03 LTS
|
||||
- 内核版本:4.19.90-2003.4.0.0036
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS 源仓库](http://repo.openeuler.org/openEuler-20.03-LTS/everything/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS 源仓库](https://gitee.com/openeuler/raspberrypi/blob/master/scripts/config/openEuler-20.03-LTS.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 蓝牙
|
||||
|
||||
默认启动蓝牙相关服务,并绑定蓝牙设备。
|
||||
|
||||
### 2020-04-27
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2020/04/27
|
||||
- 大小:240 MiB
|
||||
- 操作系统版本:openEuler 20.03 LTS
|
||||
- 内核版本:4.19.90-2003.4.0.0036
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS 源仓库](http://repo.openeuler.org/openEuler-20.03-LTS/everything/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS 源仓库](https://gitee.com/openeuler/raspberrypi/blob/master/scripts/config/openEuler-20.03-LTS.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 默认时区
|
||||
|
||||
设置默认时区为中国标准时间 (东八区)。
|
||||
|
||||
##### 主机名
|
||||
|
||||
设置主机名(hostname)为 openEuler。
|
||||
|
||||
##### 音频
|
||||
|
||||
默认开启音频。
|
||||
|
||||
##### HCI UART protocol Broadcom
|
||||
|
||||
设置 CONFIG_SERIAL_DEV_CTRL_TTYPORT 和 CONFIG_BT_HCIUART_BCM 为 'y',将 Broadcom 协议编译进内核。Broadcom 协议支持为 Broadcom 蓝牙控制器启用基于串行端口接口的 Bluetooth HCI。
|
||||
|
||||
### 2020-04-15
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2020/04/15
|
||||
- 大小:241 MiB
|
||||
- 操作系统版本:openEuler 20.03 LTS
|
||||
- 内核版本:4.19.90-2003.4.0.0036
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.03 LTS 源仓库](http://repo.openeuler.org/openEuler-20.03-LTS/everything/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.03 LTS 源仓库](https://gitee.com/openeuler/raspberrypi/blob/master/scripts/config/openEuler-20.03-LTS.repo)
|
||||
107
documents/raspberrypi/changelog/changelog-20.09-Xfce.en.md
Normal file
@ -0,0 +1,107 @@
|
||||
## Feature Release Log of openEuler 20.09 Alpha Version (with Xfce desktop environment)
|
||||
|
||||
English | [简体中文](./changelog-20.09-Xfce.md)
|
||||
|
||||
### 2021-01-19
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/01/19
|
||||
- Size: 903 MiB
|
||||
- OS version: openEuler 20.09
|
||||
- Kernel version: 4.19.138-2008.1.0.0001
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.09 repository](https://repo.openeuler.org/openEuler-20.09/)
|
||||
- Repository inside the image: [openEuler 20.09 repository](https://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Feature update
|
||||
|
||||
- Install openssh-clients.
|
||||
- Fixed: missing files' extended attributes.
|
||||
|
||||
### 2021-01-06
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/01/06
|
||||
- Size: 922 MiB
|
||||
- OS version: openEuler 20.09
|
||||
- Kernel version: 4.19.138-2008.1.0.0001
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.09 repository](https://repo.openeuler.org/openEuler-20.09/)
|
||||
- Repository inside the image: [openEuler 20.09 repository](https://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Feature update
|
||||
|
||||
Extend the root partition automatically on boot.
|
||||
|
||||
### 2020-12-31
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2020/12/31
|
||||
- Size: 923 MiB
|
||||
- OS version: openEuler 20.09
|
||||
- Kernel version: 4.19.138-2008.1.0.0001
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.09 repository](https://repo.openeuler.org/openEuler-20.09/)
|
||||
- Repository inside the image: [openEuler 20.09 repository](https://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Feature update
|
||||
|
||||
Install xfce4-screensaver, which enables the screen lock feature.
|
||||
|
||||
### 2020-12-29
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2020/12/29
|
||||
- Size: 876 MiB
|
||||
- OS version: openEuler 20.09
|
||||
- Kernel version: 4.19.138-2008.1.0.0001
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.09 repository](https://repo.openeuler.org/openEuler-20.09/)
|
||||
- Repository inside the image: [openEuler 20.09 repository](https://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Feature update
|
||||
|
||||
- Install and start haveged service on boot.
|
||||
- Fixed: fail to activate swap on boot.
|
||||
|
||||
### 2020-11-17
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2020/11/17
|
||||
- Size: 875 MiB
|
||||
- OS version: openEuler 20.09
|
||||
- Kernel version: 4.19.138-2008.1.0.0001
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.09 repository](https://repo.openeuler.org/openEuler-20.09/)
|
||||
- Repository inside the image: [openEuler 20.09 repository](https://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Feature update
|
||||
|
||||
Remove xfce4-screensaver, which means that the image does not have the screen lock feature.
|
||||
|
||||
### 2020-10-27
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2020/10/27
|
||||
- Size: 875 MiB
|
||||
- OS version: openEuler 20.09
|
||||
- Kernel version: 4.19.138-2008.1.0.0001
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.09 repository](https://repo.openeuler.org/openEuler-20.09/)
|
||||
- Repository inside the image: [openEuler 20.09 repository](https://repo.openeuler.org/openEuler-20.09/)
|
||||
107
documents/raspberrypi/changelog/changelog-20.09-Xfce.md
Normal file
@ -0,0 +1,107 @@
|
||||
## Feature Release Log of openEuler 20.09 Alpha Version (with Xfce desktop environment)
|
||||
|
||||
[English](./changelog-20.09-Xfce.en.md) | 简体中文
|
||||
|
||||
### 2021-01-19
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/01/19
|
||||
- 大小:903 MiB
|
||||
- 操作系统版本:openEuler 20.09
|
||||
- 内核版本:4.19.138-2008.1.0.0001
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.09 源仓库](https://repo.openeuler.org/openEuler-20.09/)
|
||||
- 镜像内置源仓库:[openEuler 20.09 源仓库](https://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 功能改动
|
||||
|
||||
- 安装 openssh-clients。
|
||||
- 修复:文件扩展属性缺失。
|
||||
|
||||
### 2021-01-06
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/01/06
|
||||
- 大小:922 MiB
|
||||
- 操作系统版本:openEuler 20.09
|
||||
- 内核版本:4.19.138-2008.1.0.0001
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.09 源仓库](https://repo.openeuler.org/openEuler-20.09/)
|
||||
- 镜像内置源仓库:[openEuler 20.09 源仓库](https://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 功能改动
|
||||
|
||||
开机自动扩展根分区。
|
||||
|
||||
### 2020-12-31
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2020/12/31
|
||||
- 大小:923 MiB
|
||||
- 操作系统版本:openEuler 20.09
|
||||
- 内核版本:4.19.138-2008.1.0.0001
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.09 源仓库](https://repo.openeuler.org/openEuler-20.09/)
|
||||
- 镜像内置源仓库:[openEuler 20.09 源仓库](https://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 功能改动
|
||||
|
||||
安装 xfce4-screensaver,添加锁屏功能。
|
||||
|
||||
### 2020-12-29
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2020/12/29
|
||||
- 大小:876 MiB
|
||||
- 操作系统版本:openEuler 20.09
|
||||
- 内核版本:4.19.138-2008.1.0.0001
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.09 源仓库](https://repo.openeuler.org/openEuler-20.09/)
|
||||
- 镜像内置源仓库:[openEuler 20.09 源仓库](https://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 功能改动
|
||||
|
||||
- 安装并开机启动 haveged 服务。
|
||||
- 修复:树莓派开机激活交换分区失败。
|
||||
|
||||
### 2020-11-17
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2020/11/17
|
||||
- 大小:875 MiB
|
||||
- 操作系统版本:openEuler 20.09
|
||||
- 内核版本:4.19.138-2008.1.0.0001
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.09 源仓库](https://repo.openeuler.org/openEuler-20.09/)
|
||||
- 镜像内置源仓库:[openEuler 20.09 源仓库](https://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 功能改动
|
||||
|
||||
删除 xfce4-screensaver 软件包,镜像默认无锁屏功能。
|
||||
|
||||
### 2020-10-27
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2020/10/27
|
||||
- 大小:875 MiB
|
||||
- 操作系统版本:openEuler 20.09
|
||||
- 内核版本:4.19.138-2008.1.0.0001
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.09 源仓库](https://repo.openeuler.org/openEuler-20.09/)
|
||||
- 镜像内置源仓库:[openEuler 20.09 源仓库](https://repo.openeuler.org/openEuler-20.09/)
|
||||
149
documents/raspberrypi/changelog/changelog-20.09.en.md
Normal file
@ -0,0 +1,149 @@
|
||||
## Feature Release Log of openEuler 20.09 Alpha Version
|
||||
|
||||
English | [简体中文](./changelog-20.09.md)
|
||||
|
||||
### 2021-04-12
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/04/12
|
||||
- Size: 236 MiB
|
||||
- OS version: openEuler 20.09
|
||||
- Kernel version: 4.19.140-2104.1.0.0010
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.09 repository built daily](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.09/generic.repo)
|
||||
- Repository inside the image: [openEuler 20.09 repository](http://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Kernel
|
||||
|
||||
Update to the latest stable version of openEuler: 4.19.140-2104.1.0.
|
||||
|
||||
##### Feature update
|
||||
|
||||
Fixed: can not find wireless device in RPi 400.
|
||||
|
||||
### 2021-01-19
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/01/19
|
||||
- Size: 236 MiB
|
||||
- OS version: openEuler 20.09
|
||||
- Kernel version: 4.19.140-2101.1.0.0007
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.09 repository built daily](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.09/generic.repo)
|
||||
- Repository inside the image: [openEuler 20.09 repository](http://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Kernel
|
||||
|
||||
Update to the latest stable version of openEuler: 4.19.140-2101.1.0.
|
||||
|
||||
##### Feature update
|
||||
|
||||
- Install openssh-clients.
|
||||
- Fixed: missing files' extended attributes.
|
||||
|
||||
### 2021-01-06
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/01/06
|
||||
- Size: 243 MiB
|
||||
- OS version: openEuler 20.09
|
||||
- Kernel version: 4.19.140-2012.2.0.0006
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.09 repository built daily](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.09/generic.repo)
|
||||
- Repository inside the image: [openEuler 20.09 repository](http://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Feature update
|
||||
|
||||
Extend the root partition automatically on boot.
|
||||
|
||||
### 2020-12-29
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2020/12/29
|
||||
- Size: 242 MiB
|
||||
- OS version: openEuler 20.09
|
||||
- Kernel version: 4.19.140-2012.2.0.0006
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.09 repository built daily](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.09/generic.repo)
|
||||
- Repository inside the image: [openEuler 20.09 repository](http://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Kernel
|
||||
|
||||
Update to the latest stable version of openEuler: 4.19.140-2012.2.0.
|
||||
|
||||
##### Feature update
|
||||
|
||||
- Install and start haveged service on boot.
|
||||
- Fixed: fail to activate swap on boot.
|
||||
|
||||
### 2020-11-17
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2020/11/17
|
||||
- Size: 239 MiB
|
||||
- OS version: openEuler 20.09
|
||||
- Kernel version: 4.19.140-2011.1.0.0003
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.09 repository built daily](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.09/generic.repo)
|
||||
- Repository inside the image: [openEuler 20.09 repository](http://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Kernel
|
||||
|
||||
Update to the latest stable version of openEuler: 4.19.140-2011.1.0.
|
||||
|
||||
##### Firmware
|
||||
|
||||
Update to the latest version of firmware:
|
||||
|
||||
- [firmware](https://github.com/raspberrypi/firmware): [1.20201022](https://github.com/raspberrypi/firmware/archive/1.20201022/firmware-1.20201022.tar.gz)
|
||||
- [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware): [latest version](https://github.com/RPi-Distro/bluez-firmware/archive/a4e08822e3f24a6211f6ac94bc98b7ef87700c70/bluez-firmware-a4e08822e3f24a6211f6ac94bc98b7ef87700c70.tar.gz) (latest commitid [a4e08822e3f24a6211f6ac94bc98b7ef87700c70](https://github.com/RPi-Distro/bluez-firmware/commit/a4e08822e3f24a6211f6ac94bc98b7ef87700c70))
|
||||
- [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree): [latest version](https://github.com/RPi-Distro/firmware-nonfree/archive/5113681d6dcd46581a1882cbeb3d5cf1ddbf7676/firmware-nonfree-5113681d6dcd46581a1882cbeb3d5cf1ddbf7676.tar.gz) (latest commitid [5113681d6dcd46581a1882cbeb3d5cf1ddbf7676](https://github.com/RPi-Distro/firmware-nonfree/commit/5113681d6dcd46581a1882cbeb3d5cf1ddbf7676))
|
||||
|
||||
##### Bluetooth
|
||||
|
||||
Update to [the latest version](https://github.com/RPi-Distro/pi-bluetooth/archive/a69d8f54901aab31f2f47e0cc4f9d2879e183f1d/pi-bluetooth-a69d8f54901aab31f2f47e0cc4f9d2879e183f1d.tar.gz) of [pi-bluetooth](https://github.com/RPi-Distro/pi-bluetooth).
|
||||
|
||||
### 2020-10-27
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2020/10/27
|
||||
- Size: 238 MiB
|
||||
- OS version: openEuler 20.09
|
||||
- Kernel version: 4.19.140-2009.4.0.0001
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.09 repository built daily](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.09/generic.repo)
|
||||
- Repository inside the image: [openEuler 20.09 repository](http://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Kernel
|
||||
|
||||
Update to the latest stable version of openEuler: 4.19.140-2009.4.0.
|
||||
|
||||
### 2020-09-04
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2020/09/04
|
||||
- Size: 237 MiB
|
||||
- OS version: openEuler 20.09
|
||||
- Kernel version: 4.19.140-2008.3.0.0001
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 20.09 repository built daily](http://119.3.219.20:82/openEuler:/Mainline/standard_aarch64/)
|
||||
- Repository inside the image: [openEuler 20.09 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.09/generic.repo)
|
||||
149
documents/raspberrypi/changelog/changelog-20.09.md
Normal file
@ -0,0 +1,149 @@
|
||||
## Feature Release Log of openEuler 20.09 Alpha Version
|
||||
|
||||
[English](./changelog-20.09.en.md) | 简体中文
|
||||
|
||||
### 2021-04-12
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/04/12
|
||||
- 大小:236 MiB
|
||||
- 操作系统版本:openEuler 20.09
|
||||
- 内核版本:4.19.140-2104.1.0.0010
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.09 每日构建的源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.09/generic.repo)
|
||||
- 镜像内置源仓库:[openEuler 20.09 源仓库](http://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 内核
|
||||
|
||||
更新到 openEuler 最新稳定版本 4.19.140-2104.1.0。
|
||||
|
||||
##### 功能改动
|
||||
|
||||
修复:在树莓派 400 中无法找到无线设备。
|
||||
|
||||
### 2021-01-19
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/01/19
|
||||
- 大小:236 MiB
|
||||
- 操作系统版本:openEuler 20.09
|
||||
- 内核版本:4.19.140-2101.1.0.0007
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.09 每日构建的源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.09/generic.repo)
|
||||
- 镜像内置源仓库:[openEuler 20.09 源仓库](http://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 内核
|
||||
|
||||
更新到 openEuler 最新稳定版本 4.19.140-2101.1.0。
|
||||
|
||||
##### 功能改动
|
||||
|
||||
- 安装 openssh-clients。
|
||||
- 修复:缺失文件扩展属性。
|
||||
|
||||
### 2021-01-06
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/01/06
|
||||
- 大小:243 MiB
|
||||
- 操作系统版本:openEuler 20.09
|
||||
- 内核版本:4.19.140-2012.2.0.0006
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.09 每日构建的源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.09/generic.repo)
|
||||
- 镜像内置源仓库:[openEuler 20.09 源仓库](http://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 功能改动
|
||||
|
||||
开机自动扩展根分区。
|
||||
|
||||
### 2020-12-29
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2020/12/29
|
||||
- 大小:242 MiB
|
||||
- 操作系统版本:openEuler 20.09
|
||||
- 内核版本:4.19.140-2012.2.0.0006
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.09 每日构建的源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.09/generic.repo)
|
||||
- 镜像内置源仓库:[openEuler 20.09 源仓库](http://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 内核
|
||||
|
||||
更新到 openEuler 最新稳定版本 4.19.140-2012.2.0。
|
||||
|
||||
##### 功能改动
|
||||
|
||||
- 安装并开机启动 haveged 服务。
|
||||
- 修复:树莓派开机激活交换分区失败。
|
||||
|
||||
### 2020-11-17
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2020/11/17
|
||||
- 大小:239 MiB
|
||||
- 操作系统版本:openEuler 20.09
|
||||
- 内核版本:4.19.140-2011.1.0.0003
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.09 每日构建的源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.09/generic.repo)
|
||||
- 镜像内置源仓库:[openEuler 20.09 源仓库](http://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 内核
|
||||
|
||||
更新到 openEuler 最新稳定版本 4.19.140-2011.1.0.0003。
|
||||
|
||||
##### 固件
|
||||
|
||||
更新到固件最新版本:
|
||||
|
||||
- [firmware](https://github.com/raspberrypi/firmware) 最新版本 [1.20201022](https://github.com/raspberrypi/firmware/archive/1.20201022/firmware-1.20201022.tar.gz)
|
||||
- [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware) [最新版本](https://github.com/RPi-Distro/bluez-firmware/archive/a4e08822e3f24a6211f6ac94bc98b7ef87700c70/bluez-firmware-a4e08822e3f24a6211f6ac94bc98b7ef87700c70.tar.gz)(最新提交的 commitid:[a4e08822e3f24a6211f6ac94bc98b7ef87700c70](https://github.com/RPi-Distro/bluez-firmware/commit/a4e08822e3f24a6211f6ac94bc98b7ef87700c70))
|
||||
- [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree) [最新版本](https://github.com/RPi-Distro/firmware-nonfree/archive/5113681d6dcd46581a1882cbeb3d5cf1ddbf7676/firmware-nonfree-5113681d6dcd46581a1882cbeb3d5cf1ddbf7676.tar.gz)(最新提交的 commitid:[5113681d6dcd46581a1882cbeb3d5cf1ddbf7676](https://github.com/RPi-Distro/firmware-nonfree/commit/5113681d6dcd46581a1882cbeb3d5cf1ddbf7676))
|
||||
|
||||
##### 蓝牙
|
||||
|
||||
更新到 [pi-bluetooth](https://github.com/RPi-Distro/pi-bluetooth) 的[最新版本](https://github.com/RPi-Distro/pi-bluetooth/archive/a69d8f54901aab31f2f47e0cc4f9d2879e183f1d/pi-bluetooth-a69d8f54901aab31f2f47e0cc4f9d2879e183f1d.tar.gz)(最新提交的 commitid:[a69d8f54901aab31f2f47e0cc4f9d2879e183f1d](https://github.com/RPi-Distro/pi-bluetooth/commit/a69d8f54901aab31f2f47e0cc4f9d2879e183f1d))。
|
||||
|
||||
### 2020-10-27
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2020/10/27
|
||||
- 大小:238 MiB
|
||||
- 操作系统版本:openEuler 20.09
|
||||
- 内核版本:4.19.140-2009.4.0.0001
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.09 每日构建的源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.09/generic.repo)
|
||||
- 镜像内置源仓库:[openEuler 20.09 源仓库](http://repo.openeuler.org/openEuler-20.09/)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 内核
|
||||
|
||||
更新到 openEuler 最新稳定版本 4.19.140-2009.4.0。
|
||||
|
||||
### 2020-09-04
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2020/09/04
|
||||
- 大小:237 MiB
|
||||
- 操作系统版本:openEuler 20.09
|
||||
- 内核版本:4.19.140-2008.3.0.0001
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 20.09 每日构建的源仓库](http://119.3.219.20:82/openEuler:/Mainline/standard_aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 20.09 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.09/generic.repo)
|
||||
15
documents/raspberrypi/changelog/changelog-21.03-DDE.en.md
Normal file
@ -0,0 +1,15 @@
|
||||
## Feature Release Log of openEuler 21.03 Alpha Version (with DDE desktop environment and Chinese input method)
|
||||
|
||||
English | [简体中文](./changelog-21.03-DDE.md)
|
||||
|
||||
### 2021-04-12
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/04/12
|
||||
- Size: 1.0 GiB
|
||||
- OS version: openEuler 21.03
|
||||
- Kernel version: 5.10.0-4.18.0.9
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 21.03 repository built daily](http://119.3.219.20:82/openEuler:/21.03/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 21.03 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.03/generic.repo)
|
||||
15
documents/raspberrypi/changelog/changelog-21.03-DDE.md
Normal file
@ -0,0 +1,15 @@
|
||||
## Feature Release Log of openEuler 21.03 Alpha Version (with DDE desktop environment and Chinese input method)
|
||||
|
||||
[English](./changelog-21.03-DDE.en.md) | 简体中文
|
||||
|
||||
### 2021-04-12
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/04/12
|
||||
- 大小:1.0 GiB
|
||||
- 操作系统版本:openEuler 21.03
|
||||
- 内核版本:5.10.0-4.18.0.9
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 21.03 每日构建的源仓库](http://119.3.219.20:82/openEuler:/21.03/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 21.03 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.03/generic.repo)
|
||||
15
documents/raspberrypi/changelog/changelog-21.03-UKUI.en.md
Normal file
@ -0,0 +1,15 @@
|
||||
## Feature Release Log of openEuler 21.03 Alpha Version (with UKUI desktop environment and Chinese input method)
|
||||
|
||||
English | [简体中文](./changelog-21.03-UKUI.md)
|
||||
|
||||
### 2021-04-12
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/04/12
|
||||
- Size: 1.1 GiB
|
||||
- OS version: openEuler 21.03
|
||||
- Kernel version: 5.10.0-4.18.0.9
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 21.03 repository built daily](http://119.3.219.20:82/openEuler:/21.03/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 21.03 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.03/generic.repo)
|
||||
15
documents/raspberrypi/changelog/changelog-21.03-UKUI.md
Normal file
@ -0,0 +1,15 @@
|
||||
## Feature Release Log of openEuler 21.03 Alpha Version (with UKUI desktop environment and Chinese input method)
|
||||
|
||||
[English](./changelog-21.03-UKUI.en.md) | 简体中文
|
||||
|
||||
### 2021-04-12
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/04/12
|
||||
- 大小:1.1 GiB
|
||||
- 操作系统版本:openEuler 21.03
|
||||
- 内核版本:5.10.0-4.18.0.9
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 21.03 每日构建的源仓库](http://119.3.219.20:82/openEuler:/21.03/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 21.03 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.03/generic.repo)
|
||||
15
documents/raspberrypi/changelog/changelog-21.03-Xfce.en.md
Normal file
@ -0,0 +1,15 @@
|
||||
## Feature Release Log of openEuler 21.03 Alpha Version (with Xfce desktop environment and Chinese input method)
|
||||
|
||||
English | [简体中文](./changelog-21.03-Xfce.md)
|
||||
|
||||
### 2021-04-12
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/04/12
|
||||
- Size: 1.8 GiB
|
||||
- OS version: openEuler 21.03
|
||||
- Kernel version: 5.10.0-4.18.0.9
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 21.03 repository built daily](http://119.3.219.20:82/openEuler:/21.03/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 21.03 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.03/generic.repo)
|
||||
15
documents/raspberrypi/changelog/changelog-21.03-Xfce.md
Normal file
@ -0,0 +1,15 @@
|
||||
## Feature Release Log of openEuler 21.03 Alpha Version (with Xfce desktop environment and Chinese input method)
|
||||
|
||||
[English](./changelog-21.03-Xfce.en.md) | 简体中文
|
||||
|
||||
### 2021-04-12
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/04/12
|
||||
- 大小:1.8 GiB
|
||||
- 操作系统版本:openEuler 21.03
|
||||
- 内核版本:5.10.0-4.18.0.9
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 21.03 每日构建的源仓库](http://119.3.219.20:82/openEuler:/21.03/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 21.03 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.03/generic.repo)
|
||||
15
documents/raspberrypi/changelog/changelog-21.03.en.md
Normal file
@ -0,0 +1,15 @@
|
||||
## Feature Release Log of openEuler 21.03 Alpha Version
|
||||
|
||||
English | [简体中文](./changelog-21.03.md)
|
||||
|
||||
### 2021-04-12
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/04/12
|
||||
- Size: 220 MiB
|
||||
- OS version: openEuler 21.03
|
||||
- Kernel version: 5.10.0-4.18.0.9
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 21.03 repository built daily](http://119.3.219.20:82/openEuler:/21.03/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 21.03 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.03/generic.repo)
|
||||
15
documents/raspberrypi/changelog/changelog-21.03.md
Normal file
@ -0,0 +1,15 @@
|
||||
## Feature Release Log of openEuler 21.03 Alpha Version
|
||||
|
||||
[English](./changelog-21.03.en.md) | 简体中文
|
||||
|
||||
### 2021-04-12
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/04/12
|
||||
- 大小:220 MiB
|
||||
- 操作系统版本:openEuler 21.03
|
||||
- 内核版本:5.10.0-4.18.0.9
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 21.03 每日构建的源仓库](http://119.3.219.20:82/openEuler:/21.03/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 21.03 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.03/generic.repo)
|
||||
35
documents/raspberrypi/changelog/changelog-21.09-DDE.en.md
Normal file
@ -0,0 +1,35 @@
|
||||
## Feature Release Log of openEuler 21.09 Alpha Version (with DDE desktop environment and Chinese input method)
|
||||
|
||||
English | [简体中文](./changelog-21.09-DDE.md)
|
||||
|
||||
|
||||
### 2022-01-13
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2022/01/13
|
||||
- Size: 1.2 GiB
|
||||
- OS version: openEuler 21.09
|
||||
- Kernel version: 5.10.0-5.10.0.8
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 21.09 repository built daily](http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 21.09 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Feature update
|
||||
|
||||
- Fixed: time synchronization server is set incorrectly.
|
||||
- Fixed: the baseurl of EPOL repository is wrong.
|
||||
|
||||
### 2021-10-18
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/10/18
|
||||
- Size: 1.2 GiB
|
||||
- OS version: openEuler 21.09
|
||||
- Kernel version: 5.10.0-5.10.0.8
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 21.09 repository built daily](http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 21.09 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo)
|
||||
34
documents/raspberrypi/changelog/changelog-21.09-DDE.md
Normal file
@ -0,0 +1,34 @@
|
||||
## Feature Release Log of openEuler 21.09 Alpha Version (with DDE desktop environment and Chinese input method)
|
||||
|
||||
[English](./changelog-21.09-DDE.en.md) | 简体中文
|
||||
|
||||
### 2022-01-13
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2022/01/13
|
||||
- 大小:1.2 GiB
|
||||
- 操作系统版本:openEuler 21.09
|
||||
- 内核版本:5.10.0-5.10.0.8
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 21.09 每日构建的源仓库](http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 21.09 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 功能改动
|
||||
|
||||
- 修复:时钟同步服务器设置错误。
|
||||
- 修复:EPOL 软件源地址错误。
|
||||
|
||||
### 2021-10-18
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/10/18
|
||||
- 大小:1.2 GiB
|
||||
- 操作系统版本:openEuler 21.09
|
||||
- 内核版本:5.10.0-5.10.0.8
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 21.09 每日构建的源仓库](http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 21.09 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo)
|
||||
35
documents/raspberrypi/changelog/changelog-21.09-LXDE.en.md
Normal file
@ -0,0 +1,35 @@
|
||||
## Feature Release Log of openEuler 21.09 Alpha Version (with LXDE desktop environment and Chinese input method)
|
||||
|
||||
English | [简体中文](./changelog-21.09-LXDE.md)
|
||||
|
||||
|
||||
### 2022-01-07
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2022/01/07
|
||||
- Size: 548 MiB
|
||||
- OS version: openEuler 21.09
|
||||
- Kernel version: 5.10.0-5.10.0.8
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 21.09 repository built daily](http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 21.09 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Feature update
|
||||
|
||||
- Fixed: time synchronization server is set incorrectly.
|
||||
- Fixed: the baseurl of EPOL repository is wrong.
|
||||
|
||||
### 2021-10-18
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/10/18
|
||||
- Size: 548 MiB
|
||||
- OS version: openEuler 21.09
|
||||
- Kernel version: 5.10.0-5.10.0.8
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 21.09 repository built daily](http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 21.09 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo)
|
||||
34
documents/raspberrypi/changelog/changelog-21.09-LXDE.md
Normal file
@ -0,0 +1,34 @@
|
||||
## Feature Release Log of openEuler 21.09 Alpha Version (with LXDE desktop environment and Chinese input method)
|
||||
|
||||
[English](./changelog-21.09-LXDE.en.md) | 简体中文
|
||||
|
||||
### 2022-01-07
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2022/01/07
|
||||
- 大小:548 MiB
|
||||
- 操作系统版本:openEuler 21.09
|
||||
- 内核版本:5.10.0-5.10.0.8
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 21.09 每日构建的源仓库](http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 21.09 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 功能改动
|
||||
|
||||
- 修复:时钟同步服务器设置错误。
|
||||
- 修复:EPOL 软件源地址错误。
|
||||
|
||||
### 2021-10-18
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/10/18
|
||||
- 大小:548 MiB
|
||||
- 操作系统版本:openEuler 21.09
|
||||
- 内核版本:5.10.0-5.10.0.8
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 21.09 每日构建的源仓库](http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 21.09 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo)
|
||||
35
documents/raspberrypi/changelog/changelog-21.09-UKUI.en.md
Normal file
@ -0,0 +1,35 @@
|
||||
## Feature Release Log of openEuler 21.09 Alpha Version (with UKUI desktop environment and Chinese input method)
|
||||
|
||||
English | [简体中文](./changelog-21.09-UKUI.md)
|
||||
|
||||
|
||||
### 2022-01-07
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2022/01/07
|
||||
- Size: 1.3 GiB
|
||||
- OS version: openEuler 21.09
|
||||
- Kernel version: 5.10.0-5.10.0.8
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 21.09 repository built daily](http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 21.09 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Feature update
|
||||
|
||||
- Fixed: time synchronization server is set incorrectly.
|
||||
- Fixed: the baseurl of EPOL repository is wrong.
|
||||
|
||||
### 2021-10-18
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/10/18
|
||||
- Size: 1.3 GiB
|
||||
- OS version: openEuler 21.09
|
||||
- Kernel version: 5.10.0-5.10.0.8
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 21.09 repository built daily](http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 21.09 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo)
|
||||
34
documents/raspberrypi/changelog/changelog-21.09-UKUI.md
Normal file
@ -0,0 +1,34 @@
|
||||
## Feature Release Log of openEuler 21.09 Alpha Version (with UKUI desktop environment and Chinese input method)
|
||||
|
||||
[English](./changelog-21.09-UKUI.en.md) | 简体中文
|
||||
|
||||
### 2022-01-07
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2022/01/07
|
||||
- 大小:1.3 GiB
|
||||
- 操作系统版本:openEuler 21.09
|
||||
- 内核版本:5.10.0-5.10.0.8
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 21.09 每日构建的源仓库](http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 21.09 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 功能改动
|
||||
|
||||
- 修复:时钟同步服务器设置错误。
|
||||
- 修复:EPOL 软件源地址错误。
|
||||
|
||||
### 2021-10-18
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/10/18
|
||||
- 大小:1.3 GiB
|
||||
- 操作系统版本:openEuler 21.09
|
||||
- 内核版本:5.10.0-5.10.0.8
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 21.09 每日构建的源仓库](http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 21.09 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo)
|
||||
34
documents/raspberrypi/changelog/changelog-21.09-Xfce.en.md
Normal file
@ -0,0 +1,34 @@
|
||||
## Feature Release Log of openEuler 21.09 Alpha Version (with Xfce desktop environment and Chinese input method)
|
||||
|
||||
English | [简体中文](./changelog-21.09-Xfce.md)
|
||||
|
||||
### 2022-01-07
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2022/01/07
|
||||
- Size: 1.9 GiB
|
||||
- OS version: openEuler 21.09
|
||||
- Kernel version: 5.10.0-5.10.0.8
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 21.09 repository built daily](http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 21.09 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Feature update
|
||||
|
||||
- Fixed: time synchronization server is set incorrectly.
|
||||
- Fixed: the baseurl of EPOL repository is wrong.
|
||||
|
||||
### 2021-10-18
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/10/18
|
||||
- Size: 1.9 GiB
|
||||
- OS version: openEuler 21.09
|
||||
- Kernel version: 5.10.0-5.10.0.8
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 21.09 repository built daily](http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 21.09 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo)
|
||||
34
documents/raspberrypi/changelog/changelog-21.09-Xfce.md
Normal file
@ -0,0 +1,34 @@
|
||||
## Feature Release Log of openEuler 21.09 Alpha Version (with Xfce desktop environment and Chinese input method)
|
||||
|
||||
[English](./changelog-21.09-Xfce.en.md) | 简体中文
|
||||
|
||||
### 2022-01-07
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2022/01/07
|
||||
- 大小:1.9 GiB
|
||||
- 操作系统版本:openEuler 21.09
|
||||
- 内核版本:5.10.0-5.10.0.8
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 21.09 每日构建的源仓库](http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 21.09 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 功能改动
|
||||
|
||||
- 修复:时钟同步服务器设置错误。
|
||||
- 修复:EPOL 软件源地址错误。
|
||||
|
||||
### 2021-10-18
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/10/18
|
||||
- 大小:1.9 GiB
|
||||
- 操作系统版本:openEuler 21.09
|
||||
- 内核版本:5.10.0-5.10.0.8
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 21.09 每日构建的源仓库](http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 21.09 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo)
|
||||
34
documents/raspberrypi/changelog/changelog-21.09.en.md
Normal file
@ -0,0 +1,34 @@
|
||||
## Feature Release Log of openEuler 21.09 Alpha Version
|
||||
|
||||
English | [简体中文](./changelog-21.09.md)
|
||||
|
||||
### 2022-01-07
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2022/01/07
|
||||
- Size: 241 MiB
|
||||
- OS version: openEuler 21.09
|
||||
- Kernel version: 5.10.0-5.10.0.8
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 21.09 repository built daily](http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 21.09 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo)
|
||||
|
||||
#### Updates
|
||||
|
||||
##### Feature update
|
||||
|
||||
- Fixed: time synchronization server is set incorrectly.
|
||||
- Fixed: the baseurl of EPOL repository is wrong.
|
||||
|
||||
### 2021-10-18
|
||||
|
||||
#### Basic information
|
||||
|
||||
- Release date: 2021/10/18
|
||||
- Size: 242 MiB
|
||||
- OS version: openEuler 21.09
|
||||
- Kernel version: 5.10.0-5.10.0.8
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- Repository of rootfs: [openEuler 21.09 repository built daily](http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/)
|
||||
- Repository inside the image: [openEuler 21.09 repository](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo)
|
||||
34
documents/raspberrypi/changelog/changelog-21.09.md
Normal file
@ -0,0 +1,34 @@
|
||||
## Feature Release Log of openEuler 21.09 Alpha Version
|
||||
|
||||
[English](./changelog-21.09.en.md) | 简体中文
|
||||
|
||||
### 2022-01-07
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2022/01/07
|
||||
- 大小:241 MiB
|
||||
- 操作系统版本:openEuler 21.09
|
||||
- 内核版本:5.10.0-5.10.0.8
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 21.09 每日构建的源仓库](http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 21.09 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo)
|
||||
|
||||
#### 更新说明
|
||||
|
||||
##### 功能改动
|
||||
|
||||
- 修复:时钟同步服务器设置错误。
|
||||
- 修复:EPOL 软件源地址错误。
|
||||
|
||||
### 2021-10-18
|
||||
|
||||
#### 基本信息
|
||||
|
||||
- 发布时间:2021/10/18
|
||||
- 大小:242 MiB
|
||||
- 操作系统版本:openEuler 21.09
|
||||
- 内核版本:5.10.0-5.10.0.8
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
- 构建文件系统的源仓库:[openEuler 21.09 每日构建的源仓库](http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/)
|
||||
- 镜像内置源仓库:[openEuler 21.09 源仓库](https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo)
|
||||
830
documents/raspberrypi/images.en.md
Normal file
@ -0,0 +1,830 @@
|
||||
## images
|
||||
|
||||
English | [简体中文](./images.md)
|
||||
|
||||
Basic information of the image is as follows:
|
||||
|
||||
<table><thead align="left"><tr>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>Version</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>System user(password)</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>Change log</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>Release date</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>Size</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>Kernel version</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>Repository of rootfs</strong></p></th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.09-raspi-aarch64-alpha1.img.xz">openEuler 24.09 alpha1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/10/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>271 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-45.0.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.09-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 24.09 alpha1 (UKUI desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/10/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.6 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-45.0.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.09-DDE-raspi-aarch64-alpha1.img.xz">openEuler 24.09 alpha1 (DDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/10/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.7 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-45.0.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.09-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 24.09 alpha1 (Xfce desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/10/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2.2 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-45.0.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.09-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 24.09 alpha1 (EFI boot)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/10/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>298 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-46.0.0.10</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-24.09/raspi_img/openEuler-24.09-raspi-aarch64.img.xz">openEuler 24.09</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/09/29</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>268 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-45.0.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP4-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP4 alpha1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/07/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>235 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-209.0.0.21</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP4-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP4 alpha1 (UKUI desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/07/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.5 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-209.0.0.21</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP4-DDE-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP4 alpha1 (DDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/07/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.4 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-209.0.0.21</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP4-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP4 alpha1 (Xfce desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/07/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2.0 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-209.0.0.21</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP4-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP4 alpha1 (EFI boot)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/07/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>255 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-217.0.0.22</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-22.03-LTS-SP4/raspi_img/openEuler-22.03-LTS-SP4-raspi-aarch64.img.xz">openEuler 22.03 LTS SP4</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/29</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>229 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-209.0.0.21</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.03-LTS-raspi-aarch64-alpha1.img.xz">openEuler 24.03 LTS alpha1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>214 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-26.0.0.4</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.03-LTS-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 24.03 LTS alpha1 (UKUI desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.6 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-26.0.0.4</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.03-LTS-DDE-raspi-aarch64-alpha1.img.xz">openEuler 24.03 LTS alpha1 (DDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.7 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-26.0.0.4</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.03-LTS-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 24.03 LTS alpha1 (Xfce desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2.2 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-26.0.0.4</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.03-LTS-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 24.03 LTS alpha1 (EFI boot)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>330 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-30.0.0.6</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-24.03-LTS/raspi_img/openEuler-24.03-LTS-raspi-aarch64.img.xz">openEuler 24.03 LTS</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/04</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>244 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-26.0.0.4</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP3-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP3 alpha1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/01/08</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>236 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-182.0.0.19</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP3/generic.repo">openEuler 22.03 LTS SP3 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP3-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP3 alpha1 (UKUI desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/01/08</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.5 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-182.0.0.19</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP3/generic.repo">openEuler 22.03 LTS SP3 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP3-DDE-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP3 alpha1 (DDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/01/08</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.5 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-182.0.0.19</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP3/generic.repo">openEuler 22.03 LTS SP3 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP3-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP3 alpha1 (Xfce desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/01/08</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2.1 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-182.0.0.19</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP3/generic.repo">openEuler 22.03 LTS SP3 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP3-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP3 alpha1 (EFI boot)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/01/08</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>257 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-182.0.0.20</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP3/generic.repo">openEuler 22.03 LTS SP3 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-22.03-LTS-SP3/raspi_img/openEuler-22.03-LTS-SP3-raspi-aarch64.img.xz">openEuler 22.03 LTS SP3</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/01/02</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>229 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-182.0.0.19</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP3/generic.repo">openEuler 22.03 LTS SP3 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://eulixos.com/repo/others/openeuler-raspberrypi/images/openEuler-23.09-raspi-aarch64.img.xz">openEuler 23.09 alpha1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/12/25</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>244 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.4.0-10.1.0.1</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-23.09/generic.repo">openEuler 23.09 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP2-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP2 alpha1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/11/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>253 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-153.12.0.17</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP2/generic.repo">openEuler 22.03 LTS SP2 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP2-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP2 alpha1 (UKUI desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/11/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.5 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-153.12.0.17</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP2/generic.repo">openEuler 22.03 LTS SP2 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP2-DDE-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP2 alpha1 (DDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/11/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.4 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-153.12.0.17</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP2/generic.repo">openEuler 22.03 LTS SP2 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP2-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP2 alpha1 (Xfce desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/11/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2.1 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-153.12.0.17</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP2/generic.repo">openEuler 22.03 LTS SP2 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP2-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP2 alpha1 (EFI boot)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/11/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>274 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-153.12.0.18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP2/generic.repo">openEuler 22.03 LTS SP2 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-22.03-LTS-SP2/raspi_img/openEuler-22.03-LTS-SP2-raspi-aarch64.img.xz">openEuler 22.03 LTS SP2</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/06/30</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>228 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-153.12.0.17</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP2/generic.repo">openEuler 22.03 LTS SP2 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-23.03-raspi-aarch64-alpha1.img.xz">openEuler 23.03 alpha1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/04/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>231 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.1.19-1.0.0.2</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-23.03/generic.repo">openEuler 23.03 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-23.03-raspi-aarch64-alpha1.img.xz">openEuler 23.03 alpha1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/04/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>231 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.1.19-1.0.0.2</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-23.03/generic.repo">openEuler 23.03 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-23.03-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 23.03 alpha1 (UKUI desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/04/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.5 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.1.19-1.0.0.2</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-23.03/generic.repo">openEuler 23.03 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-23.03-DDE-raspi-aarch64-alpha2.img.xz">openEuler 23.03 alpha2 (DDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/04/09</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.6 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.1.19-1.0.0.2</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-23.03/generic.repo">openEuler 23.03 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-23.03-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 23.03 alpha1 (Xfce desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/04/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2.1 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.1.19-1.0.0.2</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-23.03/generic.repo">openEuler 23.03 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-23.03-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 23.03 alpha1 (EFI boot)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/04/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>333 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.1.19-1.0.0.3</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-23.03/generic.repo">openEuler 23.03 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-23.03/raspi_img/openEuler-23.03-raspi-aarch64.img.xz">openEuler 23.03</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/03/30</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>223 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.1.19-1.0.0.2</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-23.03/generic.repo">openEuler 23.03 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP1-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP1 alpha1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/01/09</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>240 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-136.12.0.18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP1/generic.repo">openEuler 22.03 LTS SP1 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP1-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP1 alpha1 (UKUI desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/01/09</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.3 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-136.12.0.18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP1/generic.repo">openEuler 22.03 LTS SP1 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP1-DDE-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP1 alpha1 (DDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/01/09</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.3 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-136.12.0.18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP1/generic.repo">openEuler 22.03 LTS SP1 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP1-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP1 alpha1 (Xfce desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/01/09</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2.1 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-136.12.0.18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP1/generic.repo">openEuler 22.03 LTS SP1 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP1-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP1 alpha1 (EFI boot)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/01/09</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>266 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-136.12.0.19</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP1/generic.repo">openEuler 22.03 LTS SP1 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-22.03-LTS-SP1/raspi_img/openEuler-22.03-LTS-SP1-raspi-aarch64.img.xz">openEuler 22.03 LTS SP1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/12/29</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>234 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-136.12.0.18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP1/generic.repo">openEuler 22.03 LTS SP1 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.09-raspi-aarch64-alpha1.img.xz">openEuler 22.09 alpha1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/10/28</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>237 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-106.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.09/standard_aarch64/aarch64/">openEuler 22.09 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.09-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 22.09 alpha1 (UKUI desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/10/28</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.4 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-106.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.09/standard_aarch64/aarch64/">openEuler 22.09 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.09-DDE-raspi-aarch64-alpha1.img.xz">openEuler 22.09 alpha1 (DDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/10/28</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.3 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-106.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.09/standard_aarch64/aarch64/">openEuler 22.09 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.09-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 22.09 alpha1 (Xfce desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/10/28</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-106.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.09/standard_aarch64/aarch64/">openEuler 22.09 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.09-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 22.09 alpha1 (EFI boot)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/10/28</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>259 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-106.18.0.14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.09/standard_aarch64/aarch64/">openEuler 22.09 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-22.09/raspi_img/openEuler-22.09-raspi-aarch64.img.xz">openEuler 22.09</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/09/30</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>237 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-106.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-22.09/generic.repo">openEuler 22.09 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS alpha1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/04/11</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>234 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-60.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.03:/LTS/standard_aarch64/aarch64/">openEuler 22.03 LTS repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS alpha1 (UKUI desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/04/11</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.3 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-60.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.03:/LTS/standard_aarch64/aarch64/">openEuler 22.03 LTS repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-DDE-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS alpha1 (DDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/04/11</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.2 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-60.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.03:/LTS/standard_aarch64/aarch64/">openEuler 22.03 LTS repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS alpha1 (Xfce desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/04/11</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.8 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-60.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.03:/LTS/standard_aarch64/aarch64/">openEuler 22.03 LTS repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-LXDE-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS alpha1 (LXDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/04/11</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>655 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-60.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.03:/LTS/standard_aarch64/aarch64/">openEuler 22.03 LTS repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS alpha1 (EFI boot)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/04/12</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>568 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-60.18.0.14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.03:/LTS/standard_aarch64/aarch64/">openEuler 22.03 LTS repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-22.03-LTS/raspi_img/openEuler-22.03-LTS-raspi-aarch64.img.xz">openEuler 22.03 LTS</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>root (openeuler)</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/04/01</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>235 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-60.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS/generic.repo">openEuler 22.03 LTS repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP3-raspi-aarch64-alpha1.img.xz">openEuler 20.03 LTS SP3 alpha1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/01/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>234 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2112.6.0.0037</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP3/standard_aarch64/aarch64/">openEuler 20.03 LTS SP3 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP3-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 20.03 LTS SP3 alpha1 (UKUI desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/01/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.1 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2112.6.0.0037</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP3/standard_aarch64/aarch64/">openEuler 20.03 LTS SP3 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP3-DDE-raspi-aarch64-alpha1.img.xz">openEuler 20.03 LTS SP3 alpha1 (DDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/01/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.4 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2112.6.0.0037</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP3/standard_aarch64/aarch64/">openEuler 20.03 LTS SP3 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP3-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 20.03 LTS SP3 alpha1 (Xfce desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/01/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.8 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2112.6.0.0037</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP3/standard_aarch64/aarch64/">openEuler 20.03 LTS SP3 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-20.03-LTS-SP3/raspi_img/openEuler-20.03-LTS-SP3-raspi-aarch64.img.xz">openEuler 20.03 LTS SP3</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>root (openeuler)</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/01/01</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>259 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2112.6.0.0037</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP3/generic.repo">openEuler 20.03 LTS SP3 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.09-raspi-aarch64-alpha2.img.xz">openEuler 21.09 alpha2</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.09.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/01/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>241 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/">openEuler 21.09 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.09-UKUI-raspi-aarch64-alpha2.img.xz">openEuler 21.09 alpha2 (UKUI desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.09-UKUI.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/01/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.3 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/">openEuler 21.09 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.09-DDE-raspi-aarch64-alpha2.img.xz">openEuler 21.09 alpha2 (DDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.09-DDE.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/01/13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.2 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/">openEuler 21.09 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.09-Xfce-raspi-aarch64-alpha2.img.xz">openEuler 21.09 alpha2 (Xfce desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.09-Xfce.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/01/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.9 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/">openEuler 21.09 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.09-LXDE-raspi-aarch64-alpha2.img.xz">openEuler 21.09 alpha2 (LXDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.09-LXDE.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/01/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>548 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/">openEuler 21.09 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.09-raspi-aarch64-alpha1.img.xz">openEuler 21.09 alpha1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.09.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/10/18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>242 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/">openEuler 21.09 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.09-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 21.09 alpha1 (UKUI desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.09-UKUI.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/10/18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.3 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/">openEuler 21.09 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.09-DDE-raspi-aarch64-alpha1.img.xz">openEuler 21.09 alpha1 (DDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.09-DDE.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/10/18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.2 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/">openEuler 21.09 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.09-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 21.09 alpha1 (Xfce desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.09-Xfce.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/10/18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.8 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/">openEuler 21.09 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.09-LXDE-raspi-aarch64-alpha1.img.xz">openEuler 21.09 alpha1 (LXDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.09-LXDE.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/10/18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>548 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/">openEuler 21.09 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-21.09/raspi_img/openEuler-21.09-raspi-aarch64.img.xz">openEuler 21.09</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>root (openeuler)</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/09/30</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>243 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo">openEuler 21.09 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP2-raspi-aarch64-alpha1.img.xz">openEuler 20.03 LTS SP2 alpha1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-20.03-LTS-SP2.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/10/18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>258 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2109.7.0.0031</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP2/standard_aarch64/aarch64/">openEuler 20.03 LTS SP2 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP2-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 20.03 LTS SP2 alpha1 (UKUI desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-20.03-LTS-SP2-UKUI.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/10/18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.2 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2109.7.0.0031</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP2/standard_aarch64/aarch64/">openEuler 20.03 LTS SP2 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP2-DDE-raspi-aarch64-alpha1.img.xz">openEuler 20.03 LTS SP2 alpha1 (DDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-20.03-LTS-SP2-DDE.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/10/18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.2 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2109.7.0.0031</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP2/standard_aarch64/aarch64/">openEuler 20.03 LTS SP2 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP2-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 20.03 LTS SP2 alpha1 (Xfce desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-20.03-LTS-SP2-Xfce.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/10/18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.9 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2109.7.0.0031</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP2/standard_aarch64/aarch64/">openEuler 20.03 LTS SP2 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-20.03-LTS-SP2/raspi_img/openEuler-20.03-LTS-SP2-raspi-aarch64.img.xz">openEuler 20.03 LTS SP2</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>root (openeuler)</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/07/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>264 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2106.3.0.0023</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP2/generic.repo">openEuler 20.03 LTS SP2 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.03-raspi-aarch64-alpha1.img.xz">openEuler 21.03 alpha1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.03.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/04/12</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>220 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-4.18.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.03/standard_aarch64/aarch64/">openEuler 21.03 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.03-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 21.03 alpha1 (UKUI desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.03-UKUI.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/04/12</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.1 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-4.18.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.03/standard_aarch64/aarch64/">openEuler 21.03 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.03-DDE-raspi-aarch64-alpha1.img.xz">openEuler 21.03 alpha1 (DDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.03-DDE.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/04/12</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.0 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-4.18.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.03/standard_aarch64/aarch64/">openEuler 21.03 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.03-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 21.03 alpha1 (Xfce desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.03-Xfce.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/04/12</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.8 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-4.18.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.03/standard_aarch64/aarch64/">openEuler 21.03 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-21.03/raspi_img/openEuler-21.03-raspi-aarch64.img.xz">openEuler 21.03</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>root (openeuler)</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/04/01</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>237 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-4.17.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.03/generic.repo">openEuler 21.03 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP1-raspi-aarch64-alpha4.img.xz">openEuler 20.03 LTS SP1 alpha4</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-20.03-LTS-SP1.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/04/12</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>236 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2104.1.0.0017</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/">openEuler 20.03 LTS SP1 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP1-UKUI-raspi-aarch64-alpha4.img.xz">openEuler 20.03 LTS SP1 alpha4 (UKUI desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-20.03-LTS-SP1-UKUI.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/04/12</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.1 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2104.1.0.0017</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/">openEuler 20.03 LTS SP1 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP1-DDE-raspi-aarch64-alpha4.img.xz">openEuler 20.03 LTS SP1 alpha4 (DDE desktop and Chinese input method)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-20.03-LTS-SP1-DDE.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/04/12</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.1 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2104.1.0.0017</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/">openEuler 20.03 LTS SP1 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-20.03-LTS-SP1/raspi_img/aarch64/openEuler-20.03-LTS-SP1-raspi-aarch64.img.xz">openEuler 20.03 LTS SP1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>root (openeuler)</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2020/12/28</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>266 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2012.3.0.0011</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo">openEuler 20.03 LTS SP1 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.09-raspi-aarch64-alpha6.img.xz">openEuler 20.09 alpha6</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-20.09.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/04/12</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>236 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.140-2104.1.0.0010</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.09/generic.repo">openEuler 20.09 repository built daily</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.09-Xfce-raspi-aarch64-alpha6.img.xz">openEuler 20.09 alpha6 (with Xfce desktop environment)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root (openeuler)</li><li>pi (raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-20.09-Xfce.en.md">ChangeLog</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/01/19</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>903 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.138-2008.1.0.0001</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-20.09/">openEuler 20.09 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-20.09/raspi_img/aarch64/openEuler-20.09-raspi-aarch64.img.xz">openEuler 20.09</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>root (openeuler)</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2020/09/30</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>259 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.138-2008.1.0.0001</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-20.09/">openEuler 20.09 repository</a></td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
Other information:
|
||||
- Firmware source: [firmware](https://github.com/raspberrypi/firmware), [bluez-firmware](https://github.com/RPi-Distro/bluez-firmware), [firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
820
documents/raspberrypi/images.md
Normal file
@ -0,0 +1,820 @@
|
||||
## 镜像
|
||||
|
||||
[English](./images.en.md) | 简体中文
|
||||
|
||||
镜像的基本信息如下所示:
|
||||
|
||||
<table><thead align="left"><tr>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>镜像版本</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>系统用户(密码)</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>更新日志</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>发布时间</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>大小</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>内核版本</strong></p></th>
|
||||
<th class="cellrowborder" valign="top" width="10%"><p><strong>构建文件系统的源仓库</strong></p></th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.09-raspi-aarch64-alpha1.img.xz">openEuler 24.09 内测版</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/10/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>271 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-45.0.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.09-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 24.09 内测版(UKUI 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/10/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.6 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-45.0.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.09-DDE-raspi-aarch64-alpha1.img.xz">openEuler 24.09 内测版(DDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/10/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.7 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-45.0.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.09-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 24.09 内测版(Xfce 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/10/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2.2 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-45.0.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.09-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 24.09 内测版(EFI 引导启动)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/10/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>298 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-46.0.0.10</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-24.09/raspi_img/openEuler-24.09-raspi-aarch64.img.xz">openEuler 24.09</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/09/29</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>268 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-45.0.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.09/generic.repo">openEuler 24.09 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP4-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP4 内测版</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/07/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>235 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-209.0.0.21</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP4-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP4 内测版(UKUI 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/07/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.5 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-209.0.0.21</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP4-DDE-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP4 内测版(DDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/07/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.4 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-209.0.0.21</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP4-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP4 内测版(Xfce 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/07/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2.0 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-209.0.0.21</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP4-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP4 内测版(EFI 引导启动)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/07/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>255 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-217.0.0.22</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-22.03-LTS-SP4/raspi_img/openEuler-22.03-LTS-SP4-raspi-aarch64.img.xz">openEuler 22.03 LTS SP4</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/29</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>229 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-209.0.0.21</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP4/generic.repo">openEuler 22.03 LTS SP4 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.03-LTS-raspi-aarch64-alpha1.img.xz">openEuler 24.03 LTS 内测版</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>214 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-26.0.0.4</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.03-LTS-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 24.03 LTS 内测版(UKUI 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.6 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-26.0.0.4</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.03-LTS-DDE-raspi-aarch64-alpha1.img.xz">openEuler 24.03 LTS 内测版(DDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.7 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-26.0.0.4</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.03-LTS-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 24.03 LTS 内测版(Xfce 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2.2 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-26.0.0.4</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://mirror.iscas.ac.cn/eulixos/others/openeuler-raspberrypi/images/openEuler-24.03-LTS-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 24.03 LTS 内测版(EFI 引导启动)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/24</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>330 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-30.0.0.6</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-24.03-LTS/raspi_img/openEuler-24.03-LTS-raspi-aarch64.img.xz">openEuler 24.03 LTS</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/06/04</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>244 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.6.0-26.0.0.4</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-24.03-LTS/generic.repo">openEuler 24.03 LTS 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP3-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP3 内测版</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/01/08</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>236 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-182.0.0.19</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP3/generic.repo">openEuler 22.03 LTS SP3 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP3-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP3 内测版(UKUI 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/01/08</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.5 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-182.0.0.19</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP3/generic.repo">openEuler 22.03 LTS SP3 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP3-DDE-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP3 内测版(DDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/01/08</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.5 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-182.0.0.19</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP3/generic.repo">openEuler 22.03 LTS SP3 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP3-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP3 内测版(Xfce 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/01/08</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2.1 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-182.0.0.19</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP3/generic.repo">openEuler 22.03 LTS SP3 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP3-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP3 内测版(EFI 引导启动)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/01/08</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>257 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-182.0.0.20</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP3/generic.repo">openEuler 22.03 LTS SP3 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-22.03-LTS-SP3/raspi_img/openEuler-22.03-LTS-SP3-raspi-aarch64.img.xz">openEuler 22.03 LTS SP3</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2024/01/02</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>229 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-182.0.0.19</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP3/generic.repo">openEuler 22.03 LTS SP3 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://eulixos.com/repo/others/openeuler-raspberrypi/images/openEuler-23.09-raspi-aarch64.img.xz">openEuler 23.09 内测版</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/12/25</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>244 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.4.0-10.1.0.1</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-23.09/generic.repo">openEuler 23.09 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP2-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP2 内测版</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/11/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>253 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-153.12.0.17</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP2/generic.repo">openEuler 22.03 LTS SP2 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP2-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP2 内测版(UKUI 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/11/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.5 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-153.12.0.17</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP2/generic.repo">openEuler 22.03 LTS SP2 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP2-DDE-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP2 内测版(DDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/11/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.4 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-153.12.0.17</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP2/generic.repo">openEuler 22.03 LTS SP2 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP2-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP2 内测版(Xfce 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/11/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2.1 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-153.12.0.17</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP2/generic.repo">openEuler 22.03 LTS SP2 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP2-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP2 内测版(EFI 引导启动)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/11/06</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>274 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-153.12.0.18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP2/generic.repo">openEuler 22.03 LTS SP2 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-22.03-LTS-SP2/raspi_img/openEuler-22.03-LTS-SP2-raspi-aarch64.img.xz">openEuler 22.03 LTS SP2</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/06/30</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>228 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-153.12.0.17</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP2/generic.repo">openEuler 22.03 LTS SP2 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-23.03-raspi-aarch64-alpha1.img.xz">openEuler 23.03 内测版</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/04/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>231 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.1.19-1.0.0.2</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-23.03/generic.repo">openEuler 23.03 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-23.03-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 23.03 内测版(UKUI 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/04/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.5 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.1.19-1.0.0.2</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-23.03/generic.repo">openEuler 23.03 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-23.03-DDE-raspi-aarch64-alpha2.img.xz">openEuler 23.03 内测版(DDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/04/09</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.6 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.1.19-1.0.0.2</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-23.03/generic.repo">openEuler 23.03 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-23.03-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 23.03 内测版(Xfce 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/04/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2.1 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.1.19-1.0.0.2</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-23.03/generic.repo">openEuler 23.03 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-23.03-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 23.03 内测版(EFI 引导启动)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/04/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>333 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.1.19-1.0.0.3</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-23.03/generic.repo">openEuler 23.03 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-23.03/raspi_img/openEuler-23.03-raspi-aarch64.img.xz">openEuler 23.03</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/03/30</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>223 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>6.1.19-1.0.0.2</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-23.03/generic.repo">openEuler 23.03 repository</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP1-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP1 内测版</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/01/09</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>240 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-136.12.0.18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP1/generic.repo">openEuler 22.03 LTS SP1 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP1-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP1 内测版(UKUI 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/01/09</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.3 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-136.12.0.18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP1/generic.repo">openEuler 22.03 LTS SP1 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP1-DDE-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP1 内测版(DDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/01/09</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.3 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-136.12.0.18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP1/generic.repo">openEuler 22.03 LTS SP1 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP1-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP1 内测版(Xfce 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/01/09</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2.1 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-136.12.0.18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP1/generic.repo">openEuler 22.03 LTS SP1 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-SP1-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS SP1 内测版(EFI 引导启动)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2023/01/09</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>266 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-136.12.0.19</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP1/generic.repo">openEuler 22.03 LTS SP1 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-22.03-LTS-SP1/raspi_img/openEuler-22.03-LTS-SP1-raspi-aarch64.img.xz">openEuler 22.03 LTS SP1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/12/29</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>234 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-136.12.0.18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS-SP1/generic.repo">openEuler 22.03 LTS SP1 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.09-raspi-aarch64-alpha1.img.xz">openEuler 22.09 内测版</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/10/28</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>237 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-106.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.09/standard_aarch64/aarch64/">openEuler 22.09 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.09-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 22.09 内测版(UKUI 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/10/28</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.4 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-106.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.09/standard_aarch64/aarch64/">openEuler 22.09 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.09-DDE-raspi-aarch64-alpha1.img.xz">openEuler 22.09 内测版(DDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/10/28</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.3 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-106.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.09/standard_aarch64/aarch64/">openEuler 22.09 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.09-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 22.09 内测版(Xfce 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/10/28</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-106.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.09/standard_aarch64/aarch64/">openEuler 22.09 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.09-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 22.09 内测版(EFI 引导启动)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/10/28</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>259 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-106.18.0.14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.09/standard_aarch64/aarch64/">openEuler 22.09 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-22.09/raspi_img/openEuler-22.09-raspi-aarch64.img.xz">openEuler 22.09</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/09/30</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>237 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-106.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-22.09/generic.repo">openEuler 22.09 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS 内测版</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/04/11</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>234 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-60.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.03:/LTS/standard_aarch64/aarch64/">openEuler 22.03 LTS 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS 内测版(UKUI 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/04/11</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.3 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-60.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.03:/LTS/standard_aarch64/aarch64/">openEuler 22.03 LTS 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-DDE-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS 内测版(DDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/04/11</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.2 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-60.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.03:/LTS/standard_aarch64/aarch64/">openEuler 22.03 LTS 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS 内测版(Xfce 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/04/11</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.8 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-60.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.03:/LTS/standard_aarch64/aarch64/">openEuler 22.03 LTS 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-LXDE-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS 内测版(LXDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/04/11</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>655 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-60.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.03:/LTS/standard_aarch64/aarch64/">openEuler 22.03 LTS 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-22.03-LTS-UEFI-raspi-aarch64-alpha1.img.xz">openEuler 22.03 LTS 内测版(EFI 引导启动)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/04/12</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>568 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-60.18.0.14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/22.03:/LTS/standard_aarch64/aarch64/">openEuler 22.03 LTS 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-22.03-LTS/raspi_img/openEuler-22.03-LTS-raspi-aarch64.img.xz">openEuler 22.03 LTS</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>root(openeuler)</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/04/01</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>235 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-60.18.0.13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-22.03-LTS/generic.repo">openEuler 22.03 LTS 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP3-raspi-aarch64-alpha1.img.xz">openEuler 20.03 LTS SP3 内测版</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/01/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>234 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2112.6.0.0037</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP3/standard_aarch64/aarch64/">openEuler 20.03 LTS SP3 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP3-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 20.03 LTS SP3 内测版(UKUI 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/01/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.1 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2112.6.0.0037</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP3/standard_aarch64/aarch64/">openEuler 20.03 LTS SP3 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP3-DDE-raspi-aarch64-alpha1.img.xz">openEuler 20.03 LTS SP3 内测版(DDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/01/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.4 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2112.6.0.0037</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP3/standard_aarch64/aarch64/">openEuler 20.03 LTS SP3 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP3-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 20.03 LTS SP3 内测版(Xfce 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/01/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.8 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2112.6.0.0037</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP3/standard_aarch64/aarch64/">openEuler 20.03 LTS SP3 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-20.03-LTS-SP3/raspi_img/openEuler-20.03-LTS-SP3-raspi-aarch64.img.xz">openEuler 20.03 LTS SP3</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>root(openeuler)</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/01/01</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>259 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2112.6.0.0037</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP3/generic.repo">openEuler 20.03 LTS SP3 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.09-raspi-aarch64-alpha2.img.xz">openEuler 21.09 内测版</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.09.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/01/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>241 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/">openEuler 21.09 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.09-UKUI-raspi-aarch64-alpha2.img.xz">openEuler 21.09 内测版(UKUI 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog-21.09-UKUI.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/01/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.3 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/">openEuler 21.09 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.09-DDE-raspi-aarch64-alpha2.img.xz">openEuler 21.09 内测版(DDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.09-DDE.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/01/13</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.2 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/">openEuler 21.09 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.09-Xfce-raspi-aarch64-alpha2.img.xz">openEuler 21.09 内测版(Xfce 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.09-Xfce.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/01/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.9 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/">openEuler 21.09 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.09-LXDE-raspi-aarch64-alpha2.img.xz">openEuler 21.09 内测版(LXDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.09-LXDE.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2022/01/07</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>548 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/">openEuler 21.09 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.09-raspi-aarch64-alpha1.img.xz">openEuler 21.09 内测版</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.09.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/10/18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>242 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/">openEuler 21.09 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.09-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 21.09 内测版(UKUI 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.09-UKUI.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/10/18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.3 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/">openEuler 21.09 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.09-DDE-raspi-aarch64-alpha1.img.xz">openEuler 21.09 内测版(DDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.09-DDE.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/10/18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.2 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/">openEuler 21.09 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.09-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 21.09 内测版(Xfce 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.09-Xfce.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/10/18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.8 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/">openEuler 21.09 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.09-LXDE-raspi-aarch64-alpha1.img.xz">openEuler 21.09 内测版(LXDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.09-LXDE.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/10/18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>548 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.09/standard_aarch64/aarch64/">openEuler 21.09 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-21.09/raspi_img/openEuler-21.09-raspi-aarch64.img.xz">openEuler 21.09</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>root(openeuler)</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/09/30</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>243 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-5.10.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.09/generic.repo">openEuler 21.09 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP2-raspi-aarch64-alpha1.img.xz">openEuler 20.03 LTS SP2 内测版</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-20.03-LTS-SP2.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/10/18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>258 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2109.7.0.0031</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP2/standard_aarch64/aarch64/">openEuler 20.03 LTS SP2 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP2-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 20.03 LTS SP2 内测版(UKUI 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-20.03-LTS-SP2-UKUI.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/10/18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.2 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2109.7.0.0031</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP2/standard_aarch64/aarch64/">openEuler 20.03 LTS SP2 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP2-DDE-raspi-aarch64-alpha1.img.xz">openEuler 20.03 LTS SP2 内测版(DDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-20.03-LTS-SP2-DDE.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/10/18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.2 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2109.7.0.0031</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP2/standard_aarch64/aarch64/">openEuler 20.03 LTS SP2 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP2-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 20.03 LTS SP2 内测版(Xfce 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-20.03-LTS-SP2-Xfce.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/10/18</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.9 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2109.7.0.0031</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP2/standard_aarch64/aarch64/">openEuler 20.03 LTS SP2 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-20.03-LTS-SP2/raspi_img/openEuler-20.03-LTS-SP2-raspi-aarch64.img.xz">openEuler 20.03 LTS SP2</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>root(openeuler)</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/07/14</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>264 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2106.3.0.0023</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP2/generic.repo">openEuler 20.03 LTS SP2 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.03-raspi-aarch64-alpha1.img.xz">openEuler 21.03 内测版</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.03.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/04/12</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>220 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-4.18.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.03/standard_aarch64/aarch64/">openEuler 21.03 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.03-UKUI-raspi-aarch64-alpha1.img.xz">openEuler 21.03 内测版(UKUI 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.03-UKUI.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/04/12</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.1 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-4.18.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.03/standard_aarch64/aarch64/">openEuler 21.03 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.03-DDE-raspi-aarch64-alpha1.img.xz">openEuler 21.03 内测版(DDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.03-DDE.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/04/12</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.0 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-4.18.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.03/standard_aarch64/aarch64/">openEuler 21.03 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-21.03-Xfce-raspi-aarch64-alpha1.img.xz">openEuler 21.03 内测版(Xfce 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-21.03-Xfce.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/04/12</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.8 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-4.18.0.9</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/21.03/standard_aarch64/aarch64/">openEuler 21.03 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-21.03/raspi_img/openEuler-21.03-raspi-aarch64.img.xz">openEuler 21.03</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>root(openeuler)</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/04/01</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>237 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>5.10.0-4.17.0.8</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.03/generic.repo">openEuler 21.03 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP1-raspi-aarch64-alpha4.img.xz">openEuler 20.03 LTS SP1 内测版</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-20.03-LTS-SP1.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/04/12</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>236 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2104.1.0.0017</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/">openEuler 20.03 LTS SP1 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP1-UKUI-raspi-aarch64-alpha4.img.xz">openEuler 20.03 LTS SP1 内测版(UKUI 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-20.03-LTS-SP1-UKUI.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/04/12</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.1 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2104.1.0.0017</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/">openEuler 20.03 LTS SP1 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.03-LTS-SP1-DDE-raspi-aarch64-alpha4.img.xz">openEuler 20.03 LTS SP1 内测版(DDE 桌面、中文输入法)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-20.03-LTS-SP1-DDE.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/04/12</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>1.1 GiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2104.1.0.0017</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="http://119.3.219.20:82/openEuler:/20.03:/LTS:/SP1/standard_aarch64/aarch64/">openEuler 20.03 LTS SP1 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-20.03-LTS-SP1/raspi_img/aarch64/openEuler-20.03-LTS-SP1-raspi-aarch64.img.xz">openEuler 20.03 LTS SP1</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>root(openeuler)</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2020/12/28</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>266 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.90-2012.3.0.0011</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo">openEuler 20.03 LTS SP1 源仓库</a></td>
|
||||
</tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.09-raspi-aarch64-alpha6.img.xz">openEuler 20.09 内测版</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-20.09.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/04/12</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>236 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.140-2104.1.0.0010</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.09/generic.repo">openEuler 20.09 每日构建源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://isrc.iscas.ac.cn/eulixos/repo/others/openeuler-raspberrypi/images/openEuler-20.09-Xfce-raspi-aarch64-alpha6.img.xz">openEuler 20.09 内测版(包含 Xfce 桌面环境)</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><ul><li>root(openeuler)</li><li>pi(raspberry)</li></ul></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="changelog/changelog-20.09-Xfce.md">更新日志</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2021/01/19</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>903 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.138-2008.1.0.0001</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-20.09">openEuler 20.09 源仓库</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-20.09/raspi_img/aarch64/openEuler-20.09-raspi-aarch64.img.xz">openEuler 20.09</a></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>root(openeuler)</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>-</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>2020/09/30</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>259 MiB</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><p>4.19.138-2008.1.0.0001</p></td>
|
||||
<td class="cellrowborder" valign="top" width="10%"><a href="https://repo.openeuler.org/openEuler-20.09/">openEuler 20.09 源仓库</a></td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
其他信息:
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
BIN
documents/raspberrypi/images/GPIO针脚.png
Normal file
|
After Width: | Height: | Size: 202 KiB |
BIN
documents/raspberrypi/images/QEMU启动树莓派.png
Normal file
|
After Width: | Height: | Size: 113 KiB |
BIN
documents/raspberrypi/images/QEMU实验环境.png
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
documents/raspberrypi/images/UART连接.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
documents/raspberrypi/images/UART连接PC.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
documents/raspberrypi/images/WiringPi.png
Normal file
|
After Width: | Height: | Size: 110 KiB |
BIN
documents/raspberrypi/images/串口输出.jpg
Normal file
|
After Width: | Height: | Size: 161 KiB |
BIN
documents/raspberrypi/images/串口输出.png
Normal file
|
After Width: | Height: | Size: 368 KiB |
BIN
documents/raspberrypi/images/写入SD.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
documents/raspberrypi/images/分区扩容.png
Normal file
|
After Width: | Height: | Size: 161 KiB |
BIN
documents/raspberrypi/images/格式化后盘.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
documents/raspberrypi/images/登录树莓派.png
Normal file
|
After Width: | Height: | Size: 87 KiB |
BIN
documents/raspberrypi/images/盘符.jpg
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
documents/raspberrypi/images/获取IP.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
documents/raspberrypi/images/验证内核.jpg
Normal file
|
After Width: | Height: | Size: 56 KiB |
560
documents/raspberrypi/openEuler镜像的构建.md
Normal file
@ -0,0 +1,560 @@
|
||||
<!-- TOC -->
|
||||
|
||||
- [环境需求](#环境需求)
|
||||
- [树莓派相关](#树莓派相关)
|
||||
- [编译内核](#编译内核)
|
||||
- [准备环境](#准备环境)
|
||||
- [下载源码](#下载源码)
|
||||
- [进入内核目录](#进入内核目录)
|
||||
- [切换分支](#切换分支)
|
||||
- [载入默认配置](#载入默认配置)
|
||||
- [编译](#编译)
|
||||
- [创建编译内核模块目录](#创建编译内核模块目录)
|
||||
- [编译内核模块](#编译内核模块)
|
||||
- [收集编译结果](#收集编译结果)
|
||||
- [配置引导](#配置引导)
|
||||
- [下载引导](#下载引导)
|
||||
- [进入引导目录](#进入引导目录)
|
||||
- [删除没有必要的文件](#删除没有必要的文件)
|
||||
- [添加cmdline.txt](#添加cmdlinetxt)
|
||||
- [boot 内容完善](#boot-内容完善)
|
||||
- [将内核放进引导](#将内核放进引导)
|
||||
- [将设备树文件放进引导](#将设备树文件放进引导)
|
||||
- [树莓派固件和应用](#树莓派固件和应用)
|
||||
- [下载固件和应用](#下载固件和应用)
|
||||
- [制作 openEuler 的 rootfs](#制作-openeuler-的-rootfs)
|
||||
- [创建 RPM 数据库](#创建-rpm-数据库)
|
||||
- [下载安装 openEuler 发布包](#下载安装-openeuler-发布包)
|
||||
- [安装 yum](#安装-yum)
|
||||
- [添加 yum 源](#添加-yum-源)
|
||||
- [安装 dnf](#安装-dnf)
|
||||
- [安装必要软件](#安装必要软件)
|
||||
- [添加配置文件](#添加配置文件)
|
||||
- [添加 hosts](#添加-hosts)
|
||||
- [网络相关](#网络相关)
|
||||
- [rootfs 内容完善](#rootfs-内容完善)
|
||||
- [将固件放进 rootfs](#将固件放进-rootfs)
|
||||
- [将内核模块放进rootfs](#将内核模块放进rootfs)
|
||||
- [rootfs设置](#rootfs设置)
|
||||
- [制作镜像](#制作镜像)
|
||||
- [生成镜像并分区挂载](#生成镜像并分区挂载)
|
||||
- [计算镜像大小](#计算镜像大小)
|
||||
- [创建空镜像](#创建空镜像)
|
||||
- [镜像分区](#镜像分区)
|
||||
- [使用 losetup 将磁盘镜像文件虚拟成块设备](#使用-losetup-将磁盘镜像文件虚拟成块设备)
|
||||
- [使用 kpartx 创建分区表 /dev/loop0 的设备映射](#使用-kpartx-创建分区表-devloop0-的设备映射)
|
||||
- [格式化分区](#格式化分区)
|
||||
- [创建要挂载的根目录和 boot 分区路径](#创建要挂载的根目录和-boot-分区路径)
|
||||
- [挂载根目录和 boot 分区](#挂载根目录和-boot-分区)
|
||||
- [获取生成的 img 镜像的 blkid](#获取生成的-img-镜像的-blkid)
|
||||
- [修改 fstab](#修改-fstab)
|
||||
- [rootfs 拷贝到镜像](#rootfs-拷贝到镜像)
|
||||
- [boot 引导拷贝到镜像](#boot-引导拷贝到镜像)
|
||||
- [卸载镜像](#卸载镜像)
|
||||
- [同步到盘](#同步到盘)
|
||||
- [卸载](#卸载)
|
||||
- [卸载镜像文件虚拟的块设备](#卸载镜像文件虚拟的块设备)
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
> **说明:**
|
||||
>如需根据自身需求定制镜像,可参考本文档。
|
||||
|
||||
# 环境需求
|
||||
|
||||
- 操作系统:openEuler 或 Centos 7/8;
|
||||
- 架构:AArch64;
|
||||
- 硬盘存储不低于 50G;
|
||||
- 内存不低于 2G;
|
||||
- 可访问外网。
|
||||
|
||||
可以通过以下方式获取 AArch64 架构的运行环境:
|
||||
|
||||
- 使用 AArch64 架构的主机,例如树莓派
|
||||
- 使用 [QEMU](https://www.qemu.org/) 模拟器搭建 AArch64 运行环境
|
||||
|
||||
# 树莓派相关
|
||||
|
||||
操作目录:${WORKDIR}
|
||||
|
||||
## 编译内核
|
||||
|
||||
### 准备环境
|
||||
|
||||
- 操作系统:openEuler 或 CentOS 7/8
|
||||
- 架构:AArch64
|
||||
|
||||
除了使用 AArch64 架构的 openEuler 或 CentOS 7/8 运行环境,也可以采用交叉编译的方式编译内核,文档详见 [交叉编译内核](./交叉编译内核.md)。这里,我们在 AArch64 架构的服务器上编译内核。
|
||||
|
||||
### 下载源码
|
||||
|
||||
根据内核不同版本,需要下载不同仓库的不同分支:
|
||||
|
||||
1. 6.6 内核
|
||||
|
||||
- openEuler 24.09:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b OLK-6.6 && cd raspberrypi-kernel`
|
||||
- openEuler 24.03 LTS:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b OLK-6.6 && cd raspberrypi-kernel`
|
||||
|
||||
2. 6.1 内核
|
||||
|
||||
- openEuler 23.03:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-23.03 && cd raspberrypi-kernel`
|
||||
|
||||
3. 5.10 内核
|
||||
|
||||
- openEuler 22.03 LTS SP4:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b OLK-5.10 && cd raspberrypi-kernel`
|
||||
- openEuler 22.03 LTS SP3:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b OLK-5.10 && cd raspberrypi-kernel`
|
||||
- openEuler 22.03 LTS SP2:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-22.03-LTS-SP2 && cd raspberrypi-kernel`
|
||||
- openEuler 22.03 LTS SP1:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-22.03-LTS-SP1 && cd raspberrypi-kernel`
|
||||
- openEuler 22.09:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-22.09 && cd raspberrypi-kernel`
|
||||
- openEuler 22.03 LTS:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-22.03-LTS && cd raspberrypi-kernel`
|
||||
- openEuler 21.09:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-21.09 && cd raspberrypi-kernel`
|
||||
- openEuler 21.03:`git clone git@gitee.com:openeuler/kernel.git -b openEuler-21.03 && cd kernel`
|
||||
|
||||
4. 4.19 内核
|
||||
|
||||
- openEuler 20.03 LTS:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-20.03-LTS && cd raspberrypi-kernel`
|
||||
- openEuler 20.09:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-20.09 && cd raspberrypi-kernel`
|
||||
|
||||
下面编译时可能还需要 bison、flex、build-essential 等,根据提示安装即可。
|
||||
|
||||
### 载入默认配置
|
||||
|
||||
根据内核不同版本,需要载入不同的默认配置:
|
||||
|
||||
1. 6.6 内核
|
||||
|
||||
- openEuler 24.09:`make bcm2711_defconfig`
|
||||
- openEuler 24.03 LTS:`make bcm2711_defconfig`
|
||||
|
||||
2. 6.1 内核
|
||||
|
||||
- openEuler 23.03:`make bcm2711_defconfig`
|
||||
|
||||
3. 5.10 内核
|
||||
|
||||
- openEuler 22.03 LTS SP4:`make bcm2711_defconfig`
|
||||
- openEuler 22.03 LTS SP3:`make bcm2711_defconfig`
|
||||
- openEuler 22.03 LTS SP2:`make bcm2711_defconfig`
|
||||
- openEuler 22.03 LTS SP1:`make bcm2711_defconfig`
|
||||
- openEuler 22.09:`make bcm2711_defconfig`
|
||||
- openEuler 22.03 LTS:`make bcm2711_defconfig`
|
||||
- openEuler 21.09:`make bcm2711_defconfig`
|
||||
- openEuler 21.03:`make bcm2711_defconfig`
|
||||
|
||||
4. 4.19 内核
|
||||
|
||||
- openEuler 20.03 LTS:`make openeuler-raspi_defconfig`
|
||||
- openEuler 20.09:`make openeuler-raspi_defconfig`
|
||||
|
||||
对应的 defconfig 文件在 ./arch/arm64/configs 下。
|
||||
|
||||
### 编译
|
||||
|
||||
`make ARCH=arm64 -j4`
|
||||
|
||||
### 创建编译内核模块目录
|
||||
|
||||
`mkdir ${WORKDIR}/ouput`
|
||||
|
||||
### 编译内核模块
|
||||
|
||||
`make INSTALL_MOD_PATH=${WORKDIR}/output/ modules_install`
|
||||
|
||||
在 ${WORKDIR}/output 文件夹下会生成 lib 文件夹。
|
||||
|
||||
### 收集编译结果
|
||||
|
||||
1. 内核
|
||||
|
||||
`cp ${WORKDIR}/raspberrypi-kernel/arch/arm64/boot/Image ${WORKDIR}/output/`
|
||||
|
||||
2. 设备树文件等
|
||||
|
||||
`cp ${WORKDIR}/raspberrypi-kernel/arch/arm64/boot/dts/broadcom/*.dtb ${WORKDIR}/output/`
|
||||
|
||||
`mkdir ${WORKDIR}/output/overlays`
|
||||
|
||||
`cp ${WORKDIR}/raspberrypi-kernel/arch/arm64/boot/dts/overlays/*.dtb* ${WORKDIR}/output/overlays/`
|
||||
|
||||
至此,所有内核及内核模块相关内容都在 ${WORKDIR}/output 下了。
|
||||
|
||||
## 配置引导
|
||||
|
||||
### 下载引导
|
||||
|
||||
`cd ${WORKDIR}`
|
||||
|
||||
`git clone --depth=1 https://github.com/raspberrypi/firmware`
|
||||
|
||||
得到文件 ${WORKDIR}/firmware 。
|
||||
|
||||
### 进入引导目录
|
||||
|
||||
`cd ${WORKDIR}/firmware/boot`
|
||||
|
||||
### 删除没有必要的文件
|
||||
|
||||
`rm *.dtb cmdline.txt kernel*.img`
|
||||
|
||||
### 添加cmdline.txt
|
||||
|
||||
`touch cmdline.txt`
|
||||
|
||||
写入新系统的内核参数:
|
||||
|
||||
`console=serial0,115200 console=tty1 root=/dev/mmcblk0p3 rootfstype=ext4 elevator=deadline rootwait`
|
||||
|
||||
### boot 内容完善
|
||||
|
||||
#### 将内核放进引导
|
||||
|
||||
`cp ${WORKDIR}/output/Image ${WORKDIR}/firmware/boot/kernel8.img`
|
||||
|
||||
#### 将设备树文件放进引导
|
||||
|
||||
`cp ${WORKDIR}/output/*.dtb ${WORKDIR}/firmware/boot/`
|
||||
|
||||
`cp ${WORKDIR}/output/overlays/* ${WORKDIR}/firmware/boot/overlays/`
|
||||
|
||||
## 树莓派固件和应用
|
||||
|
||||
### 下载固件和应用
|
||||
|
||||
1. 进入下载目录
|
||||
|
||||
`cd ${WORKDIR}`
|
||||
|
||||
2. 下载 bluez-firmware
|
||||
|
||||
`git clone --depth=1 https://github.com/RPi-Distro/bluez-firmware`
|
||||
|
||||
得到文件 ${WORKDIR}/bluez-firmware。
|
||||
|
||||
3. 下载 firmware-nonfree
|
||||
|
||||
`git clone --depth=1 -b buster https://github.com/RPi-Distro/firmware-nonfree`
|
||||
|
||||
得到文件 ${WORKDIR}/firmware-nonfree。
|
||||
|
||||
4. 下载 pi-bluetooth
|
||||
|
||||
`git clone https://github.com/RPi-Distro/pi-bluetooth`
|
||||
|
||||
得到文件 ${WORKDIR}/pi-bluetooth。
|
||||
|
||||
# 制作 openEuler 的 rootfs
|
||||
|
||||
操作目录:${WORKDIR}
|
||||
|
||||
## 创建 RPM 数据库
|
||||
|
||||
`mkdir ${WORKDIR}/rootfs`
|
||||
|
||||
`mkdir -p ${WORKDIR}/rootfs/var/lib/rpm`
|
||||
|
||||
`rpm --root ${WORKDIR}/rootfs/ --initdb`
|
||||
|
||||
## 下载安装 openEuler 发布包
|
||||
|
||||
`rpm -ivh --nodeps --root ${WORKDIR}/rootfs/ http://repo.openeuler.org/openEuler-20.03-LTS/everything/aarch64/Packages/openEuler-release-20.03LTS-33.oe1.aarch64.rpm`
|
||||
|
||||
会在 ${WORKDIR}/rootfs 下生成三个文件夹:
|
||||
|
||||
etc/ usr/ var/
|
||||
|
||||
## 安装 yum
|
||||
|
||||
### 添加 yum 源
|
||||
|
||||
`mkdir ${WORKDIR}/rootfs/etc/yum.repos.d`
|
||||
|
||||
`curl -o ${WORKDIR}/rootfs/etc/yum.repos.d/openEuler-20.03-LTS.repo https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS/generic.repo`
|
||||
|
||||
### 安装 dnf
|
||||
|
||||
`dnf --installroot=${WORKDIR}/rootfs/ install dnf --nogpgcheck -y`
|
||||
|
||||
### 安装必要软件
|
||||
|
||||
`dnf --installroot=${WORKDIR}/rootfs/ makecache`
|
||||
|
||||
`dnf --installroot=${WORKDIR}/rootfs/ install -y alsa-utils wpa_supplicant vim net-tools iproute iputils NetworkManager openssh-server passwd hostname ntp bluez pulseaudio-module-bluetooth`
|
||||
|
||||
## 添加配置文件
|
||||
|
||||
### 添加 hosts
|
||||
|
||||
`cp /etc/hosts ${WORKDIR}/rootfs/etc/hosts`
|
||||
|
||||
### 网络相关
|
||||
|
||||
1. 设置 DNS
|
||||
|
||||
`cp -L /etc/resolv.conf ${WORKDIR}/rootfs/etc/resolv.conf`
|
||||
|
||||
编辑添加 nameserver:
|
||||
|
||||
`vim ${WORKDIR}/rootfs/etc/resolv.conf`
|
||||
|
||||
内容:
|
||||
```
|
||||
nameserver 8.8.8.8
|
||||
nameserver 114.114.114.114
|
||||
```
|
||||
|
||||
2. 设置 IP 自动获取
|
||||
|
||||
`mkdir ${WORKDIR}/rootfs/etc/sysconfig/network-scripts`
|
||||
|
||||
`vim ${WORKDIR}/rootfs/etc/sysconfig/network-scripts/ifcfg-eth0`
|
||||
|
||||
内容:
|
||||
```
|
||||
TYPE=Ethernet
|
||||
PROXY_METHOD=none
|
||||
BROWSER_ONLY=no
|
||||
BOOTPROTO=dhcp
|
||||
DEFROUTE=yes
|
||||
IPV4_FAILURE_FATAL=no
|
||||
IPV6INIT=yes
|
||||
IPV6_AUTOCONF=yes
|
||||
IPV6_DEFROUTE=yes
|
||||
IPV6_FAILURE_FATAL=no
|
||||
IPV6_ADDR_GEN_MODE=stable-privacy
|
||||
NAME=eth0
|
||||
UUID=851a6f36-e65c-3a43-8f4a-78fd0fc09dc9
|
||||
ONBOOT=yes
|
||||
AUTOCONNECT_PRIORITY=-999
|
||||
DEVICE=eth0
|
||||
```
|
||||
|
||||
## rootfs 内容完善
|
||||
|
||||
### 将固件放进 rootfs
|
||||
|
||||
```
|
||||
mkdir -p ${WORKDIR}/rootfs/lib/firmware ${WORKDIR}/rootfs/usr/bin ${WORKDIR}/rootfs/lib/udev/rules.d ${WORKDIR}/rootfs/lib/systemd/system
|
||||
cp ${WORKDIR}/bluez-firmware/broadcom/* ${WORKDIR}/rootfs/lib/firmware/
|
||||
cp -r ${WORKDIR}/firmware-nonfree/brcm/ ${WORKDIR}/rootfs/lib/firmware/
|
||||
wget https://raw.githubusercontent.com/RPi-Distro/raspberrypi-sys-mods/master/etc.armhf/udev/rules.d/99-com.rules -P ${WORKDIR}/rootfs/lib/udev/rules.d/
|
||||
cp pi-bluetooth/usr/bin/* ${WORKDIR}/rootfs/usr/bin/
|
||||
cp pi-bluetooth/lib/udev/rules.d/90-pi-bluetooth.rules ${WORKDIR}/rootfs/lib/udev/rules.d/
|
||||
cp pi-bluetooth/debian/pi-bluetooth.bthelper\@.service ${WORKDIR}/rootfs/lib/systemd/system/bthelper\@.service
|
||||
cp pi-bluetooth/debian/pi-bluetooth.hciuart.service ${WORKDIR}/rootfs/lib/systemd/system/hciuart.service
|
||||
```
|
||||
|
||||
蓝牙相关固件放到 ${WORKDIR}/rootfs/lib/firmware/brcm/ 下:
|
||||
|
||||
```
|
||||
mv ${WORKDIR}/rootfs/lib/firmware/BCM43430A1.hcd ${WORKDIR}/rootfs/lib/firmware/brcm/
|
||||
mv ${WORKDIR}/rootfs/lib/firmware/BCM4345C0.hcd ${WORKDIR}/rootfs/lib/firmware/brcm/
|
||||
```
|
||||
|
||||
### 将内核模块放进rootfs
|
||||
|
||||
`cp -r ${WORKDIR}/output/lib/modules ${WORKDIR}/rootfs/lib/`
|
||||
|
||||
## rootfs设置
|
||||
|
||||
1. 挂载必要的路径
|
||||
|
||||
`mount --bind /dev ${WORKDIR}/rootfs/dev`
|
||||
|
||||
`mount -t proc /proc ${WORKDIR}/rootfs/proc`
|
||||
|
||||
`mount -t sysfs /sys ${WORKDIR}/rootfs/sys`
|
||||
|
||||
2. run chroot
|
||||
|
||||
`chroot ${WORKDIR}/rootfs /bin/bash`
|
||||
|
||||
3. 开机自启sshd
|
||||
|
||||
`systemctl enable sshd`
|
||||
|
||||
4. 设置root密码
|
||||
|
||||
`passwd root`
|
||||
|
||||
输入要设置的root密码。
|
||||
|
||||
5. 设置主机名
|
||||
|
||||
`echo openEuler > /etc/hostname`
|
||||
|
||||
6. 设置默认时区为东八区
|
||||
|
||||
`ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime`
|
||||
|
||||
7. 开机自启 hciuart
|
||||
|
||||
`systemctl enable hciuart`
|
||||
|
||||
8. 退出
|
||||
|
||||
`exit`
|
||||
|
||||
9. 取消临时挂载的目录
|
||||
|
||||
`umount -l ${WORKDIR}/rootfs/dev`
|
||||
|
||||
`umount -l ${WORKDIR}/rootfs/proc`
|
||||
|
||||
`umount -l ${WORKDIR}/rootfs/sys`
|
||||
|
||||
# 制作镜像
|
||||
|
||||
## 生成镜像并分区挂载
|
||||
|
||||
### 计算镜像大小
|
||||
|
||||
`du -sh --block-size=1MiB ${WORKDIR}/rootfs`
|
||||
|
||||
`du -sh --block-size=1MiB ${WORKDIR}/firmware/boot`
|
||||
|
||||
得到总大小后略加 1100MiB 即可,将该大小记为 `SIZE`。
|
||||
|
||||
### 创建空镜像
|
||||
|
||||
`cd ${WORKDIR}`
|
||||
|
||||
`dd if=/dev/zero of=openEuler_raspi.img bs=1M count=SIZE`
|
||||
|
||||
其中 `SIZE` 为前面计算得到的镜像大小,最终生成空的镜像文件 ${WORKDIR}/openEuler_raspi.img。
|
||||
|
||||
### 镜像分区
|
||||
|
||||
执行 `fdisk openEuler_raspi.img` 后,根据提示依次输入:
|
||||
|
||||
1. 输入 `p`,查看分区信息,可以看到当前无分区。
|
||||
2. 输入 `n`,创建分区。
|
||||
3. 输入 `p` 或直接按 `Enter`,创建 `Primary` 类型的分区。
|
||||
4. 输入 `1` 或直接按 `Enter`,创建序号为 `1` 的分区。
|
||||
5. 输入 `8192`,输入第一个分区的起始扇区号。
|
||||
6. 输入 `593919`,输入第一个分区的末尾扇区号。
|
||||
7. 输入 `t`,设置分区类型。因为当前只有一个分区,会默认设置第一个分区的分区类型。
|
||||
8. 输入 `c`,设置第一个分区类型为 W95 FAT32 (LBA)。
|
||||
9. 输入 `a`,设置引导分区。因为当前只有一个分区,会默认设置第一个分区为引导分区。至此第一个分区分区完成。
|
||||
10. 输入 `p`,查看当前分区情况,可以看到当前有一个分区。
|
||||
11. 输入 `n`,创建分区。
|
||||
12. 输入 `p` 或直接按 `Enter`,创建 `Primary` 类型的分区。
|
||||
13. 输入 `2` 或直接按 `Enter`,创建序号为 `2` 的分区。
|
||||
14. 输入 `593920`,输入第二个分区的起始扇区号。
|
||||
15. 输入 `1593343`,输入第二个分区的末尾扇区号。
|
||||
16. 输入 `t`,设置分区类型。
|
||||
17. 输入 `2` 或直接按 `Enter`,选择要设置的分区序号。
|
||||
18. 输入 `82`,设置第二个分区类型为 Linux swap / Solaris,至此第二个分区分区完成。
|
||||
19. 输入 `p`,查看当前分区情况,可以看到当前有两个分区。
|
||||
20. 输入 `n`,创建分区。
|
||||
21. 输入 `p` 或直接按 `Enter`,创建 `Primary` 类型的分区。
|
||||
22. 输入 `3` 或直接按 `Enter`,创建序号为 `3` 的分区。
|
||||
23. 输入 `1593344`,输入第三个分区的起始扇区号。
|
||||
24. 按 `Enter`,输入第三个分区的末尾扇区号,使用最后一个扇区号作为第三个分区的末尾扇区号。
|
||||
25. 输入 `t`,设置分区类型。
|
||||
26. 输入 `3` 或直接按 `Enter`,选择要设置的分区序号。
|
||||
27. 输入 `83`,设置第三个分区类型为 Linux。至此第三个分区分区完成。
|
||||
28. 输入 `p`,查看当前分区情况,可以看到当前有三个分区。
|
||||
29. 输入 `w`,写入并退出。
|
||||
|
||||
### 使用 losetup 将磁盘镜像文件虚拟成块设备
|
||||
|
||||
`losetup -f --show openEuler_raspi.img`
|
||||
|
||||
例如,显示结果为 /dev/loop0。
|
||||
|
||||
### 使用 kpartx 创建分区表 /dev/loop0 的设备映射
|
||||
|
||||
`kpartx -va /dev/loop0`
|
||||
|
||||
得到结果将 /dev/loop0 三个分区挂载了:
|
||||
```
|
||||
add map loop0p1 ...
|
||||
add map loop0p2 ...
|
||||
add map loop0p3 ...
|
||||
```
|
||||
|
||||
运行 `ls /dev/mapper/loop0p*` 可以看到分区分别对应刚才为 openEuler_raspi.img 做的三个分区:
|
||||
|
||||
```
|
||||
/dev/mapper/loop0p1 /dev/mapper/loop0p2 /dev/mapper/loop0p3
|
||||
```
|
||||
|
||||
### 格式化分区
|
||||
|
||||
1. 格式化 boot 分区
|
||||
|
||||
`mkfs.vfat -n boot /dev/mapper/loop0p1`
|
||||
|
||||
2. 格式化交换分区
|
||||
|
||||
`mkswap /dev/mapper/loop0p2 --pagesize 4096`
|
||||
|
||||
3. 格式化根目录分区
|
||||
|
||||
`mkfs.ext4 /dev/mapper/loop0p3`
|
||||
|
||||
### 创建要挂载的根目录和 boot 分区路径
|
||||
|
||||
`mkdir ${WORKDIR}/root ${WORKDIR}/boot`
|
||||
|
||||
### 挂载根目录和 boot 分区
|
||||
|
||||
`mount -t vfat -o uid=root,gid=root,umask=0000 /dev/mapper/loop0p1 ${WORKDIR}/boot/`
|
||||
|
||||
`mount -t ext4 /dev/mapper/loop0p3 ${WORKDIR}/root/`
|
||||
|
||||
### 获取生成的 img 镜像的 blkid
|
||||
|
||||
执行命令 blkid 得到三个分区的 UUID,例如:
|
||||
```
|
||||
/dev/mapper/loop0p1: SEC_TYPE="msdos" LABEL="boot" UUID="2785-C7C3" TYPE="vfat" PARTUUID="e0a091bd-01"
|
||||
/dev/mapper/loop0p2: UUID="a451bee4-4384-48a2-8d5a-d09c2dd9a1a2" TYPE="swap" PARTUUID="e0a091bd-02"
|
||||
/dev/mapper/loop0p3: UUID="67b5fc1c-9cd3-4884-968c-4ca35e5ae154" TYPE="ext4" PARTUUID="e0a091bd-03"
|
||||
```
|
||||
|
||||
## 修改 fstab
|
||||
|
||||
`vim ${WORKDIR}/rootfs/etc/fstab`
|
||||
|
||||
内容:
|
||||
```
|
||||
UUID=67b5fc1c-9cd3-4884-968c-4ca35e5ae154 / ext4 defaults,noatime 0 0
|
||||
UUID=2785-C7C3 /boot vfat defaults,noatime 0 0
|
||||
UUID=a451bee4-4384-48a2-8d5a-d09c2dd9a1a swap swap defaults,noatime 0 0
|
||||
```
|
||||
|
||||
## rootfs 拷贝到镜像
|
||||
|
||||
`rsync -avHAXq ${WORKDIR}/rootfs/* ${WORKDIR}/root`
|
||||
|
||||
## boot 引导拷贝到镜像
|
||||
|
||||
`cd ${WORKDIR}/firmware/boot`
|
||||
|
||||
`tar cf ${WORKDIR}/boot.tar ./`
|
||||
|
||||
`cd ${WORKDIR}/boot`
|
||||
|
||||
`tar xf ${WORKDIR}/boot.tar -C .`
|
||||
|
||||
## 卸载镜像
|
||||
|
||||
### 同步到盘
|
||||
|
||||
`sync`
|
||||
|
||||
### 卸载
|
||||
|
||||
`umount ${WORKDIR}/root`
|
||||
|
||||
`umount ${WORKDIR}/boot`
|
||||
|
||||
### 卸载镜像文件虚拟的块设备
|
||||
|
||||
`kpartx -d /dev/loop0`
|
||||
|
||||
`losetup -d /dev/loop0`
|
||||
|
||||
这样,最终就生成了需要的 openEuler_raspi.img 镜像文件。
|
||||
|
||||
之后就可以使用镜像刷写 SD 卡并使用树莓派了,详见 [刷写镜像](./刷写镜像.md) 和 [树莓派使用](./树莓派使用.md)。
|
||||
162
documents/raspberrypi/交叉编译内核.md
Normal file
@ -0,0 +1,162 @@
|
||||
<!-- TOC -->
|
||||
|
||||
- [介绍](#介绍)
|
||||
- [实验环境](#实验环境)
|
||||
- [安装依赖软件](#安装依赖软件)
|
||||
- [编译](#编译)
|
||||
- [下载内核源码](#下载内核源码)
|
||||
- [进入内核源码](#进入内核源码)
|
||||
- [切换分支](#切换分支)
|
||||
- [设置环境变量](#设置环境变量)
|
||||
- [载入默认配置](#载入默认配置)
|
||||
- [编译内核](#编译内核)
|
||||
- [创建编译内核模块目录](#创建编译内核模块目录)
|
||||
- [编译内核模块](#编译内核模块)
|
||||
- [收集编译结果](#收集编译结果)
|
||||
- [验证内核可用性](#验证内核可用性)
|
||||
- [将内核模块放进rootfs](#将内核模块放进rootfs)
|
||||
- [将内核放进引导](#将内核放进引导)
|
||||
- [将设备树文件放进引导](#将设备树文件放进引导)
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
# 介绍
|
||||
|
||||
> **说明:**
|
||||
>如需根据自身需求定制内核,可参考本文档。
|
||||
|
||||
目前 openEuler 树莓派版本只支持 AArch64 架构。
|
||||
|
||||
编译内核时,除了使用 AArch64 架构的运行环境,也可以采用交叉编译的方式。这里,我们以 ubuntu16.04 x86_64 的服务器上编译内核为例,介绍交叉编译的过程。
|
||||
|
||||
# 实验环境
|
||||
|
||||
- 操作系统:ubuntu16.04
|
||||
- 架构:x86_64
|
||||
|
||||
# 安装依赖软件
|
||||
|
||||
`apt-get install build-essential gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu bc libssl-dev -y`
|
||||
|
||||
# 编译
|
||||
|
||||
操作目录:${WORKDIR}
|
||||
|
||||
## 下载内核源码
|
||||
|
||||
根据内核不同版本,需要下载不同仓库的不同分支:
|
||||
|
||||
1. 6.6 内核
|
||||
|
||||
- openEuler 24.09:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b OLK-6.6 && cd raspberrypi-kernel`
|
||||
- openEuler 24.03 LTS:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b OLK-6.6 && cd raspberrypi-kernel`
|
||||
|
||||
2. 6.1 内核
|
||||
|
||||
- openEuler 23.03:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-23.03 && cd raspberrypi-kernel`
|
||||
|
||||
3. 5.10 内核
|
||||
|
||||
- openEuler 22.03 LTS SP4:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b OLK-5.10 && cd raspberrypi-kernel`
|
||||
- openEuler 22.03 LTS SP3:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b OLK-5.10 && cd raspberrypi-kernel`
|
||||
- openEuler 22.03 LTS SP2:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-22.03-LTS-SP2 && cd raspberrypi-kernel`
|
||||
- openEuler 22.03 LTS SP1:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-22.03-LTS-SP1 && cd raspberrypi-kernel`
|
||||
- openEuler 22.09:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-22.09 && cd raspberrypi-kernel`
|
||||
- openEuler 22.03 LTS:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-22.03-LTS && cd raspberrypi-kernel`
|
||||
- openEuler 21.09:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-21.09 && cd raspberrypi-kernel`
|
||||
- openEuler 21.03:`git clone git@gitee.com:openeuler/kernel.git -b openEuler-21.03 && cd kernel`
|
||||
|
||||
4. 4.19 内核
|
||||
|
||||
- openEuler 20.03 LTS:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-20.03-LTS && cd raspberrypi-kernel`
|
||||
- openEuler 20.09:`git clone git@gitee.com:openeuler/raspberrypi-kernel.git -b openEuler-20.09 && cd raspberrypi-kernel`
|
||||
|
||||
## 设置环境变量
|
||||
|
||||
`export ARCH=arm64`
|
||||
|
||||
`export CROSS_COMPILE=aarch64-linux-gnu-`
|
||||
|
||||
## 载入默认配置
|
||||
|
||||
根据内核不同版本,需要载入不同的默认配置:
|
||||
|
||||
1. 6.6 内核
|
||||
|
||||
- openEuler 24.09:`make bcm2711_defconfig`
|
||||
- openEuler 24.03 LTS:`make bcm2711_defconfig`
|
||||
|
||||
2. 6.1 内核
|
||||
|
||||
- openEuler 23.03:`make bcm2711_defconfig`
|
||||
|
||||
3. 5.10 内核
|
||||
|
||||
- openEuler 22.03 LTS SP4:`make bcm2711_defconfig`
|
||||
- openEuler 22.03 LTS SP3:`make bcm2711_defconfig`
|
||||
- openEuler 22.03 LTS SP2:`make bcm2711_defconfig`
|
||||
- openEuler 22.03 LTS SP1:`make bcm2711_defconfig`
|
||||
- openEuler 22.09:`make bcm2711_defconfig`
|
||||
- openEuler 22.03 LTS:`make bcm2711_defconfig`
|
||||
- openEuler 21.09:`make bcm2711_defconfig`
|
||||
- openEuler 21.03:`make bcm2711_defconfig`
|
||||
|
||||
4. 4.19 内核
|
||||
|
||||
- openEuler 20.03 LTS:`make openeuler-raspi_defconfig`
|
||||
- openEuler 20.09:`make openeuler-raspi_defconfig`
|
||||
|
||||
对应的 defconfig 文件在 ./arch/arm64/configs 下。
|
||||
|
||||
## 编译内核
|
||||
|
||||
`make -j9`
|
||||
|
||||
## 创建编译内核模块目录
|
||||
|
||||
`mkdir ${WORKDIR}/ouput`
|
||||
|
||||
## 编译内核模块
|
||||
|
||||
`make INSTALL_MOD_PATH=${WORKDIR}/output/ modules_install`
|
||||
|
||||
在 ${WORKDIR}/output 文件夹下会生成 lib 文件夹。
|
||||
|
||||
## 收集编译结果
|
||||
|
||||
1. 内核
|
||||
|
||||
`cp ${WORKDIR}/raspberrypi-kernel/arch/arm64/boot/Image ${WORKDIR}/output/`
|
||||
|
||||
2. 设备树文件等
|
||||
|
||||
`cp ${WORKDIR}/raspberrypi-kernel/arch/arm64/boot/dts/broadcom/*.dtb ${WORKDIR}/output/`
|
||||
|
||||
`mkdir ${WORKDIR}/output/overlays`
|
||||
|
||||
`cp ${WORKDIR}/raspberrypi-kernel/arch/arm64/boot/dts/overlays/*.dtb* ${WORKDIR}/output/overlays/`
|
||||
|
||||
至此,所有内核及内核模块相关内容都在 ${WORKDIR}/output 下了。
|
||||
|
||||
|
||||
# 验证内核可用性
|
||||
|
||||
使用一个之前刷好 openEuler 树莓派镜像的 SD 卡,直接插到 Linux 主机上,SD 会默认挂载其 boot 分区和 根目录分区。这里其挂载路径分别表示为 ${boot} 和 ${rootfs},将上面编译好的内核放置到SD卡对应分区。
|
||||
|
||||
## 将内核模块放进rootfs
|
||||
|
||||
`cp -r ${WORKDIR}/output/lib/modules ${rootfs}/lib/`
|
||||
|
||||
## 将内核放进引导
|
||||
|
||||
`cp ${WORKDIR}/output/Image ${boot}/kernel8.img`
|
||||
|
||||
## 将设备树文件放进引导
|
||||
|
||||
`cp ${WORKDIR}/output/*.dtb ${boot}/`
|
||||
|
||||
`cp ${WORKDIR}/output/overlays/* ${boot}/overlays/`
|
||||
|
||||
之后,参考 [树莓派使用](./树莓派使用.md) 使用该 SD 卡启用树莓派,验证功能:
|
||||
|
||||

|
||||
131
documents/raspberrypi/刷写镜像.md
Normal file
@ -0,0 +1,131 @@
|
||||
<!-- TOC -->
|
||||
|
||||
- [实验环境](#实验环境)
|
||||
- [获取树莓派 img 镜像](#获取树莓派-img-镜像)
|
||||
- [刷写 SD 卡](#刷写-sd-卡)
|
||||
- [Windows 环境](#windows-环境)
|
||||
- [格式化 SD 卡](#格式化-sd-卡)
|
||||
- [写入 SD 卡](#写入-sd-卡)
|
||||
- [Linux 环境](#linux-环境)
|
||||
- [查看磁盘分区信息](#查看磁盘分区信息)
|
||||
- [卸载 SD 卡挂载点](#卸载-sd-卡挂载点)
|
||||
- [写入 SD 卡](#写入-sd-卡-1)
|
||||
- [Mac 环境](#mac-环境)
|
||||
- [查看磁盘分区信息](#查看磁盘分区信息-1)
|
||||
- [卸载 SD 卡挂载点](#卸载-sd-卡挂载点-1)
|
||||
- [写入 SD 卡](#写入-sd-卡-2)
|
||||
- [树莓派使用](#树莓派使用)
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
# 实验环境
|
||||
|
||||
- Windows10/Linux/Mac
|
||||
- 树莓派 3B/3B+/4B/400
|
||||
- 8G 及以上的 Micro SD 卡
|
||||
|
||||
# 获取树莓派 img 镜像
|
||||
|
||||
下载适配树莓派的最新 openEuler 镜像,下面以获取 `openEuler-20.03-LTS-aarch64-raspi.img.xz` 镜像为例。
|
||||
|
||||
# 刷写 SD 卡
|
||||
|
||||
下面分别介绍 Windows、Linux、Mac 下的刷机步骤。
|
||||
|
||||
## Windows 环境
|
||||
|
||||
### 格式化 SD 卡
|
||||
|
||||
请按照以下步骤格式化 SD 卡:
|
||||
|
||||
1. 下载并安装格式化 SD 卡工具,以下操作以 SD Card Formatter 格式化工具为例。
|
||||
2. 打开 SD Card Formatter,在 `Select card` 中选择需要格式化的 SD 卡的盘符。
|
||||
|
||||
若 SD 卡之前未安装过镜像,盘符只有一个。在 `Select card` 中选择需要格式化的 SD 卡对应盘符。
|
||||
|
||||
若 SD 卡之前安装过镜像,盘符会有一个或多个。如下图所示,该 SD 卡对应三个盘符:E、G、H。在 `Select card` 中选择需要格式化的 SD 卡对应 boot 分区盘符 E。
|
||||
|
||||

|
||||
|
||||
3. 在 `Formatting options` 中选择格式化方式。默认为 `Quick format`。
|
||||
4. 单击 `Format` 开始格式化。界面通过进度条显示格式化进度。
|
||||
5. 格式化完成后会弹出 `Formatting was successfully completed` 的提示框,单击 `确定` 完成格式化。
|
||||
|
||||
如下图所示,格式化后 SD 卡的盘符只有一个。
|
||||
|
||||

|
||||
|
||||
### 写入 SD 卡
|
||||
|
||||
> **须知:**
|
||||
>如果获取的是压缩后的镜像文件 `openEuler-20.03-LTS-aarch64-raspi.img.xz`,需要先将压缩文件解压得到 `openEuler-20.03-LTS-aarch64-raspi.img` 镜像文件。
|
||||
|
||||
请按照以下步骤将 img 格式的镜像文件写入 SD 卡:
|
||||
|
||||
1. 下载并安装刷写镜像的工具,以下操作以 Win32 Disk Imager 工具为例。
|
||||
2. 右键选择“以管理员身份运行”,打开 Win32 Disk Imager。
|
||||
3. 在“映像文件”中选择 img 格式的镜像文件路径。
|
||||
4. 在“设备”中选择待写入的 SD 卡盘符。
|
||||
5. 单击“写入”。如下图所示,界面通过任务进度条显示写入 SD 卡的进度。
|
||||
|
||||

|
||||
|
||||
6. 写入完成后会弹出 “写入成功” 的提示框,单击“OK”完成写入。
|
||||
|
||||
如下图所示,写入成功后,SD 卡自动分区后的盘符为三个。
|
||||
|
||||

|
||||
|
||||
## Linux 环境
|
||||
|
||||
### 查看磁盘分区信息
|
||||
|
||||
执行 `fdisk -l` 获取 SD 卡磁盘信息,例如 SD 卡对应磁盘为 /dev/sdb。
|
||||
|
||||
### 卸载 SD 卡挂载点
|
||||
|
||||
1. 执行 `df -lh` 命令查看当前已挂载的卷。
|
||||
2. 如果 SD 卡对应的分区未挂载,则跳过该步骤;如果 SD 卡对应分区已挂载,如 SD 卡对应的两个分区 /dev/sdb1 和 /dev/sdb3 已挂载,则需要卸载对应分区,执行以下命令:
|
||||
|
||||
`umount /dev/sdb1`
|
||||
|
||||
`umount /dev/sdb3`
|
||||
|
||||
### 写入 SD 卡
|
||||
|
||||
1. 如果获取的是压缩后的镜像,需要先执行 `xz -d openEuler-20.03-LTS-aarch64-raspi.img.xz` 命令将压缩文件解压得到 `openEuler-20.03-LTS-aarch64-raspi.img` 镜像文件;否则,跳过该步骤。
|
||||
2. 将镜像 `openEuler-20.03-LTS-aarch64-raspi.img` 刷写入 SD 卡,执行以下命令:
|
||||
|
||||
`dd bs=4M if=openEuler-20.03-LTS-aarch64-raspi.img of=/dev/sdb`
|
||||
|
||||
> **说明:**
|
||||
>一般情况下,将块大小设置为 4M。如果写入失败或者写入的镜像无法使用,可以尝试将块大小设置为 1M 重新写入,但是设置为 1M 比较耗时。
|
||||
|
||||
## Mac 环境
|
||||
|
||||
### 查看磁盘分区信息
|
||||
|
||||
执行 `diskutil list` 获取 SD 卡磁盘信息,例如 SD 卡对应磁盘为 /dev/disk3。
|
||||
|
||||
### 卸载 SD 卡挂载点
|
||||
|
||||
1. 执行 `df -lh` 命令查看当前已挂载的卷。
|
||||
2. 如果 SD 卡对应的分区未挂载,则跳过该步骤;如果 SD 卡对应分区已挂载,如 SD 卡对应的两个分区 /dev/disk3s1 和 /dev/disk3s3 已挂载,则需要卸载对应分区,执行以下命令:
|
||||
|
||||
`diskutil umount /dev/disk3s1`
|
||||
|
||||
`diskutil umount /dev/disk3s3`
|
||||
|
||||
### 写入 SD 卡
|
||||
|
||||
1. 如果获取的是压缩后的镜像,需要先执行 `xz -d openEuler-20.03-LTS-aarch64-raspi.img.xz` 命令将压缩文件解压得到 `openEuler-20.03-LTS-aarch64-raspi.img` 镜像文件;否则,跳过该步骤。
|
||||
2. 将镜像 `openEuler-20.03-LTS-aarch64-raspi.img` 刷入 SD 卡,执行以下命令:
|
||||
|
||||
`dd bs=4m if=openEuler-20.03-LTS-aarch64-raspi.img of=/dev/sdb`
|
||||
|
||||
> **说明:**
|
||||
>一般情况下,将块大小设置为 4m。如果写入失败或者写入的镜像无法使用,可以尝试将块大小设置为 1m 重新写入,但是设置为 1m 比较耗时。
|
||||
|
||||
# 树莓派使用
|
||||
|
||||
SD 卡刷好镜像之后,就可以使用树莓派了,详见 [树莓派使用](./树莓派使用.md)。
|
||||
707
documents/raspberrypi/树莓派使用.md
Normal file
@ -0,0 +1,707 @@
|
||||
<!-- TOC -->
|
||||
|
||||
- [启用树莓派](#启用树莓派)
|
||||
- [根目录分区扩展](#根目录分区扩展)
|
||||
- [查看磁盘分区信息](#查看磁盘分区信息)
|
||||
- [分区扩容](#分区扩容)
|
||||
- [查看扩容后磁盘分区信息](#查看扩容后磁盘分区信息)
|
||||
- [增大未加载的文件系统大小](#增大未加载的文件系统大小)
|
||||
- [查看磁盘空间信息](#查看磁盘空间信息)
|
||||
- [wifi 连接](#wifi-连接)
|
||||
- [查看 IP 和网卡信息](#查看-ip-和网卡信息)
|
||||
- [连接 wifi](#连接-wifi)
|
||||
- [查看 IP 和无线网卡信息](#查看-ip-和无线网卡信息)
|
||||
- [音频](#音频)
|
||||
- [开启音频](#开启音频)
|
||||
- [安装音频播放软件](#安装音频播放软件)
|
||||
- [播放音频](#播放音频)
|
||||
- [音频输出配置](#音频输出配置)
|
||||
- [HDMI](#hdmi)
|
||||
- [耳机插孔](#耳机插孔)
|
||||
- [自动(默认)](#自动默认)
|
||||
- [蓝牙](#蓝牙)
|
||||
- [开启蓝牙](#开启蓝牙)
|
||||
- [查看蓝牙设备](#查看蓝牙设备)
|
||||
- [连接蓝牙](#连接蓝牙)
|
||||
- [播放音乐](#播放音乐)
|
||||
- [文件传输](#文件传输)
|
||||
- [GPIO](#gpio)
|
||||
- [简介](#简介)
|
||||
- [UART](#uart)
|
||||
- [UART 连线](#uart-连线)
|
||||
- [串口通信](#串口通信)
|
||||
- [蓝牙使用 PL011 UART,禁用串口](#蓝牙使用-pl011-uart禁用串口)
|
||||
- [蓝牙使用 PL011 UART,串口使用 mini UART](#蓝牙使用-pl011-uart串口使用-mini-uart)
|
||||
- [禁用蓝牙,串口使用 PL011 UART](#禁用蓝牙串口使用-pl011-uart)
|
||||
- [蓝牙使用 mini UART,串口使用 PL011 UART](#蓝牙使用-mini-uart串口使用-pl011-uart)
|
||||
- [WiringPi](#wiringpi)
|
||||
- [下载 WiringPi](#下载-wiringpi)
|
||||
- [安装 WiringPi](#安装-wiringpi)
|
||||
- [使用 WiringPi](#使用-wiringpi)
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
# 启用树莓派
|
||||
|
||||
版本要求:树莓派 3B/3B+/4B/400。
|
||||
|
||||
默认用户名:
|
||||
- root,密码:openeuler;
|
||||
- pi,密码:raspberry。
|
||||
|
||||
将刷写镜像后的 SD 卡插入树莓派,通电启用。
|
||||
|
||||
登录树莓派有以下两种方式:
|
||||
|
||||
1. 本地登录
|
||||
|
||||
树莓派连接显示器(树莓派视频输出接口为 Micro HDMI)、键盘、鼠标后,启动树莓派,可以看到树莓派启动日志输出到显示器上。待树莓派启动成功,输入用户名(root)和密码(openeuler)登录。目前,openEuler 系统无桌面环境,添加桌面支持相关进度可关注 [期望增加桌面支持](https://gitee.com/openeuler/raspberrypi/issues/I1F21F),欢迎大家参与。
|
||||
|
||||
2. ssh 远程登录
|
||||
|
||||
1. DHCP 自动获取 IP
|
||||
|
||||
树莓派默认采用 DHCP 的方式自动获取 IP。如果树莓派连接已知路由器,可登录路由器查看,新增的 IP 即为树莓派 IP。
|
||||
|
||||

|
||||
|
||||
从上图看到,树莓派对应 IP 为:192.168.31.109,使用命令 `ssh root@192.168.31.109` 后输入密码 `openeuler`,即可远程登录树莓派。
|
||||
|
||||
如下图,登录成功后,树莓派即显示本机相关信息,包括本机 IP。
|
||||
|
||||

|
||||
|
||||
2. 设置固定 IP
|
||||
|
||||
1. 将树莓派的 SD 卡借助读卡器插到装有 Linux 操作系统的个人电脑,电脑中会读到两个分区:boot 分区和根目录分区。根目录分区挂载路径记为 `<ROOT_DIR>`。
|
||||
2. 修改 `<ROOT_DIR>` 目录下的文件 `etc/sysconfig/network-scripts/ifcfg-eth0`,主要修改内容有:
|
||||
- `BOOTPROTO` 设置为 `static`;
|
||||
- 添加 `IPADDR`、`NETMASK`、`GATEWAY` 等字段。
|
||||
|
||||
例如,我们设置树莓派 IP 为 192.168.31.109,同时根据实际情况设置其子网掩码和网关。最终,`<ROOT_DIR>/etc/sysconfig/network-scripts/ifcfg-eth0` 的内容如下:
|
||||
|
||||
```
|
||||
TYPE=Ethernet
|
||||
PROXY_METHOD=none
|
||||
BROWSER_ONLY=no
|
||||
BOOTPROTO=static
|
||||
DEFROUTE=yes
|
||||
IPV4_FAILURE_FATAL=no
|
||||
IPV6INIT=yes
|
||||
IPV6_AUTOCONF=yes
|
||||
IPV6_DEFROUTE=yes
|
||||
IPV6_FAILURE_FATAL=no
|
||||
IPV6_ADDR_GEN_MODE=stable-privacy
|
||||
NAME=eth0
|
||||
UUID=851a6f36-e65c-3a43-8f4a-78fd0fc09dc9
|
||||
ONBOOT=yes
|
||||
AUTOCONNECT_PRIORITY=-999
|
||||
DEVICE=eth0
|
||||
IPADDR=192.168.31.109
|
||||
NETMASK=255.255.255.0
|
||||
GATEWAY=192.168.31.1
|
||||
```
|
||||
|
||||
3. 在电脑中选择 SD 卡挂载的任一盘符,右键选择 `弹出上级驱动器`,待提示 `驱动器已成功弹出` 后拔出读卡器。
|
||||
4. 将 SD 卡插入树莓派,并通电启动。
|
||||
5. 树莓派启动成功后,使用命令 `ssh root@192.168.31.109` 后输入密码 `openeuler`,即可远程登录树莓派。
|
||||
|
||||
# 根目录分区扩展
|
||||
|
||||
默认根目录分区空间比较小,在使用之前,需要对分区进行扩容。
|
||||
|
||||
## 查看磁盘分区信息
|
||||
|
||||
执行 `fdisk -l` 命令查看磁盘分区信息。命令和回显如下:
|
||||
|
||||
```
|
||||
# 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
|
||||
```
|
||||
|
||||
SD 卡对应盘符为 /dev/mmcblk0,包括 3 个分区,分别为
|
||||
|
||||
- /dev/mmcblk0p1:引导分区
|
||||
- /dev/mmcblk0p2:交换分区
|
||||
- /dev/mmcblk0p3:根目录分区
|
||||
|
||||
这里我们需要将根目录分区 `/dev/mmcblk0p3` 进行扩容。
|
||||
|
||||
## 分区扩容
|
||||
|
||||
执行 `fdisk /dev/mmcblk0` 命令进入到交互式命令行界面,按照以下步骤扩展分区,如下图所示。
|
||||
|
||||
1. 输入 `p`,查看分区信息。
|
||||
|
||||
记录分区 `/dev/mmcblk0p3` 的起始扇区号,即 `/dev/mmcblk0p3` 分区信息中 `Start` 列的值,示例中为 `1593344`。
|
||||
|
||||
2. 输入 `d`,删除分区。
|
||||
3. 输入 `3` 或直接按 `Enter`,删除序号为 `3` 的分区,即 `/dev/mmcblk0p3` 分区。
|
||||
4. 输入 `n`,创建新的分区。
|
||||
5. 输入 `p` 或直接按 `Enter`,创建 `Primary` 类型的分区。
|
||||
6. 输入 `3` 或直接按 `Enter`,创建序号为 `3` 的分区,即 `/dev/mmcblk0p3` 分区。
|
||||
7. 输入新分区的起始扇区号,即第 `1` 步中记录的起始扇区号,示例中为 `1593344`。
|
||||
|
||||
> **须知:**
|
||||
>请勿直接按“Enter”或使用默认参数。
|
||||
|
||||
8. 按 `Enter`,使用默认的最后一个扇区号作为新分区的终止扇区号。
|
||||
9. 输入 `N`,不修改扇区标记。
|
||||
10. 输入 `w`,保存分区设置并退出交互式命令行界面。
|
||||
|
||||

|
||||
|
||||
## 查看扩容后磁盘分区信息
|
||||
|
||||
执行 `fdisk -l` 命令查看磁盘分区信息,以确保磁盘分区正确。命令和回显如下:
|
||||
|
||||
```
|
||||
# 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
|
||||
```
|
||||
|
||||
## 增大未加载的文件系统大小
|
||||
|
||||
`resize2fs /dev/mmcblk0p3`
|
||||
|
||||
## 查看磁盘空间信息
|
||||
|
||||
执行 `df -lh` 命令查看磁盘空间信息,以确保根目录分区已扩展。
|
||||
|
||||
> **须知:**
|
||||
>如果根目录分区未扩展,可执行 `reboot` 命令重启树莓派之后再执行 `resize2fs /dev/mmcblk0p3`。
|
||||
|
||||
# wifi 连接
|
||||
|
||||
## 查看 IP 和网卡信息
|
||||
|
||||
`ip a`
|
||||
|
||||
获取无线网卡 wlan0 信息:
|
||||
|
||||
```
|
||||
1: lo: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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: <NO-CARRIER,BROADCAST,MULTICAST,UP> 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
|
||||
```
|
||||
|
||||
## 连接 wifi
|
||||
|
||||
这里我们介绍连接 wifi 的三种方式:nmcli 命令行、nmtui 字符界面、编辑配置文件。
|
||||
|
||||
1. nmcli 命令行
|
||||
|
||||
1. 扫描可以连接的 wifi 信息
|
||||
|
||||
`nmcli dev wifi`
|
||||
|
||||
2. 连接 wifi
|
||||
|
||||
`nmcli dev wifi connect SSID password PWD`
|
||||
|
||||
其中,`SSID` 为上一步扫描到的可供连接的 wifi 的 SSID,`PWD` 为对应 wifi 的密码。例如,`SSID` 为 `openEuler-wifi`,密码为 `12345678`,则连接该 wifi 命令为:`nmcli dev wifi connect openEuler-wifi password 12345678`,连接成功提示:
|
||||
|
||||
```
|
||||
Device 'wlan0' successfully activated with '26becaab-4adc-4c8e-9bf0-1d63cf5fa3f1'.
|
||||
```
|
||||
|
||||
> **说明:**
|
||||
>如果使用 nmcli 命令连接失败,例如提示 `Error: Connection activation failed: (7) Secrets were required, but not provided.` 等错误,可尝试使用 nmtui 字符界面连接 wifi。
|
||||
|
||||
2. nmtui 字符界面
|
||||
|
||||
执行 `nmtui` 命令进入到 nmtui 字符界面,按照以下步骤连接 wifi。
|
||||
|
||||
1. 选择 `Edit a connection`,按 `Enter` 进入编辑网络连接窗口。
|
||||
2. 按下键盘右方向键选择 `Add`,按 `Enter` 进入新建网络连接窗口。
|
||||
3. 连接类型选择 `Wi-Fi` ,然后按下键盘右方向键选择 `Create`,按 `Enter` 进入 wifi 编辑连接信息的界面。
|
||||
4. wifi 连接信息界面主要需要编辑以下内容,其他信息根据实际情况而定。编辑结束后选择 `OK`,按 `Enter` 完成编辑并回退到编辑网络连接窗口。
|
||||
1. `Profile name` 栏输入该 wifi 连接的名称,这里可以使用默认名称,如 `Wi-Fi connection 1`;
|
||||
2. `Device` 栏输入要使用的无线网卡接口,这里输入 `wlan0`;
|
||||
3. `SSID` 栏输入要连接的 wifi 的 SSID;
|
||||
4. `Security` 栏选择 wifi 密码加密方式,这里根据实际情况选择,例如选择 `WPA & WPA2 Personal`;
|
||||
5. `Password` 栏输入 wifi 密码。
|
||||
|
||||
5. 选择 `Back` 回退到最初的 nmtui 字符界面。
|
||||
6. 选择 `Activate a connection`,按 `Enter` 进入激活网络连接窗口。
|
||||
7. 查看添加的 wifi 连接是否已激活(已激活的连接名称前有 `*` 标记)。如果未激活,选择该 wifi 连接,然后按下键盘右方向键选择 `Activate`,按 `Enter` 激活该连接。待激活完成后,选择 `Back`,按 `Enter` 退出该激活界面,回退到最初的 nmtui 字符界面。
|
||||
8. 选择 `Quit`,然后按下键盘右方向键选择 `OK`,按 `Enter` 退出 nmtui 字符界面。
|
||||
|
||||
3. 编辑配置文件
|
||||
|
||||
1. 添加配置文件 /etc/sysconfig/network-scripts/ifcfg-`SSID`。例如,文件内容如下:
|
||||
```
|
||||
ESSID=SSID
|
||||
MODE=Managed
|
||||
KEY_MGMT=WPA-PSK
|
||||
SECURITYMODE=open
|
||||
MAC_ADDRESS_RANDOMIZATION=default
|
||||
TYPE=Wireless
|
||||
PROXY_METHOD=none
|
||||
BROWSER_ONLY=no
|
||||
BOOTPROTO=dhcp
|
||||
DEFROUTE=yes
|
||||
IPV4_FAILURE_FATAL=no
|
||||
IPV6INIT=yes
|
||||
IPV6_AUTOCONF=yes
|
||||
IPV6_DEFROUTE=yes
|
||||
IPV6_FAILURE_FATAL=no
|
||||
IPV6_ADDR_GEN_MODE=stable-privacy
|
||||
NAME=SSID
|
||||
UUID=66d533cf-525d-46af-a17f-000465660b75
|
||||
DEVICE=wlan0
|
||||
ONBOOT=yes
|
||||
```
|
||||
|
||||
> **须知:**
|
||||
>- 上述 `SSID` 为之前扫描到的可供连接的 wifi 的 SSID。如果 SSID 中包含特殊字符,需将该文件中的 SSID 使用单引号括起来。
|
||||
>- 该 WiFi 连接为自动分配 IP,如需要设置静态 IP,请参考 `启用树莓派` 章节 `ssh 远程登录` 中 `设置固定 IP` 的方法。
|
||||
|
||||
2. 添加配置文件 /etc/sysconfig/network-scripts/keys-`SSID`。例如,文件内容如下:
|
||||
|
||||
```
|
||||
WPA_PSK=PWD
|
||||
```
|
||||
|
||||
> **须知:**
|
||||
>- 上述 `SSID` 为之前扫描到的可供连接的 wifi 的 SSID。
|
||||
>- 上述 `PWD` 为对应 wifi 的密码。如果密码中包含特殊字符,需将密码使用单引号括起来。
|
||||
|
||||
3. 执行命令 `systemctl restart NetworkManager` 重启 NetworkManager 服务,或者执行命令 `reboot` 重启树莓派。
|
||||
|
||||
## 查看 IP 和无线网卡信息
|
||||
|
||||
`ip a`
|
||||
|
||||
```
|
||||
1: lo: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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
|
||||
```
|
||||
|
||||
# 音频
|
||||
|
||||
## 开启音频
|
||||
|
||||
编辑 /boot/config.txt:
|
||||
|
||||
`vim /boot/config.txt`
|
||||
|
||||
添加内容:
|
||||
|
||||
```
|
||||
dtparam=audio=on
|
||||
```
|
||||
|
||||
重启树莓派。
|
||||
|
||||
## 安装音频播放软件
|
||||
|
||||
这里以使用 mpg123 为例。
|
||||
|
||||
```
|
||||
dnf install mpg123
|
||||
```
|
||||
|
||||
## 播放音频
|
||||
|
||||
`mpg123 xxx.mp3`
|
||||
|
||||
## 音频输出配置
|
||||
|
||||
详细信息可参考[树莓派官方文档](https://www.raspberrypi.org/documentation/),如:[audio-config](https://www.raspberrypi.org/documentation/configuration/audio-config.md)。
|
||||
|
||||
树莓派有两种音频输出模式:HDMI 和耳机插孔。可以根据需要更换输出模式。
|
||||
|
||||
如果您的 HDMI 显示器或电视具有内置扬声器,则可以通过 HDMI 电缆播放音频,但您可以将其切换到耳机或插入耳机插孔的其他扬声器。如果显示器有扬声器,则默认情况下声音通过 HDMI 输出;如果没有,则通过耳机插孔输出。这可能不是所需的输出设置,或者自动检测不准确,在这种情况下,您可以手动切换输出。
|
||||
|
||||
可以通过输入命令将音频输出切换到对应模式。
|
||||
|
||||
### HDMI
|
||||
|
||||
`amixer cset numid=3 2`
|
||||
|
||||
### 耳机插孔
|
||||
|
||||
`amixer cset numid=3 1`
|
||||
|
||||
### 自动(默认)
|
||||
|
||||
`amixer cset numid=3 0`
|
||||
|
||||
# 蓝牙
|
||||
|
||||
## 开启蓝牙
|
||||
|
||||
需要保证蓝牙已经开启,例如,如果树莓派启用了串口功能,`/boot/config.txt` 中会有配置项 `dtoverlay=pi3-disable-bt`,使用蓝牙则需要取消该配置项,请删除或注释。如果修改过`/boot/config.txt`的配置内容,需要重启树莓派。
|
||||
|
||||
## 查看蓝牙设备
|
||||
|
||||
`hciconfig`
|
||||
|
||||
例如,这里查看到的信息如下:
|
||||
|
||||
```
|
||||
hci0: Type: Primary Bus: UART
|
||||
BD Address: AA:AA:AA:AA:AA:AA ACL MTU: 1021:8 SCO MTU: 64:1
|
||||
UP RUNNING
|
||||
RX bytes:66475718 acl:151850 sco:0 events:1760 errors:0
|
||||
TX bytes:13827 acl:117 sco:0 commands:996 errors:0
|
||||
```
|
||||
|
||||
## 连接蓝牙
|
||||
|
||||
执行 `bluetoothctl` 命令进入到交互式命令行界面,按照以下步骤连接蓝牙设备。
|
||||
|
||||
1. 输入 `power on` 开启控制器电源。
|
||||
2. 输入 `agent on` 启用代理。
|
||||
3. 输入 `default-agent` 设置默认代理连接。
|
||||
4. 输入 `scan on` 搜索周边蓝牙设备。
|
||||
|
||||
这里看到要连接的目标蓝牙设备对应的 MAC 地址,记为 `target-MAC`。
|
||||
|
||||
5. 输入 `pair target-MAC` 配对目标蓝牙设备。
|
||||
|
||||
这里,可能会出现的问题:
|
||||
|
||||
1. Failed to pair: org.bluez.Error.AuthenticationCanceled
|
||||
|
||||
解决:多次配对后仍然提示该错误,请重启 bluetooth 服务。
|
||||
|
||||
```
|
||||
systemctl restart bluetooth
|
||||
```
|
||||
|
||||
6. 输入 `trust target-MAC` 信任目标蓝牙设备。
|
||||
|
||||
这一步可忽略。
|
||||
|
||||
7. 输入 `connect target-MAC` 连接目标蓝牙设备。
|
||||
|
||||
连接成功后,则会在该交互式命令行界面显示进入到目标蓝牙设备。
|
||||
|
||||
这里,可能会出现的问题:
|
||||
|
||||
1. Attempting to connect to XX:XX:XX:XX:XX:XX
|
||||
Failed to connect: org.bluez.Error.Failed
|
||||
|
||||
解决:重启 pluseaudio。
|
||||
|
||||
```
|
||||
pulseaudio -k
|
||||
pulseaudio --start
|
||||
```
|
||||
如果重启多次仍然无效。在 `bluetoothctl` 交互命令中删除对应蓝牙设备信息:`remove target-MAC`,然后按照 `pair`、`trust`、`connect` 的过程连接蓝牙。
|
||||
|
||||
## 播放音乐
|
||||
|
||||
`target-MAC` 对应的设备上`设置->蓝牙`会显示已经连接到树莓派的蓝牙设备。该设备播放音乐,就可以通过树莓派收听。
|
||||
|
||||
> **须知:**
|
||||
>要保证树莓派已经开启音频。
|
||||
|
||||
## 文件传输
|
||||
|
||||
按照以下步骤通过蓝牙传输文件。
|
||||
|
||||
1. 下载软件 obexftp
|
||||
|
||||
需要下载三个包:lib64obexftp、lib64openobex、obexftp,可在 [地址](https://rpmfind.net/linux/mageia/distrib/cauldron/aarch64/media/core/release/) 下载其最新版本。以我们下载时对应版本为例,执行以下命令:
|
||||
|
||||
```
|
||||
wget https://rpmfind.net/linux/mageia/distrib/cauldron/aarch64/media/core/release/lib64obexftp0-0.24-17.mga8.aarch64.rpm
|
||||
wget https://rpmfind.net/linux/mageia/distrib/cauldron/aarch64/media/core/release/lib64openobex1-1.7.2-3.mga8.aarch64.rpm
|
||||
wget https://rpmfind.net/linux/mageia/distrib/cauldron/aarch64/media/core/release/obexftp-0.24-17.mga8.aarch64.rpm
|
||||
```
|
||||
|
||||
2. 安装 obexftp,执行以下命令:
|
||||
|
||||
```
|
||||
rpm -i lib64obexftp0-0.24-17.mga8.aarch64.rpm
|
||||
rpm -i lib64openobex1-1.7.2-3.mga8.aarch64.rpm
|
||||
rpm -i obexftp-0.24-17.mga8.aarch64.rpm
|
||||
```
|
||||
|
||||
3. 查看文件传输的 channel,执行下面的命令:
|
||||
|
||||
`sdptool browse target-MAC`
|
||||
|
||||
查看结果:
|
||||
```
|
||||
Browsing target-MAC ...
|
||||
...
|
||||
Browsing target-MAC ...
|
||||
Service Search failed: Invalid argument
|
||||
Service Name: OBEX Phonebook Access Server
|
||||
Service RecHandle: 0x1000b
|
||||
Service Class ID List:
|
||||
"Phonebook Access - PSE" (0x112f)
|
||||
Protocol Descriptor List:
|
||||
"L2CAP" (0x0100)
|
||||
"RFCOMM" (0x0003)
|
||||
Channel: 19
|
||||
"OBEX" (0x0008)
|
||||
Profile Descriptor List:
|
||||
"Phonebook Access" (0x1130)
|
||||
Version: 0x0101
|
||||
|
||||
Service Name: OBEX Object Push
|
||||
Service RecHandle: 0x1000c
|
||||
Service Class ID List:
|
||||
"OBEX Object Push" (0x1105)
|
||||
Protocol Descriptor List:
|
||||
"L2CAP" (0x0100)
|
||||
"RFCOMM" (0x0003)
|
||||
Channel: 12
|
||||
"OBEX" (0x0008)
|
||||
Profile Descriptor List:
|
||||
"OBEX Object Push" (0x1105)
|
||||
Version: 0x0102
|
||||
...
|
||||
```
|
||||
|
||||
看到其中 `Service Name: OBEX Object Push` 下的 ` Channel: 12`。
|
||||
|
||||
4. 传输文件
|
||||
|
||||
待传输的文件路径记为 `file-path`,执行以下命令:
|
||||
|
||||
`obexftp -b target-MAC -B 12 -U NONE -p file-path`
|
||||
|
||||
之后就可以在`target-MAC` 对应的设备上选择接收文件,进行文件传输。
|
||||
|
||||
# GPIO
|
||||
|
||||
## 简介
|
||||
|
||||
树莓派的一个强大特性是沿着板的上边缘有一排 GPIO(通用输入/输出)管脚。在所有当前的树莓派板上都可以找到一个 40 针 GPIO 引脚(在树莓派 Zero 和 Pi Zero W 上未填充)。在树莓派 1B+(2014年)之前,电路板包含较短的 26 针引脚。以树莓派 4B 为例,其 40 针脚见下图:
|
||||
|
||||

|
||||
|
||||
GPIO 是个比较重要的概念。用户可以通过 GPIO 口和硬件进行数据交互(如 UART),控制硬件工作(如 LED、蜂鸣器等),读取硬件的工作状态信号(如中断信号)等。GPIO 口的使用非常广泛。举例来说,40 个针脚中,有固定输出的 5V(2、4号PIN)、3.3V(1、17号PIN)和地线(Ground,6、9、14、20、25、30、34、39)。如果一个电路两端接在 5V 和地线之间,该电路就会获得 5V 的电压输入,相当于给树莓派通电,注意,此时就不可以再通过树莓派提供的电源同时通电。有一些针脚除了 GPIO 功能外,还提供了高级端口功能。例如,GPIO14 和 GPIO15 就可以充当 UART 端口。下面,我们以使用 UART(GPIO14 和 GPIO15)进行串口通信为例介绍如何使用树莓派 GPIO。
|
||||
|
||||
## UART
|
||||
|
||||
通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作 UART,是一种串行通信协议,其中数据是串行传输的,一次传输一个字节的数据,即逐位传输。作为把并行输入信号转成串行输出信号的芯片,UART 通常被集成于其他通讯接口的连结上。
|
||||
|
||||
树莓派有两个内置 UART。一个是硬件串口(PL011 UART,可以独立调整串口的速率和模式),在操作系统中对应文件 /dev/ttyAMA0;一个是迷你串口(mini UART),在操作系统中对应文件 /dev/ttyS0。在树莓派 2B/2B+ 等这些老版的树莓派上,PL011 UART 作为主 UART 用于 Linux 控制台,可用于外部的 UART 通信,因此可以独立调整串口的速率和模式;而在树莓派 Zero W、树莓派 3 及 3 以上版本,PL011 UART 作为辅助 UART 分配给了新增的板载蓝牙模块,mini UART 作为主 UART 用于 Linux 控制台进行串口通信。这里提到的主 UART 是分配给 Linux 控制台的 UART,在操作系统中对应文件 /dev/serial0(如果启用);另一个 UART 则被称为辅助 UART,在操作系统中对应文件/dev/serial1(如果启用)。
|
||||
|
||||
mini UART 没有时钟源,必须由内核提供时钟参考源,它使用与 GPU 核心频率相关的频率。因此,随着 GPU 核心频率的变化,mini UART 的频率也会发生变化,从而改变 UART 的波特率。这使得 mini UART 不稳定,可能导致数据丢失或损坏。要使 mini UART 稳定,需要修复核心频率。此外,mini UART 没有奇偶校验支持。而 PL011 UART 是一款稳定的高性能 UART,比 mini UART 更高的吞吐量。因此,虽然 mini UART 也可以用于串口通信或者板载蓝牙,我们建议选择树莓派的 PL011 UART。
|
||||
|
||||
下面以树莓派 4B 为例,介绍不同配置下的串口通信以及板载蓝牙的使用情况。
|
||||
|
||||
### UART 连线
|
||||
|
||||
为了和树莓派串口通信,我们将树莓派的 UART 针脚连接到个人电脑(下面简称 PC)上。
|
||||
|
||||
UART 的端口至少有 RX、TX 和地线三个针脚。RX 负责读取,TX 负责输出。如果有两个 UART 端口,它们的连接方式如下:
|
||||
|
||||

|
||||
|
||||
在树莓派 4B 等设备中,TX 和 RX 就是 GPIO14 和 GPIO15 针脚。因此,我们把树莓派的针脚和外接设备(这里,我们使用 PC)按照上图的方式连接起来,就可以实现在树莓派和外接设备之间的串口通信。
|
||||
|
||||
一般的 PC 都没有暴露在外的 UART 针脚。为了通过 UART 来连接树莓派和 PC,需要一个 USB 和 UART 的转换器。这个转换器的一端是 USB 接口,插入 PC 的 USB 口;另一端是 UART 的针脚,可以按照 上图的方式连接到树莓派的 UART 针脚。连线示意图如下:
|
||||
|
||||

|
||||
|
||||
> **须知:**
|
||||
>如果你连接树莓派 UART 针脚所使用的杜邦线不止有三个接口,不要连接树莓派的 5V 或 3.3V 的针脚。如果一个电路两端接在 5V 和地线之间,该电路就会获得 5V 的电压输入,相当于给树莓派通电。此时,如果同时接通树莓派电源设备,会烧坏树莓派!
|
||||
|
||||
连接好之后,就可以实现树莓派和 PC 通信。Windows 中可以利用串口通信的图形化软件来和树莓派进行串口通信。注意,根据树莓派配置文件 boot/config.txt 中形如 `console=serial0,115200` 的配置项,串口通信的图形化软件中选择对应串口的波特率应设置为 115200。
|
||||
|
||||
### 串口通信
|
||||
|
||||
由于树莓派 4B 中,默认情况下,PL011 UART 分配给了新增的板载蓝牙模块,mini UART 用于 Linux 控制台进行串口通信。为了实现串口通信,我们可以使用 mini UART,也可以占用 PL011 UART。如果串口通信占用 PL011 UART,板载蓝牙就需要禁用或者使用 mini UART。
|
||||
|
||||
> **说明:**
|
||||
>注意树莓派的配置文件 /boot/config.txt 中 `enable_uart` 这个配置项,`enable_uart` 的默认值取决于 UART 的实际角色。
|
||||
>- 如果将 ttyAMA0 分配给蓝牙模块(默认),则 `enable_uart` 默认为 0,即不启用 GPIO 串口;
|
||||
>- 如果将 mini UART 分配给蓝牙模块(`dtoverlay=pi3-miniuart-bt`),则 `enable_uart` 默认值为 1,即启用 GPIO 串口(使用 PL011 UART);
|
||||
>- 如果禁用蓝牙(`dtoverlay=pi3-disable-bt`),则默认将 ttyAMA0 分配给串口通信模块(使用 PL011 UART)。
|
||||
|
||||
下面我们总结一下不同情况下的配置。
|
||||
|
||||
#### 蓝牙使用 PL011 UART,禁用串口
|
||||
|
||||
默认情况下,PL011 UART 作为辅助 UART 分配给了新增的板载蓝牙模块,在操作系统中对应文件 /dev/ttyAMA0(/dev/serial1);mini UART 作为主 UART 分配给 Linux 控制台进行串口通信,该配置由 `enable_uart` 决定,默认为 0,表示不启用,即默认禁用串口通信。
|
||||
|
||||
命令 `ls -l /dev/serial*`,可以看到如下信息:
|
||||
|
||||
```
|
||||
lrwxrwxrwx 1 root root 7 Sep 3 2019 /dev/serial1 -> ttyAMA0
|
||||
```
|
||||
|
||||
#### 蓝牙使用 PL011 UART,串口使用 mini UART
|
||||
|
||||
PL011 UART 作为辅助 UART 分配给新增的板载蓝牙模块,在操作系统中对应文件 /dev/ttyAMA0(/dev/serial1);mini UART 作为主 UART 分配给 Linux 控制台进行串口通信,在操作系统中对应文件 /dev/ttyS0(/dev/serial0)。
|
||||
|
||||
按照以下步骤进行设置:
|
||||
|
||||
1. 执行 `vim /boot/config.txt` 命令编辑配置文件。
|
||||
|
||||
添加:
|
||||
|
||||
```
|
||||
enable_uart=1
|
||||
```
|
||||
|
||||
该配置项会同时将核心频率固定到 250MHz,无需设置 core_freq。
|
||||
|
||||
2. 执行命令 `systemctl enable hciuart` 设置 hciuart 服务开机启动(默认已设置)。如果已设置,则跳过该步骤。
|
||||
3. 执行 `reboot` 命令重启树莓派。
|
||||
4. 查看串口输出结果
|
||||
|
||||
执行 `ls -l /dev/serial*` 命令,可以看到如下信息:
|
||||
|
||||
```
|
||||
lrwxrwxrwx 1 root root 5 Sep 3 2019 /dev/serial0 -> ttyS0
|
||||
lrwxrwxrwx 1 root root 7 Sep 3 2019 /dev/serial1 -> ttyAMA0
|
||||
```
|
||||
|
||||
在 PC 的串口通信图形化软件上,可以看到树莓派的开机日志以及树莓派上通过命令 `echo "hello" > /dev/serial0` 向串口输出的信息。见下图:
|
||||
|
||||

|
||||
|
||||
#### 禁用蓝牙,串口使用 PL011 UART
|
||||
|
||||
PL011 UART 作为主 UART 分配给 Linux 控制台用于串口通信,在操作系统中对应文件 /dev/ttyAMA0(/dev/serial0)。
|
||||
|
||||
按照以下步骤进行设置:
|
||||
|
||||
1. 执行 `vim /boot/config.txt` 命令编辑配置文件。
|
||||
|
||||
添加:
|
||||
|
||||
```
|
||||
dtoverlay=pi3-disable-bt
|
||||
```
|
||||
|
||||
2. 执行 `systemctl disable hciuart` 命令取消 hciuart 服务开机启动。否则,hciuart 服务会默认开机启动,且启动失败。
|
||||
3. 执行 `reboot` 命令重启树莓派。
|
||||
4. 查看串口输出结果
|
||||
|
||||
执行 `ls -l /dev/serial*` 命令,可以看到如下信息:
|
||||
```
|
||||
lrwxrwxrwx 1 root root 7 Sep 3 2019 /dev/serial0 -> ttyAMA0
|
||||
lrwxrwxrwx 1 root root 5 Sep 3 2019 /dev/serial1 -> ttyS0
|
||||
```
|
||||
|
||||
在 PC 的串口通信图形化软件上,可以看到树莓派的开机日志以及树莓派上通过命令 `echo "hello" > /dev/serial0` 向串口输出的信息。
|
||||
|
||||
#### 蓝牙使用 mini UART,串口使用 PL011 UART
|
||||
|
||||
PL011 UART 作为主 UART 分配给 Linux 控制台用于串口通信,在操作系统中对应文件 /dev/ttyAMA0(/dev/serial0);mini UART 作为辅助 UART 分配给新增的板载蓝牙模块,在操作系统中对应文件 /dev/ttyS0(/dev/serial1)。
|
||||
|
||||
按照以下步骤进行设置:
|
||||
|
||||
1. 执行 `vim /boot/config.txt` 命令编辑配置文件。
|
||||
|
||||
添加:
|
||||
|
||||
```
|
||||
core_freq=250
|
||||
dtoverlay=pi3-miniuart-bt
|
||||
```
|
||||
|
||||
> **须知:**
|
||||
>这里需要设置 core_freq=250。
|
||||
|
||||
2. 执行命令 `systemctl enable hciuart` 设置 hciuart 服务开机启动(默认已设置)。如果已设置,则跳过该步骤。
|
||||
|
||||
3. 执行 `reboot` 命令重启树莓派。
|
||||
4. 查看串口输出结果
|
||||
|
||||
执行 `ls -l /dev/serial*` 命令,可以看到如下信息:
|
||||
```
|
||||
lrwxrwxrwx 1 root root 7 Sep 3 2019 /dev/serial0 -> ttyAMA0
|
||||
lrwxrwxrwx 1 root root 5 Sep 3 2019 /dev/serial1 -> ttyS0
|
||||
```
|
||||
|
||||
在 PC 的串口通信图形化软件上,可以看到树莓派的开机日志以及树莓派上通过命令 `echo "hello" > /dev/serial0` 向串口输出的信息。
|
||||
|
||||
## WiringPi
|
||||
|
||||
WiringPi 是应用于树莓派平台的 GPIO 控制库函数,包括一套 GPIO 控制命令,可以控制树莓派GPIO管脚。WiringPi 是可以扩展的,用户可以利用 WiringPi 的内部模块或把自定义的扩展模块集成到 WiringPi 中以扩展更多的 GPIO 接口或支持更多的功能。
|
||||
|
||||
当前,[官方](http://wiringpi.com/download-and-install/) 提供的链接无法下载 WiringPi,这里使用 [WiringPi 下载链接](https://github.com/WiringPi/WiringPi)。
|
||||
|
||||
### 下载 WiringPi
|
||||
|
||||
`git clone https://github.com/WiringPi/WiringPi.git`
|
||||
|
||||
### 安装 WiringPi
|
||||
|
||||
`cd WiringPi`
|
||||
|
||||
`sudo ./build`
|
||||
|
||||
> **须知:**
|
||||
>当前系统默认未安装 sudo、make、gcc等,使用命令 `dnf install -y sudo make gcc` 安装。
|
||||
|
||||
### 使用 WiringPi
|
||||
|
||||
`gpio -v`
|
||||
|
||||
`gpio readall`
|
||||
|
||||

|
||||
|
||||
注意,使用命令 `gpio readall`,可能会报错:
|
||||
|
||||
```
|
||||
wiringPiSetup: mmap (GPIO) failed: Operation not permitted
|
||||
```
|
||||
|
||||
解决方法,编辑 `/boot/cmdline.txt` 添加内容 `iomem=relaxed`,执行 `reboot` 命令重启树莓派。
|
||||
|
||||
当前,`/boot/cmdline.txt` 最终内容为:
|
||||
|
||||
```
|
||||
console=serial0,115200 console=tty1 root=/dev/mmcblk0p3 rootfstype=ext4 elevator=deadline iomem=relaxed rootwait
|
||||
```
|
||||
BIN
documents/rockchip/images/addrepo.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
documents/rockchip/images/completely.png
Normal file
|
After Width: | Height: | Size: 260 KiB |
BIN
documents/rockchip/images/emmcaddress.png
Normal file
|
After Width: | Height: | Size: 147 KiB |
BIN
documents/rockchip/images/loader.png
Normal file
|
After Width: | Height: | Size: 59 KiB |
BIN
documents/rockchip/images/releaseyum.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
documents/rockchip/images/rk3399-emmcaddress.png
Normal file
|
After Width: | Height: | Size: 59 KiB |
BIN
documents/rockchip/images/rk3399-maskrommode.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
551
documents/rockchip/openEuler镜像的构建.md
Normal file
@ -0,0 +1,551 @@
|
||||
- [描述](#描述)
|
||||
- [准备编译环境](#准备编译环境)
|
||||
- [基于主线 u-boot 编译启动文件](#基于主线-u-boot-编译启动文件)
|
||||
- [编译 u-boot](#编译-u-boot)
|
||||
- [基于 openEuler 内核编译内核镜像](#基于-openeuler-内核编译内核镜像)
|
||||
- [编译内核代码](#编译内核代码)
|
||||
- [构建 boot 镜像](#构建-boot-镜像)
|
||||
- [构建 rootfs 镜像](#构建-rootfs-镜像)
|
||||
- [创建 RPM 数据库](#创建-rpm-数据库)
|
||||
- [下载安装 openEuler 发布包](#下载安装-openeuler-发布包)
|
||||
- [添加 yum 源](#添加-yum-源)
|
||||
- [安装 dnf](#安装-dnf)
|
||||
- [安装必要软件](#安装必要软件)
|
||||
- [添加配置文件](#添加配置文件)
|
||||
- [rootfs 设置](#rootfs-设置)
|
||||
- [制作 openEuler 镜像](#制作-openeuler-镜像)
|
||||
- [创建镜像](#创建镜像)
|
||||
- [创建空镜像](#创建空镜像)
|
||||
- [镜像分区](#镜像分区)
|
||||
- [创建分区表](#创建分区表)
|
||||
- [镜像分区](#镜像分区-1)
|
||||
- [设置 boot 分区为可启动](#设置-boot-分区为可启动)
|
||||
- [使用 losetup 将磁盘镜像文件虚拟成块设备](#使用-losetup-将磁盘镜像文件虚拟成块设备)
|
||||
- [使用 kpartx 创建分区表 /dev/loop0 的设备映射](#使用-kpartx-创建分区表-devloop0-的设备映射)
|
||||
- [写入 u-boot](#写入-u-boot)
|
||||
- [格式化分区](#格式化分区)
|
||||
- [创建要挂载的根目录和 boot 分区路径](#创建要挂载的根目录和-boot-分区路径)
|
||||
- [挂载根目录和 boot 分区](#挂载根目录和-boot-分区)
|
||||
- [获取生成的 img 镜像的 blkid](#获取生成的-img-镜像的-blkid)
|
||||
- [修改 fstab](#修改-fstab)
|
||||
- [rootfs 拷贝到镜像](#rootfs-拷贝到镜像)
|
||||
- [boot 引导拷贝到镜像](#boot-引导拷贝到镜像)
|
||||
- [卸载镜像](#卸载镜像)
|
||||
- [同步到盘](#同步到盘)
|
||||
- [卸载](#卸载)
|
||||
- [卸载镜像文件虚拟的块设备](#卸载镜像文件虚拟的块设备)
|
||||
|
||||
# 描述
|
||||
|
||||
本文档介绍如何构建适用于 Rockchip 开发板的 openEuler 镜像。
|
||||
|
||||
# 准备编译环境
|
||||
|
||||
1. 系统要求。
|
||||
- 操作系统:openEuler
|
||||
- 架构:AArch64
|
||||
|
||||
2. 安装依赖包
|
||||
|
||||
```
|
||||
dnf makecache
|
||||
dnf install git wget make gcc bison dtc m4 flex bc openssl-devel tar dosfstools rsync parted dnf-plugins-core tar
|
||||
```
|
||||
|
||||
3. 创建工作目录
|
||||
```
|
||||
WORKDIR=$(pwd)/build
|
||||
mkdir $WORKDIR
|
||||
cd $WORKDIR
|
||||
```
|
||||
|
||||
# 基于主线 u-boot 编译启动文件
|
||||
|
||||
## 编译 u-boot
|
||||
|
||||
1. 下载源码
|
||||
|
||||
```
|
||||
cd $WORKDIR
|
||||
git clone --branch v2020.10 https://github.com/u-boot/u-boot.git
|
||||
```
|
||||
|
||||
2. 获取 ARM-Trusted-Firmware
|
||||
|
||||
```
|
||||
cd u-boot
|
||||
wget -O bl31.elf https://github.com/rockchip-linux/rkbin/raw/master/bin/rk33/rk3399_bl31_v1.35.elf
|
||||
```
|
||||
|
||||
3. 编译 u-boot
|
||||
|
||||
```
|
||||
make ARCH=arm firefly-rk3399_defconfig
|
||||
make ARCH=arm -j$(nproc)
|
||||
make ARCH=arm u-boot.itb -j$(nproc)
|
||||
```
|
||||
|
||||
4. 收集编译结果
|
||||
|
||||
将生成的 idbloader.img 和 u-boot.itb 文件复制到工作目录。
|
||||
|
||||
```
|
||||
cp idbloader.img $WORKDIR
|
||||
cp idbloader.img $WORKDIR
|
||||
cd $WORKDIR
|
||||
```
|
||||
|
||||
|
||||
# 基于 openEuler 内核编译内核镜像
|
||||
|
||||
## 编译内核代码
|
||||
|
||||
1. 下载源码
|
||||
|
||||
```
|
||||
cd $WORKDIR
|
||||
git clone --branch openEuler-20.03-LTS https://gitee.com/openeuler/rockchip-kernel.git
|
||||
```
|
||||
|
||||
2. 编译内核,生成内核映像文件 Image 和设备树文件
|
||||
```
|
||||
cd rockchip-kernel
|
||||
make O=test firefly_linux_defconfig
|
||||
make O=test Image
|
||||
make O=test dtbs
|
||||
```
|
||||
|
||||
3. 收集编译结果
|
||||
|
||||
将编译生成的内核映像文件 Image 和设备树文件复制到工作目录。
|
||||
|
||||
```
|
||||
cp test/arch/arm64/boot/Image $WORKDIR/kernel8.img
|
||||
cp test/arch/arm64/boot/dts/rockchip/firefly-rk3399.dtb $WORKDIR
|
||||
```
|
||||
|
||||
# 构建 boot 镜像
|
||||
|
||||
1. 创建 boot 工作目录
|
||||
|
||||
```
|
||||
cd $WORKDIR
|
||||
mkdir -p boot/extlinux
|
||||
```
|
||||
2. 设置内核启动项
|
||||
|
||||
将以下内容写进 boot/extlinux/extlinux.conf
|
||||
|
||||
label openEuler
|
||||
kernel /kernel8.img
|
||||
fdt /firefly-rk3399.dtb
|
||||
append earlyprintk console=ttyS2,1500000 rw root=/dev/mmcblk1p5 rootfstype=ext4 init=/sbin/init rootwait"
|
||||
|
||||
3. 内核映像文件和设备树文件放入 boot 目录
|
||||
|
||||
```
|
||||
cp $WORKDIR/kernel8.img boot
|
||||
cp $WORKDIR/firefly-rk3399.dtb boot
|
||||
```
|
||||
|
||||
4. 构建 boot 镜像
|
||||
|
||||
1. 创建空镜像
|
||||
|
||||
`dd if=/dev/zero of=boot.img bs=1M count=32`
|
||||
|
||||
2. 格式化为 fat 文件格式
|
||||
|
||||
`sudo mkfs.fat boot.img`
|
||||
|
||||
3. 创建临时目录
|
||||
|
||||
`mkdir tmp`
|
||||
|
||||
4. 将 boot.img 挂载到临时目录
|
||||
|
||||
`sudo mount boot.img tmp/`
|
||||
|
||||
5. 填充镜像内容
|
||||
|
||||
`cp -r boot/* tmp/`
|
||||
|
||||
6. 取消挂载 boot.img
|
||||
|
||||
`umount tmp`
|
||||
|
||||
# 构建 rootfs 镜像
|
||||
|
||||
## 创建 RPM 数据库
|
||||
|
||||
```
|
||||
cd $WORKDIR
|
||||
mkdir rootfs
|
||||
mkdir -p rootfs/var/lib/rpm
|
||||
rpm --root $WORKDIR/rootfs/ --initdb
|
||||
```
|
||||
|
||||
## 下载安装 openEuler 发布包
|
||||
|
||||
```
|
||||
rpm -ivh --nodeps --root $WORKDIR/rootfs/ http://repo.openeuler.org/openEuler-20.03-LTS/everything/aarch64/Packages/openEuler-release-20.03LTS-33.oe1.aarch64.rpm
|
||||
```
|
||||
|
||||
执行此操作会在/root/rootfs下生成3个文件夹,如下:
|
||||
|
||||

|
||||
|
||||
|
||||
## 添加 yum 源
|
||||
|
||||
```
|
||||
mkdir $WORKDIR/rootfs/etc/yum.repos.d`
|
||||
curl -o $WORKDIR/rootfs/etc/yum.repos.d/openEuler-20.03-LTS.repo https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS/generic.repo
|
||||
```
|
||||
|
||||

|
||||
|
||||
## 安装 dnf
|
||||
|
||||
`dnf --installroot=$WORKDIR/rootfs/ install dnf --nogpgcheck -y`
|
||||
|
||||
## 安装必要软件
|
||||
|
||||
```
|
||||
dnf --installroot=$WORKDIR/rootfs/ makecache
|
||||
dnf --installroot=$WORKDIR/rootfs/ install -y alsa-utils wpa_supplicant vim net-tools iproute iputils NetworkManager openssh-server passwd hostname ntp bluez pulseaudio-module-bluetooth
|
||||
```
|
||||
|
||||
## 添加配置文件
|
||||
|
||||
1. 设置 DNS
|
||||
```
|
||||
cp -L /etc/resolv.conf ${WORKDIR}/rootfs/etc/resolv.conf
|
||||
vim $WORKDIR/rootfs/etc/resolv.conf
|
||||
```
|
||||
添加内容:
|
||||
```
|
||||
nameserver 8.8.8.8
|
||||
nameserver 114.114.114.114
|
||||
```
|
||||
2. 设置 IP 自动获取
|
||||
|
||||
```
|
||||
mkdir $WORKDIR/rootfs/etc/sysconfig/network-scripts
|
||||
vim $WORKDIR/rootfs/etc/sysconfig/network-scripts/ifup-eth0
|
||||
```
|
||||
内容:
|
||||
```
|
||||
TYPE=Ethernet
|
||||
PROXY_METHOD=none
|
||||
BROWSER_ONLY=no
|
||||
BOOTPROTO=dhcp
|
||||
DEFROUTE=yes
|
||||
IPV4_FAILURE_FATAL=no
|
||||
IPV6INIT=yes
|
||||
IPV6_AUTOCONF=yes
|
||||
IPV6_DEFROUTE=yes
|
||||
IPV6_FAILURE_FATAL=no
|
||||
IPV6_ADDR_GEN_MODE=stable-privacy
|
||||
NAME=eth0
|
||||
UUID=851a6f36-e65c-3a43-8f4a-78fd0fc09dc9
|
||||
ONBOOT=yes
|
||||
AUTOCONNECT_PRIORITY=-999
|
||||
DEVICE=eth0
|
||||
```
|
||||
3. 拷贝 wifi 配置文件,蓝牙启动文件
|
||||
|
||||
1. 下载 [无线配置目录](../../scripts/rockchip/bin/wireless) 到 $WORKDIR
|
||||
|
||||
2. 拷贝文件 :
|
||||
```
|
||||
mkdir $WORKDIR/rootfs/system
|
||||
cp -r $WORKDIR/wireless/system/* $WORKDIR/rootfs/system/
|
||||
cp $WORKDIR/wireless/rcS.sh $WORKDIR/rootfs/etc/profile.d/
|
||||
cp $WORKDIR/wireless/enable_bt $WORKDIR/rootfs/usr/bin/
|
||||
chmod +x $WORKDIR/rootfs/usr/bin/enable_bt $WORKDIR/rootfs/etc/profile.d/rcS.sh
|
||||
```
|
||||
|
||||
4. 设置 NTP 服务器
|
||||
|
||||
```
|
||||
sed -i 's/#NTP=/NTP=0.cn.pool.ntp.org/g' $WORKDIR/rootfs/etc/systemd/timesyncd.conf
|
||||
sed -i 's/#FallbackNTP=/FallbackNTP=1.asia.pool.ntp.org 2.asia.pool.ntp.org/g' $WORKDIR/rootfs/etc/systemd/timesyncd.conf
|
||||
```
|
||||
|
||||
5. 添加第一次开机扩容脚本
|
||||
|
||||
在 `$WORKDIR/rootfs/etc/rc.d/init.d/expand-rootfs.sh` 写入以下内容:
|
||||
|
||||
echo "#!/bin/bash
|
||||
# chkconfig: - 99 10
|
||||
# description: expand rootfs
|
||||
|
||||
ROOT_PART="$(findmnt / -o source -n)" # /dev/mmcblk1p5
|
||||
ROOT_DEV="/dev/$(lsblk -no pkname "$ROOT_PART")" # /dev/mmcblk1
|
||||
PART_NUM="$(echo "$ROOT_PART" | grep -o "[[:digit:]]*$")" # 5
|
||||
|
||||
cat << EOF | gdisk $ROOT_DEV
|
||||
p
|
||||
w
|
||||
Y
|
||||
Y
|
||||
EOF
|
||||
|
||||
parted -s $ROOT_DEV -- resizepart $PART_NUM 100%
|
||||
resize2fs $ROOT_PART
|
||||
|
||||
ln -s /system/etc/firmware /etc/firmware
|
||||
|
||||
if [ -f /etc/rc.d/init.d/expand-rootfs.sh ];then rm /etc/rc.d/init.d/expand-rootfs.sh; fi" >> ${WORKDIR}/rootfs/etc/rc.d/init.d/expand-rootfs.sh
|
||||
|
||||
设置可执行权限:
|
||||
|
||||
`chmod +x $WORKDIR/rootfs/etc/rc.d/init.d/expand-rootfs.sh`
|
||||
|
||||
## rootfs 设置
|
||||
|
||||
1. 挂载必要的路径
|
||||
|
||||
mount --bind /dev $WORKDIR/rootfs/dev
|
||||
mount -t proc /proc $WORKDIR/rootfs/proc
|
||||
mount -t sysfs /sys $WORKDIR/rootfs/sys
|
||||
|
||||
2. run chroot
|
||||
|
||||
`chroot $WORKDIR/rootfs /bin/bash`
|
||||
|
||||
3. 设置 root 密码
|
||||
|
||||
`passwd root`
|
||||
|
||||
输入要设置的 root 密码。
|
||||
|
||||
4. 设置主机名
|
||||
|
||||
`echo openEuler > /etc/hostname`
|
||||
|
||||
5. 设置默认时区为东八区
|
||||
|
||||
`ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime`
|
||||
|
||||
6. 设置第一次开机扩容脚本,然后退出
|
||||
|
||||
```
|
||||
chkconfig --add expand-rootfs.sh
|
||||
chkconfig expand-rootfs.sh on
|
||||
exit
|
||||
```
|
||||
|
||||
7. 取消临时挂载的目录
|
||||
|
||||
```
|
||||
umount -l $WORKDIR/rootfs/dev
|
||||
umount -l $WORKDIR/rootfs/proc
|
||||
umount -l $WORKDIR/rootfs/sys
|
||||
```
|
||||
|
||||
8. 制作镜像
|
||||
|
||||
1. dd 创建镜像:
|
||||
|
||||
`dd if=/dev/zero of=rootfs.img bs=1M count=3000`
|
||||
|
||||
2. 格式化镜像:
|
||||
|
||||
`mkfs.ext4 rootfs.img`
|
||||
|
||||
3. 创建挂载目录
|
||||
|
||||
```
|
||||
mkdir rootfsimg
|
||||
```
|
||||
|
||||
4. 挂载镜像
|
||||
|
||||
```
|
||||
mount rootfs.img rootfsimg/
|
||||
```
|
||||
|
||||
5. rootfs 拷贝到挂载目录
|
||||
|
||||
```
|
||||
cp -rfp rootfs/* rootfsimg/
|
||||
```
|
||||
|
||||
6. 卸载镜像
|
||||
|
||||
`umount rootfsimg/`
|
||||
|
||||
7. 修复文件系统
|
||||
|
||||
```
|
||||
e2fsck -p -f rootfs.img
|
||||
resize2fs -M rootfs.img
|
||||
```
|
||||
|
||||
# 制作 openEuler 镜像
|
||||
|
||||
基于以上章节生成的文件,制作用于刷写到 SD 卡的 openEuler 镜像。
|
||||
|
||||
## 创建镜像
|
||||
|
||||
### 创建空镜像
|
||||
|
||||
```
|
||||
cd $WORKDIR
|
||||
dd if=/dev/zero of=openeuler-rk3399.img bs=1MiB count=3072 status=progress && sync
|
||||
```
|
||||
|
||||
注意:这里创建了一个大小为3G的文件,可以根据实际情况适当调整。
|
||||
|
||||
### 镜像分区
|
||||
|
||||
#### 创建分区表
|
||||
|
||||
`parted openeuler-rk3399.img mktable gpt`
|
||||
|
||||
#### 镜像分区
|
||||
|
||||
执行 `fdisk openeuler-rk3399.img` 后,根据提示依次输入:
|
||||
|
||||
1. 输入 p,查看分区信息,可以看到当前无分区。
|
||||
2. 输入 n,创建 idbloader 分区。
|
||||
3. 输入 p 或直接按 Enter,创建 Primary 类型的分区。
|
||||
4. 输入 1 或直接按 Enter,创建序号为 1 的分区。
|
||||
5. 输入 64,输入第一个分区的起始扇区号。
|
||||
6. 输入 16383,输入第一个分区的末尾扇区号。
|
||||
7. 输入 p,查看当前分区情况,可以看到当前有一个分区。
|
||||
8. 输入 n,创建 u-boot 分区。
|
||||
9. 输入 p 或直接按 Enter,创建 Primary 类型的分区。
|
||||
10. 输入 2 或直接按 Enter,创建序号为 2 的分区。
|
||||
11. 输入 16384,输入第二个分区的起始扇区号。
|
||||
12. 输入 24575,输入第二个分区的末尾扇区号。
|
||||
13. 输入 p,查看当前分区情况,可以看到当前有两个分区。
|
||||
14. 输入 n,创建 trust 分区。
|
||||
15. 输入 p 或直接按 Enter,创建 Primary 类型的分区。
|
||||
16. 输入 3 或直接按 Enter,创建序号为 3 的分区。
|
||||
17. 输入 24576,输入第二个分区的起始扇区号。
|
||||
18. 输入 32767,输入第二个分区的末尾扇区号。
|
||||
19. 输入 p,查看当前分区情况,可以看到当前有三个分区。
|
||||
20. 输入 n,创建 boot 分区。
|
||||
21. 输入 p 或直接按 Enter,创建 Primary 类型的分区。
|
||||
22. 输入 4 或直接按 Enter,创建序号为 4 的分区。
|
||||
23. 输入 32768,输入第二个分区的起始扇区号。
|
||||
24. 输入 262143,输入第二个分区的末尾扇区号。
|
||||
25. 输入 p,查看当前分区情况,可以看到当前有四个分区。
|
||||
26. 输入 n,创建 root 分区。
|
||||
27. 输入 p 或直接按 Enter,创建 Primary 类型的分区。
|
||||
28. 输入 5 或直接按 Enter,创建序号为 5 的分区。
|
||||
29. 输入 262144,输入第三个分区的起始扇区号。
|
||||
30. 按 Enter,输入第三个分区的末尾扇区号,使用最后一个扇区号作为第五个分区的末尾扇区号。
|
||||
31. 输入 p,查看当前分区情况,可以看到当前有五个分区。
|
||||
32. 输入 w,写入并退出。
|
||||
|
||||
#### 设置 boot 分区为可启动
|
||||
|
||||
`parted openeuler-rk3399.img -s set 4 boot on`
|
||||
|
||||
## 使用 losetup 将磁盘镜像文件虚拟成块设备
|
||||
|
||||
`losetup -f --show openeuler-rk3399.img`
|
||||
|
||||
例如,显示结果为 /dev/loop0。
|
||||
|
||||
## 使用 kpartx 创建分区表 /dev/loop0 的设备映射
|
||||
|
||||
`kpartx -va /dev/loop0`
|
||||
|
||||
得到结果将 /dev/loop0 五个分区挂载了:
|
||||
```
|
||||
add map loop0p1 ...
|
||||
add map loop0p2 ...
|
||||
add map loop0p3 ...
|
||||
add map loop0p4 ...
|
||||
add map loop0p5 ...
|
||||
```
|
||||
|
||||
运行 `ls /dev/mapper/loop0p*` 可以看到分区分别对应刚才为 openeuler-rk3399.img 做的五个分区:
|
||||
|
||||
```
|
||||
/dev/mapper/loop0p1 /dev/mapper/loop0p2 /dev/mapper/loop0p3 /dev/mapper/loop0p4 /dev/mapper/loop0p5
|
||||
```
|
||||
|
||||
## 写入 u-boot
|
||||
|
||||
1. 写入 idbloader.img。
|
||||
|
||||
`dd if=idbloader.img of=/dev/mapper/loop0p1`
|
||||
|
||||
2. 写入 u-boot.itb。
|
||||
|
||||
`dd if=u-boot.itb of=/dev/mapper/loop0p2`
|
||||
|
||||
## 格式化分区
|
||||
|
||||
1. 格式化 boot 分区
|
||||
|
||||
`mkfs.vfat -n boot /dev/mapper/loop0p4`
|
||||
|
||||
3. 格式化 root 分区
|
||||
|
||||
`mkfs.ext4 /dev/mapper/loop0p5`
|
||||
|
||||
## 创建要挂载的根目录和 boot 分区路径
|
||||
|
||||
`mkdir $WORKDIR/rootp $WORKDIR/bootp`
|
||||
|
||||
## 挂载根目录和 boot 分区
|
||||
|
||||
`mount -t vfat -o uid=root,gid=root,umask=0000 /dev/mapper/loop0p4 $WORKDIR/bootp/`
|
||||
|
||||
`mount -t ext4 /dev/mapper/loop0p5 $WORKDIR/rootp/`
|
||||
|
||||
## 获取生成的 img 镜像的 blkid
|
||||
|
||||
执行命令 blkid 得到三个分区的 UUID,例如:
|
||||
```
|
||||
...
|
||||
/dev/mapper/loop0p4: SEC_TYPE="msdos" LABEL="boot" UUID="2785-C7C3" TYPE="vfat" PARTUUID="e0a091bd-04"
|
||||
/dev/mapper/loop0p5: UUID="67b5fc1c-9cd3-4884-968c-4ca35e5ae154" TYPE="ext4" PARTUUID="e0a091bd-05"
|
||||
```
|
||||
|
||||
## 修改 fstab
|
||||
|
||||
`vim $WORKDIR/rootfs/etc/fstab`
|
||||
|
||||
内容:
|
||||
```
|
||||
UUID=67b5fc1c-9cd3-4884-968c-4ca35e5ae154 / ext4 defaults,noatime 0 0
|
||||
UUID=2785-C7C3 /boot vfat defaults,noatime 0 0
|
||||
```
|
||||
|
||||
## rootfs 拷贝到镜像
|
||||
|
||||
`rsync -avHAXq $WORKDIR/rootfs/* $WORKDIR/rootp`
|
||||
|
||||
## boot 引导拷贝到镜像
|
||||
|
||||
`cp -r $WORKDIR/boot/* $WORKDIR/bootp`
|
||||
|
||||
## 卸载镜像
|
||||
|
||||
### 同步到盘
|
||||
|
||||
`sync`
|
||||
|
||||
### 卸载
|
||||
|
||||
`umount $WORKDIR/root`
|
||||
|
||||
`umount $WORKDIR/boot`
|
||||
|
||||
### 卸载镜像文件虚拟的块设备
|
||||
|
||||
`kpartx -d /dev/loop0`
|
||||
|
||||
`losetup -d /dev/loop0`
|
||||
|
||||
这样,最终就生成了需要的 openeuler-rk3399.img 镜像文件。
|
||||
|
||||
之后就可以使用镜像刷写 SD 卡并使用 Firefly-RK3399 了。
|
||||
139
documents/rockchip/使用Docker构建镜像.md
Normal file
@ -0,0 +1,139 @@
|
||||
- [描述](#描述)
|
||||
- [准备环境](#准备环境)
|
||||
- [安装 Docker 及 qemu-user-static-aarch64](#安装-docker-及-qemu-user-static-aarch64)
|
||||
- [openEuler/CentOS](#openeulercentos)
|
||||
- [Debian/Ubuntu](#debianubuntu)
|
||||
- [拉取 openEuler Docker 镜像](#拉取-openeuler-docker-镜像)
|
||||
- [运行 openEuler Docker 容器](#运行-openeuler-docker-容器)
|
||||
- [容器内安装 Git 来拉取构建框架](#容器内安装-git-来拉取构建框架)
|
||||
- [容器内拉取并运行构建框架](#容器内拉取并运行构建框架)
|
||||
- [将容器内构建好的镜像复制到主机](#将容器内构建好的镜像复制到主机)
|
||||
|
||||
## 描述
|
||||
|
||||
本文介绍了如何使用 Docker 来运行 rockchip 的 openEuler 构建框架。
|
||||
|
||||
## 准备环境
|
||||
|
||||
- 操作系统:openEuler, CentOS, Ubuntu, Debian
|
||||
- 架构:aarch64, x86_64
|
||||
|
||||
## 安装 Docker 及 qemu-user-static-aarch64
|
||||
|
||||
### openEuler/CentOS
|
||||
|
||||
```
|
||||
dnf makecache
|
||||
dnf install docker -y
|
||||
```
|
||||
|
||||
如果是 `aarch64` 架构的构建主机,可以跳过以下步骤;如果是 `x86_64` 架构的构建主机,则还需要执行以下步骤来安装 `qemu-user-static-aarch64`。
|
||||
|
||||
```
|
||||
wget https://dl.fedoraproject.org/pub/fedora/linux/releases/40/Everything/x86_64/os/Packages/q/qemu-user-static-aarch64-8.2.2-1.fc40.x86_64.rpm
|
||||
|
||||
rpm -ivh qemu-user-static-aarch64-8.2.2-1.fc40.x86_64.rpm
|
||||
```
|
||||
|
||||
### Debian/Ubuntu
|
||||
|
||||
```
|
||||
apt-get update
|
||||
apt-get install docker.io -y
|
||||
```
|
||||
|
||||
如果是 `aarch64` 架构的构建主机,可以跳过以下步骤;如果是 `x86_64` 架构的构建主机,则还需要执行以下步骤来安装 `qemu-user-static`。
|
||||
|
||||
```
|
||||
apt-get install qemu-user-static -y
|
||||
```
|
||||
|
||||
## 拉取 openEuler Docker 镜像
|
||||
|
||||
```
|
||||
docker pull --platform=linux/arm64 openeuler/openeuler:22.03-lts
|
||||
```
|
||||
|
||||
- `--platform=linux/arm64` 的意思是拉取 `arm64` 的镜像,如果在 `x86_64` 架构的构建主机上进行拉取的话,需要软件 QEMU 来模拟运行。
|
||||
|
||||
- `openeuler/openeuler` 对应的 tag `22.03-lts` 可以在以下页面查阅:
|
||||
|
||||
https://hub.docker.com/r/openeuler/openeuler
|
||||
|
||||
执行以上命令的输出如下:
|
||||
|
||||
```
|
||||
[root@localhost ~]# docker pull --platform=linux/arm64 openeuler/openeuler:22.03-lts
|
||||
22.03-lts: Pulling from openeuler/openeuler
|
||||
69c9100b5f7b: Pull complete
|
||||
249b19ca6efa: Pull complete
|
||||
Digest: sha256:ce16fc3edbd44ca0dcbc3d5c01f8e09242c7e73471f18b948d0add0f180d1a17
|
||||
Status: Downloaded newer image for openeuler/openeuler:22.03-lts
|
||||
docker.io/openeuler/openeuler:22.03-lts
|
||||
```
|
||||
|
||||
## 运行 openEuler Docker 容器
|
||||
|
||||
```
|
||||
docker run --privileged --name openEuler-2203-aarch64 -it openeuler/openeuler:22.03-lts
|
||||
```
|
||||
|
||||
- `--privileged` 表示以特权模式运行,因为构建过程包括镜像的分区和挂载,需要启用特权模式。
|
||||
- `--name openEuler-2403-aarch64` 将镜像的名字设置为 openEuler-2403-aarch64。
|
||||
- `openeuler/openeuler:22.03-lts` 表示运行之前拉取的版本。
|
||||
|
||||
执行以上命令的输出如下:
|
||||
|
||||
```
|
||||
[root@localhost ~]# docker run --privileged --name openEuler-2403-aarch64 -it openeuler/openeuler:22.03-lts
|
||||
WARNING: The requested image's platform (linux/arm64) does not match the detected host platform (linux/amd64/v4) and no specific platform was requested
|
||||
|
||||
|
||||
Welcome to 6.6.0-28.0.0.34.oe2403.x86_64
|
||||
|
||||
System information as of time: Thu Oct 31 03:33:33 UTC 2024
|
||||
|
||||
System load: 0.07
|
||||
Processes: 5
|
||||
Memory used: 8.1%
|
||||
Swap used: 0%
|
||||
Usage On: 13%
|
||||
Users online: 0
|
||||
|
||||
|
||||
[root@5999265a441f /]#
|
||||
```
|
||||
|
||||
如果是 `aarch64` 架构的构建主机,则不会出现 `WARNING: The requested image's platform (linux/arm64) does not match the detected host platform (linux/amd64/v4) and no specific platform was requested` 的警告信息。
|
||||
|
||||
查看 Docker 是否成功使用 QEMU 模拟 `aarch64` 架构(`aarch64` 架构的构建主机则不需要这一步骤)。
|
||||
|
||||
```
|
||||
[root@5999265a441f /]# arch
|
||||
aarch64
|
||||
```
|
||||
|
||||
## 容器内安装 Git 来拉取构建框架
|
||||
|
||||
```
|
||||
dnf makecache
|
||||
dnf install git -y
|
||||
```
|
||||
|
||||
## 容器内拉取并运行构建框架
|
||||
|
||||
过程参见[镜像构建](../瑞芯微等开发板.md#镜像构建)。
|
||||
|
||||
## 将容器内构建好的镜像复制到主机
|
||||
|
||||
脚本执行完成后,会在 Docker 容器中脚本所在目录的 build/YYYY-MM-DD 文件夹下生成 openEuler 镜像文件。
|
||||
|
||||
假设构建框架 rockchip 文件夹的在 Docker 容器里的绝对路径为:/root/rockchip,使用以下命令来拷贝 openEuler 镜像文件到构建主机:
|
||||
|
||||
```
|
||||
docker cp openEuler-2203-aarch64:/root/rockchip/build/YYYY-MM-DD/openEuler-VERSION-BOARD-ARCH-RELEASE.img.xz /root
|
||||
```
|
||||
|
||||
- `openEuler-2203-aarch64` 为 Docker 容器的名称。
|
||||
- `/root/rockchip/build/YYYY-MM-DD/openEuler-VERSION-BOARD-ARCH-RELEASE.img.xz` 为 Docker 容器内 openEuler 镜像的绝对路径。
|
||||
- `/root` 为拷贝 openEuler 镜像文件到构建主机的目标路径。
|
||||
161
documents/rockchip/刷写EMMC镜像.md
Normal file
@ -0,0 +1,161 @@
|
||||
- [描述](#描述)
|
||||
- [使用 Windows 刷写](#使用-windows-刷写)
|
||||
- [使用打包后的 EMMC 刷写文件](#使用打包后的-emmc-刷写文件)
|
||||
- [使用压缩后的 RAW 原始镜像](#使用压缩后的-raw-原始镜像)
|
||||
- [使用 Linux 刷写](#使用-linux-刷写)
|
||||
- [使用 SD 镜像启动后进入系统刷写](#使用-sd-镜像启动后进入系统刷写)
|
||||
|
||||
# 描述
|
||||
|
||||
本文档以为 Firefly ROC-RK3588S-PC 开发板刷写镜像为例,介绍了如何将 EMMC 刷写文件刷写入 EMMC。
|
||||
|
||||
# 使用 Windows 刷写
|
||||
|
||||
## 使用打包后的 EMMC 刷写文件
|
||||
|
||||
1. 本方法仅适用于 RK3399。
|
||||
|
||||
2. 生成的刷写文件压缩包为 build 下的 openEuler-VERSION-BOARD-RELEASE.tar.gz,将其解压。
|
||||
|
||||
3. 下载 [RKDevTool 工具](http://www.t-firefly.com/doc/download/page/id/3.html#other_374)。
|
||||
|
||||
4. 进入 Loader 模式
|
||||
|
||||
1. 使用 Type-C data cable 连接好开发板和主机。
|
||||
|
||||
2. 使开发板进入 Loader 模式。
|
||||
- 按住开发板上的 RECOVERY (恢复)键并保持
|
||||
- 短按一下 RESET(复位)键
|
||||
- 大约两秒钟后,松开 RECOVERY 键
|
||||
|
||||

|
||||
|
||||
5. 切换至下载镜像页,勾选需要烧录的分区,可以多选。
|
||||
|
||||
6. 确保映像文件的路径和刷入地址正确,点击路径右边的空白表格单元格选择对应的文件。
|
||||
|
||||

|
||||
|
||||
7. 点击执行按钮开始升级,升级结束后开发板会自动重启。
|
||||
|
||||
## 使用压缩后的 RAW 原始镜像
|
||||
|
||||
1. 本方法适用于 Rk3399/RK3588。
|
||||
|
||||
2. 刷写所需要的文件:
|
||||
|
||||
1. 生成的刷写文件压缩包为 build 下或项目主页发布的的压缩后的 RAW 原始镜像(需要解压):openEuler-VERSION-BOARD-RELEASE.img.xz。
|
||||
|
||||
2. 项目主页 scripts/bin 目录下提供的:
|
||||
- 如果是 RK3399,使用 [rk3399_loader.bin](../../scripts/rockchip/bin/rk3399_loader.bin)
|
||||
- 如果是 RK3588,使用 [rk3588_loader.bin](../../scripts/rockchip/bin/rk3588_loader.bin)
|
||||
|
||||
3. 下载版本不小于 2.92 的 [RKDevTool 工具](https://dl.radxa.com/tools/windows/windows_RKDevTool_Release_v2.92.zip)。
|
||||
|
||||
4. 进入 Maskrom 模式
|
||||
|
||||
1. 使用 Type-C data cable 连接好开发板和主机。
|
||||
|
||||
2. 使开发板进入 Maskrom 模式。
|
||||
1. 如果开发板有 Maskrom 按键。
|
||||
- 按住开发板上的 Maskrom 键并保持;
|
||||
- 插上电源线;
|
||||
- 在 RKDevTool 显示“发现一个 MASKROM 设备后”,松开 Maskrom 键。
|
||||
2. 如果开发板没有 Maskrom 按键(例如 Firefly-RK3399)。
|
||||
- 开发板开机,登录到开发板后,清除 EMMC 上的引导程序,此时开发板会自动进入 maskrom 模式。
|
||||
```
|
||||
dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=8
|
||||
reboot
|
||||
```
|
||||
|
||||
5. 切换至下载镜像页,勾选需要烧录的分区,可以多选。
|
||||
|
||||
6. 按照图片顺序进行操作:
|
||||
|
||||
1. 两者地址都为 `0x00000000`,确保刷入地址正确。
|
||||
|
||||
2. 点击路径右边的空白表格单元格选择:
|
||||
- 如果是 RK3399,选择 rk3399_loader.bin
|
||||
- 如果是 RK3588,选择 rk3588_loader.bin
|
||||
|
||||
3. 点击路径右边的空白表格单元格选择 openEuler-VERSION-BOARD-RELEASE.img。
|
||||
|
||||
4. 双击 system 项目的“储存”栏,选择储存为 EMMC。
|
||||
|
||||
5. 勾选“强制按地址写”。
|
||||
|
||||
6. 点击执行,开始刷写。
|
||||
|
||||

|
||||
|
||||
7. 刷写成功界面如下,刷写结束后开发板会自动重启。
|
||||
|
||||

|
||||
|
||||
# 使用 Linux 刷写
|
||||
|
||||
1. 本方法仅支持 RK3399。
|
||||
|
||||
2. 生成的刷写文件压缩包为 build 下的 openEuler-VERSION-BOARD-RELEASE.tar.gz,将其解压。
|
||||
|
||||
3. 编译安装 rkdeveloptool ,具体可以参考 [Rockchip 官方 wiki - rkdeveloptool](http://opensource.rock-chips.com/wiki_Rkdeveloptool)
|
||||
|
||||
1. 下载源码
|
||||
|
||||
`git clone https://github.com/rockchip-linux/rkdeveloptool.git`
|
||||
|
||||
2. 编译安装
|
||||
|
||||
`cd rkdeveloptool`
|
||||
|
||||
`autoreconf -i`
|
||||
|
||||
`./configure`
|
||||
|
||||
`make`
|
||||
|
||||
`make install`
|
||||
|
||||
|
||||
4. 开发板开机,登录到开发板后,清除 EMMC 上的引导程序,此时开发板会自动进入 maskrom 模式
|
||||
|
||||
```
|
||||
dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=8
|
||||
reboot
|
||||
```
|
||||
|
||||
使用 Type-C data cable 连接好开发板和主机,使用 `lsusb` 命令看到以下信息即为成功进入 Maskrom Mode
|
||||
|
||||
RK3399 显示如下
|
||||

|
||||
|
||||
5. 刷写镜像等文件到 EMMC,如下:
|
||||
|
||||
```
|
||||
cd build
|
||||
rkdeveloptool db rk3399_loader.bin
|
||||
rkdeveloptool gpt rk3399_parameter.gpt
|
||||
rkdeveloptool wl 0x40 idbloader.img
|
||||
rkdeveloptool wl 0x4000 u-boot.itb
|
||||
rkdeveloptool wl 0x8000 boot.img
|
||||
rkdeveloptool wl 0x80000 rootfs.img
|
||||
rkdeveloptool rd
|
||||
```
|
||||
|
||||
# 使用 SD 镜像启动后进入系统刷写
|
||||
|
||||
1. 确保能使用 SD 镜像成功启动并进入系统,此处不限系统,例如 Firefly/Radxa 提供的官方 Debian/Ubuntu 系统。
|
||||
|
||||
2. 准备好项目主页提供或者根据项目脚本生成的`压缩后的 SD 卡启动文件`。
|
||||
|
||||
3. 使用 `lsblk` 查找并确认 EMMC 盘符,使用 SD 镜像启动后的 EMMC 盘符通常同时符合以下两个特点:
|
||||
|
||||
1. 盘符以 `mmcblk` 开头。
|
||||
|
||||
2. 未被挂载为根目录和 `/boot` 目录。
|
||||
|
||||
4. 刷写系统。(在 Firefly ROC-RK3588S-PC 和 Firefly ITX-RK3588 上,EMMC 盘符为 `mmcblk0`,此处以 `mmcblk0`为例)
|
||||
|
||||
`xzcat openEuler-VERSION-BOARD-ARCH-RELEASE.img.xz | dd of=/dev/mmcblk0 status=prgress`
|
||||
|
||||
5. 关机后取下 SD 卡,然后再启动开发板即可。
|
||||
88
documents/rockchip/基于Firefly-SDK编译Firefly-RK3399的内核镜像.md
Normal file
@ -0,0 +1,88 @@
|
||||
- [描述](#描述)
|
||||
- [基于 openEuler 内核制作 Firefly-RK3399 内核镜像](#基于-openeuler-内核制作-firefly-rk3399-内核镜像)
|
||||
- [准备编译环境](#准备编译环境)
|
||||
- [编译内核代码](#编译内核代码)
|
||||
- [准备 Firefly SDK 环境](#准备-firefly-sdk-环境)
|
||||
- [重新构建 boot.img](#重新构建-bootimg)
|
||||
|
||||
# 描述
|
||||
|
||||
本文档介绍基于 Firefly SDK 交叉编译出适用于 Firefly RK3399 的内核镜像。
|
||||
|
||||
# 基于 openEuler 内核制作 Firefly-RK3399 内核镜像
|
||||
|
||||
## 准备编译环境
|
||||
|
||||
1. 系统要求。
|
||||
- 操作系统:Ubuntu 16.04
|
||||
- 架构:x86_64
|
||||
|
||||
2. 安装依赖包。
|
||||
```
|
||||
apt-get install build-essential gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu bc libssl-dev -y
|
||||
```
|
||||
|
||||
## 编译内核代码
|
||||
|
||||
1. 克隆代码。
|
||||
|
||||
`git clone --branch dev-4.19 https://gitee.com/openeuler/rockchip-kernel.git`
|
||||
|
||||
2. 设置环境变量。
|
||||
|
||||
```
|
||||
export ARCH=arm64
|
||||
export CROSS_COMPILE=aarch64-linux-gnu-
|
||||
```
|
||||
|
||||
3. 构建 Image 和 dtb 文件。
|
||||
```
|
||||
cd rockchip-kernel
|
||||
make O=test firefly_linux_defconfig
|
||||
make O=test Image
|
||||
make O=test dtbs
|
||||
```
|
||||
说明:生成的 Image 文件与 dtb 文件所在路径为 rockchip-kernel/test/。
|
||||
|
||||
## 准备 Firefly SDK 环境
|
||||
|
||||
1. 下载 [Firefly_Linux_SDK 源码包](http://www.t-firefly.com/doc/download/page/id/3.html#other_186)。
|
||||
|
||||
2. 解压并同步代码。
|
||||
|
||||
```
|
||||
cat rk3399_linux_release_v2.5.1_20210301_split_dir/*firefly_split* | tar -xzv
|
||||
cd rk3399_linux_release_v2.5.1_20210301
|
||||
ls -al
|
||||
.repo/repo/repo sync -l
|
||||
.repo/repo/repo sync -c --no-tags
|
||||
.repo/repo/repo start firefly --all
|
||||
```
|
||||
|
||||
3. 安装依赖包。
|
||||
```
|
||||
sudo apt-get install expect-dev repo git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted libudev-dev libusb-1.0-0-dev python-linaro-image-tools linaro-image-tools autoconf autotools-dev libsigsegv2 m4 intltool libdrm-dev curl sed make binutils build-essential gcc g++ bash patch gzip bzip2 perl tar cpio python unzip rsync file bc wget libncurses5 libqt4-dev libglib2.0-dev libgtk2.0-dev libglade2-dev cvs git mercurial rsync openssh-client subversion asciidoc w3m dblatex graphviz python-matplotlib libc6:i386 libssl-dev texinfo liblz4-tool genext2fs lib32stdc++6 expect
|
||||
```
|
||||
|
||||
4. 选择配置文件。
|
||||
|
||||
`./build.sh firefly-rk3399-buildroot.mk`
|
||||
|
||||
5. 编译 kernel。
|
||||
|
||||
`./build.sh kernel`
|
||||
|
||||
|
||||
## 重新构建 boot.img
|
||||
|
||||
1. 将上述 [编译内核代码](#编译内核代码) 步骤中生成的 Image 和 dts 替换到 Firefly SDK 环境中(进行拷贝操作即可)。
|
||||
|
||||
Firefly SDK 环境中 Image 和 dts 所在路径: rk3399_linux_release_v2.5.1_20210301/kernel/arch/arm64/boot/。
|
||||
|
||||
2. 生成 boot.img。
|
||||
|
||||
在 rk3399_linux_release_v2.5.1_20210301/kernel 目录下执行
|
||||
|
||||
`make rk3399-firefly.img`
|
||||
|
||||
该命令执行完成后在 rk3399_linux_release_v2.5.1_20210301/rockdev 目录下生成 boot.img。
|
||||
26
documents/rockchip/打包ITX-RK3588J一体化烧写镜像.md
Normal file
@ -0,0 +1,26 @@
|
||||
- [描述](#描述)
|
||||
- [打包 ITX-RK3588J 一体化烧写镜像](#打包-ITX-RK3588J-一体化烧写镜像)
|
||||
- [准备打包环境](#准备打包环境)
|
||||
- [运行打包脚本](#运行打包脚本)
|
||||
|
||||
# 描述
|
||||
|
||||
本文档介绍在 x86_64 主机上运行打包一体化烧写镜像。
|
||||
|
||||
# 打包 ITX-RK3588J 一体化烧写镜像
|
||||
|
||||
## 准备打包环境
|
||||
|
||||
1. 在 aarch64 主机上成功完成[顺序构建](顺序构建.md)中的:“构建 boot 镜像”、“构建 rootfs 镜像”这两步。
|
||||
|
||||
2. 在以下环境主机中,克隆本项目,将 aarch64 主机完成以上步骤的 `build` 目录下 `boot.img` 和 `rootfs.img` 复制到对应目录中。
|
||||
|
||||
3. 打包环境系统要求。
|
||||
- 操作系统:openEuler 22.03 LTS
|
||||
- 架构:x86_64
|
||||
|
||||
## 运行打包脚本
|
||||
|
||||
```
|
||||
sudo bash gen_image-x86_64.sh
|
||||
```
|
||||
111
documents/rockchip/设置SELinux.md
Normal file
@ -0,0 +1,111 @@
|
||||
- [描述](#描述)
|
||||
- [什么是 SELinux](#什么是-selinux)
|
||||
- [检查 SELinux 状态](#检查-selinux-状态)
|
||||
- [设置 SELinux 为许可状态](#设置-selinux-为许可状态)
|
||||
- [永久设置 SELinux 为许可状态 (不推荐)](#永久设置-selinux-为许可状态-不推荐)
|
||||
|
||||
## 描述
|
||||
|
||||
本文介绍了如何在 openEuler 中设置 SELinux 状态。
|
||||
|
||||
## 什么是 SELinux
|
||||
|
||||
SELinux 是一个提供强制访问控制的安全模块,限制进程对系统资源的访问。
|
||||
当 SELinux 开启且强制执行时,它会阻止 chroot 其他系统的根目录修改密码,因为安全策略限制这些操作。
|
||||
|
||||
设置 SELinux 为许可模式会增加安全风险,使系统更易受到攻击,在充分了解设置 SELinux 为许可模式将对你的系统造成影响之后再进行以下操作。
|
||||
|
||||
## 检查 SELinux 状态
|
||||
|
||||
1. 使用 `getenforce` 查看 SELinux 状态:
|
||||
|
||||
```
|
||||
[root@localhost ~]# getenforce
|
||||
Enforcing
|
||||
```
|
||||
|
||||
如果为 `Enforcing` 则表示 SELinux 为开启状态且强制执行。
|
||||
|
||||
2. 使用 `sestatus` 查看 SELinux 状态
|
||||
|
||||
```
|
||||
[root@localhost ~]# sestatus
|
||||
SELinux status: enabled
|
||||
SELinuxfs mount: /sys/fs/selinux
|
||||
SELinux root directory: /etc/selinux
|
||||
Loaded policy name: targeted
|
||||
Current mode: enforcing
|
||||
Mode from config file: enforcing
|
||||
Policy MLS status: enabled
|
||||
Policy deny_unknown status: allowed
|
||||
Memory protection checking: actual (secure)
|
||||
Max kernel policy version: 33
|
||||
```
|
||||
|
||||
如果为 `Current mode: enforcing` 则表示 SELinux 为开启状态且强制执行。
|
||||
|
||||
## 设置 SELinux 为许可状态
|
||||
|
||||
使用 `setenforce 0` 来将 SELinux 暂时设置为许可状态
|
||||
|
||||
```
|
||||
[root@localhost ~]# setenforce 0
|
||||
```
|
||||
|
||||
查看修改后的 SELinux 状态:
|
||||
|
||||
```
|
||||
[root@localhost ~]# getenforce
|
||||
Permissive
|
||||
[root@localhost ~]# sestatus
|
||||
SELinux status: enabled
|
||||
SELinuxfs mount: /sys/fs/selinux
|
||||
SELinux root directory: /etc/selinux
|
||||
Loaded policy name: targeted
|
||||
Current mode: permissive
|
||||
Mode from config file: enforcing
|
||||
Policy MLS status: enabled
|
||||
Policy deny_unknown status: allowed
|
||||
Memory protection checking: actual (secure)
|
||||
Max kernel policy version: 33
|
||||
```
|
||||
|
||||
## 永久设置 SELinux 为许可状态 (不推荐)
|
||||
|
||||
编辑 /etc/selinux/config 文件
|
||||
|
||||
完整内容如下:
|
||||
|
||||
```
|
||||
# This file controls the state of SELinux on the system.
|
||||
# SELINUX= can take one of these three values:
|
||||
# enforcing - SELinux security policy is enforced.
|
||||
# permissive - SELinux prints warnings instead of enforcing.
|
||||
# disabled - No SELinux policy is loaded.
|
||||
SELINUX=enforcing
|
||||
# SELINUXTYPE= can take one of these three values:
|
||||
# targeted - Targeted processes are protected,
|
||||
# minimum - Modification of targeted policy. Only selected processes are protected.
|
||||
# mls - Multi Level Security protection.
|
||||
SELINUXTYPE=targeted
|
||||
```
|
||||
|
||||
将 `SELINUX=enforcing` 修改为 `SELINUX=permissive` 然后重启即可。
|
||||
|
||||
重启后再查看 SELinux 状态如下:
|
||||
|
||||
```
|
||||
[root@localhost ~]# getenforce
|
||||
Permissive
|
||||
[root@localhost ~]# sestatus
|
||||
SELinux status: enabled
|
||||
SELinuxfs mount: /sys/fs/selinux
|
||||
SELinux root directory: /etc/selinux
|
||||
Loaded policy name: targeted
|
||||
Current mode: permissive
|
||||
Mode from config file: permissive
|
||||
Policy MLS status: enabled
|
||||
Policy deny_unknown status: allowed
|
||||
Memory protection checking: actual (secure)
|
||||
Max kernel policy version: 33
|
||||
```
|
||||
135
documents/rockchip/顺序构建.md
Normal file
@ -0,0 +1,135 @@
|
||||
# 顺序单独构建
|
||||
|
||||
- [顺序单独构建](#顺序单独构建)
|
||||
- [准备环境](#准备环境)
|
||||
- [编译 u-boot](#编译-u-boot)
|
||||
- [构建 boot 镜像](#构建-boot-镜像)
|
||||
- [构建 rootfs 镜像](#构建-rootfs-镜像)
|
||||
- [可启动镜像构建](#可启动镜像构建)
|
||||
|
||||
## 准备环境
|
||||
- 操作系统:openEuler、 CentOS 8
|
||||
- 架构:AArch64 ,如树莓派、 RK3399
|
||||
|
||||
## 编译 u-boot
|
||||
|
||||
编译 u-boot 需执行命令:
|
||||
|
||||
`sudo bash build_u-boot.sh -c BOARD_CONFIG`
|
||||
|
||||
**说明: 基于 build_u-boot.sh 提供的默认参数,执行 sudo ./build_u-boot.sh 编译 u-boot。**
|
||||
|
||||
各个参数意义:
|
||||
|
||||
1. -c, --config BOARD_CONFIG
|
||||
|
||||
开发板对应的 defconfig 的文件名称,对应 [u-boot/configs](https://github.com/u-boot/u-boot/tree/master/configs) 下 `BOARD_CONFIG` 文件,默认为 `firefly-rk3399_defconfig`;如需在 RK3588 开发板上使用预编译的 u-boot,可以将此项设置为 `none`。
|
||||
|
||||
2. -h, --help
|
||||
|
||||
显示帮助信息。
|
||||
|
||||
|
||||
## 构建 boot 镜像
|
||||
|
||||
构建 boot 镜像需执行命令:
|
||||
|
||||
`sudo bash build_boot.sh -k KERNEL_URL -b KERNEL_BRANCH -d DTB_NAME`
|
||||
|
||||
**说明: 基于 build_boot.sh 提供的默认参数,执行 sudo ./build_boot.sh 可生成 Firefly-RK3399 的 boot 分区镜像 boot.img。**
|
||||
|
||||
各个参数意义:
|
||||
|
||||
1. -k, --kernel KERNEL_URL
|
||||
|
||||
内核源码仓库的项目地址,默认为 `https://gitee.com/openeuler/raspberrypi-kernel.git`。可根据需要设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git` 或 `git@gitee.com:openeuler/kernel.git`。
|
||||
|
||||
2. -b, --branch KERNEL_BRANCH
|
||||
|
||||
内核源码的对应分支,默认为 openEuler-20.03-LTS。根据 -k 参数有以下选择:
|
||||
|
||||
- -k https://gitee.com/openeuler/rockchip-kernel.git
|
||||
- openEuler-20.03-LTS
|
||||
- -k https://gitee.com/openeuler/kernel.git
|
||||
- openEuler-21.03
|
||||
- openEuler-21.09
|
||||
|
||||
3. -d, --device-tree DTB_NAME
|
||||
|
||||
内核设备树名称,和开发板名称有一点区别,对应 [kernel/arch/arm64/boot/dts/rockchip](https://gitee.com/openeuler/kernel/tree/master/arch/arm64/boot/dts/rockchip) 下的 `DTB_NAME.dts` 文件,默认为 `rk3399_firefly`
|
||||
|
||||
4. -h, --help
|
||||
|
||||
显示帮助信息。
|
||||
|
||||
## 构建 rootfs 镜像
|
||||
|
||||
运行 rootfs 构建脚本需执行命令:
|
||||
|
||||
`sudo bash build_rootfs.sh -r REPO_INFO -b KERNEL_BRANCH -d DTB_NAME -s SPEC`
|
||||
|
||||
**说明: 基于 build_rootfs.sh 提供的默认参数,执行 sudo ./build_rootfs.sh 可生成 Firefly-RK3399 的 rootfs 分区镜像 rootfs.img。**
|
||||
|
||||
各个参数意义:
|
||||
|
||||
1. -r, --repo REPO_INFO
|
||||
|
||||
开发源 repo 文件的 URL 或者路径,也可以是开发源中资源库的 baseurl 列表。注意,如果该参数为资源库的 baseurl 列表,该参数需要使用双引号,各个 baseurl 之间以空格隔开。
|
||||
下面分别举例:
|
||||
|
||||
- 开发源 repo 文件的 URL,如 `https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS-SP2/generic.repo`。
|
||||
- 开发源的 repo 文件路径:
|
||||
|
||||
`./openEuler-20.03-LTS.repo`:生成 openEuler 20.03 LTS 版本的镜像,该文件内容参考 <https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo>。
|
||||
|
||||
- 资源库的 baseurl 列表,如 `http://repo.openeuler.org/openEuler-20.03-LTS-SP2/OS/aarch64/ http://repo.openeuler.org/openEuler-20.03-LTS-SP2/EPOL/aarch64/`。
|
||||
|
||||
2. -b, --branch KERNEL_BRANCH
|
||||
|
||||
内核源码的对应分支,默认为 openEuler-20.03-LTS。根据 -k 参数有以下选择:
|
||||
|
||||
- -k https://gitee.com/openeuler/rockchip-kernel.git
|
||||
- openEuler-20.03-LTS
|
||||
- -k https://gitee.com/openeuler/kernel.git
|
||||
- openEuler-21.03
|
||||
- openEuler-21.09
|
||||
|
||||
3. -d, --device-tree DTB_NAME
|
||||
|
||||
内核设备树名称,和开发板名称有一点区别,对应 [kernel/arch/arm64/boot/dts/rockchip](https://gitee.com/openeuler/kernel/tree/master/arch/arm64/boot/dts/rockchip) 下的 `DTB_NAME.dts` 文件,默认为 `rk3399_firefly`
|
||||
|
||||
4. -s, --spec SPEC
|
||||
|
||||
构建的镜像版本:
|
||||
- `headless`,无图形界面版的镜像。
|
||||
- `xfce`,带 Xfce 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `ukui`,带 UKUI 桌面及必要的配套软件(不包括中文字体以及输入法)。
|
||||
- `dde`,带 DDE 桌面及必要的配套软件(不包括中文字体以及输入法)。
|
||||
- rpmlist 文件路径,其中包含镜像中要安装的软件列表,内容参考 [rpmlist](../../scripts/rockchip/configs/rpmlist)。
|
||||
|
||||
默认使用 `headless` 选项。
|
||||
|
||||
5. -h, --help
|
||||
|
||||
显示帮助信息。
|
||||
|
||||
|
||||
## 可启动镜像构建
|
||||
|
||||
运行可启动镜像构建脚本需执行命令:
|
||||
|
||||
`sudo bash gen_image.sh -n NAME`
|
||||
|
||||
**说明: 在确保顺序执行以上脚本并生成对应的文件及文件夹后再执行此脚本**
|
||||
|
||||
脚本运行结束后,在 scripts/build/YYYY-MM-DD 所在目录生成 openEuler-VERSION-BOARD.img.xz 即为压缩后的 RK3399 SD卡启动镜像,openEuler-VERSION-BOARD.tar.gz 即为打包后的 EMMC 刷写镜像。
|
||||
|
||||
各个参数意义:
|
||||
|
||||
1. -n, --name IMAGE_NAME
|
||||
|
||||
构建的镜像名称。
|
||||
|
||||
2. -h, --help
|
||||
|
||||
显示帮助信息。
|
||||
244
documents/树莓派.md
Normal file
@ -0,0 +1,244 @@
|
||||
# 树莓派
|
||||
|
||||
本文档提供 [树莓派](https://gitee.com/openeuler/raspberrypi-kernel)、[Rockchip](https://gitee.com/openeuler/rockchip)的 openEuler 镜像的构建脚本和相关文档。
|
||||
|
||||
<!-- TOC -->
|
||||
|
||||
- [树莓派](#树莓派)
|
||||
- [文件说明](#文件说明)
|
||||
- [最新镜像](#最新镜像)
|
||||
- [使用镜像](#使用镜像)
|
||||
- [镜像构建](#镜像构建)
|
||||
- [准备环境](#准备环境)
|
||||
- [构建镜像](#构建镜像)
|
||||
- [快速构建(无需编译内核,推荐)](#快速构建无需编译内核推荐)
|
||||
- [完全构建(包括编译内核)](#完全构建包括编译内核)
|
||||
- [主机上构建](#主机上构建)
|
||||
- [Docker 容器内构建](#docker-容器内构建)
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
## 文件说明
|
||||
|
||||
> **说明:**
|
||||
>- 建议直接使用本文档 [最新镜像](#最新镜像) 章节中给出的 openEuler 的树莓派镜像。
|
||||
>- 如需根据自身需求定制镜像,可参考 [openEuler 镜像的构建](raspberrypi/openEuler镜像的构建.md) 和 [交叉编译内核](raspberrypi/交叉编译内核.md)。
|
||||
|
||||
- [树莓派](./raspberrypi): 使用文档
|
||||
- [刷写镜像](raspberrypi/刷写镜像.md)
|
||||
- [树莓派使用](raspberrypi/树莓派使用.md)
|
||||
- [openEuler 镜像的构建](raspberrypi/openEuler镜像的构建.md)
|
||||
- [交叉编译内核](raspberrypi/交叉编译内核.md)
|
||||
- [QEMU 启动树莓派](raspberrypi/QEMU启动树莓派.md)
|
||||
- [openEuler 20.03 LTS SP2 更新日志](raspberrypi/changelog/changelog-20.03-LTS-SP2.md)
|
||||
- [openEuler 20.03 LTS SP2 内测版(UKUI 桌面、中文输入法)更新日志](raspberrypi/changelog/changelog-20.03-LTS-SP2-UKUI.md)
|
||||
- [openEuler 20.03 LTS SP2 内测版(DDE 桌面、中文输入法)更新日志](raspberrypi/changelog/changelog-20.03-LTS-SP2-DDE.md)
|
||||
- [openEuler 20.03 LTS SP2 内测版(Xfce 桌面、中文输入法)更新日志](raspberrypi/changelog/changelog-20.03-LTS-SP2-Xfce.md)
|
||||
- [openEuler 21.09 更新日志](raspberrypi/changelog/changelog-21.09.md)
|
||||
- [openEuler 21.09 内测版(UKUI 桌面、中文输入法)更新日志](raspberrypi/changelog/changelog-21.09-UKUI.md)
|
||||
- [openEuler 21.09 内测版(DDE 桌面、中文输入法)更新日志](raspberrypi/changelog/changelog-21.09-DDE.md)
|
||||
- [openEuler 21.09 内测版(Xfce 桌面、中文输入法)更新日志](raspberrypi/changelog/changelog-21.09-Xfce.md)
|
||||
- [openEuler 21.09 内测版(LXDE 桌面、中文输入法)更新日志](raspberrypi/changelog/changelog-21.09-LXDE.md)
|
||||
- [scripts](../scripts/raspberrypi): 构建 openEuler 树莓派镜像的脚本
|
||||
- [快速构建(不编译内核)](../scripts/raspberrypi/build-image.sh)
|
||||
- [主机上构建(编译内核)](../scripts/raspberrypi/build-image-common.sh)
|
||||
- [Docker 容器中构建(编译内核)](../scripts/raspberrypi/build-image-docker.sh)
|
||||
|
||||
## 最新镜像
|
||||
|
||||
[所有镜像](raspberrypi/images.md)。
|
||||
|
||||
其他信息:
|
||||
- 固件来源:[firmware](https://github.com/raspberrypi/firmware)、[bluez-firmware](https://github.com/RPi-Distro/bluez-firmware)、[firmware-nonfree](https://github.com/RPi-Distro/firmware-nonfree)
|
||||
|
||||
## 使用镜像
|
||||
|
||||
镜像刷写 SD 卡并使用树莓派,详见以下文档:
|
||||
|
||||
- [刷写镜像](raspberrypi/刷写镜像.md)
|
||||
- [树莓派使用](raspberrypi/树莓派使用.md)
|
||||
|
||||
## 镜像构建
|
||||
|
||||
### 准备环境
|
||||
|
||||
本仓库的脚本运行环境要求如下:
|
||||
|
||||
- 操作系统:openEuler、CentOS 7、CentOS 8
|
||||
- 架构:AArch64,如树莓派
|
||||
|
||||
其他架构可以使用 [QEMU](https://www.qemu.org/) 模拟器搭建 AArch64 运行环境。
|
||||
|
||||
### 构建镜像
|
||||
|
||||
详细过程参见 [openEuler 镜像的构建](raspberrypi/openEuler镜像的构建.md)。
|
||||
|
||||
构建脚本见 [scripts/raspberrypi](../scripts/raspberrypi)。
|
||||
|
||||
#### 快速构建(无需编译内核,推荐)
|
||||
|
||||
> **须知:**
|
||||
>当前支持多个 openEuler 版本,即 20.09、20.03 LTS SP1、21.03、20.03 LTS SP2、21.09、20.03 LTS SP3、22.03 LTS、22.09、22.03 LTS SP1、23.03、22.03 LTS SP2、22.03 LTS SP3、24.03 LTS、22.03 LTS SP4、24.09 版本。
|
||||
>如果构建包含 Xfce/UKUI/DDE 桌面环境的镜像,需要注意三点:
|
||||
>1. 构建包含 Xfce 桌面环境的镜像,当前只支持 openEuler 21.03/20.03 LTS SP2/21.09/20.03 LTS SP3/22.03 LTS/22.09/22.03 LTS SP1/23.03/22.03 LTS SP2/22.03 LTS SP3/24.03 LTS/22.03 LTS SP4/24.09 版本。
|
||||
>2. 构建包含 DDE 桌面环境的镜像,当前只支持 openEuler 20.03 LTS SP1/21.03/20.03 LTS SP2/21.09/20.03 LTS SP3/22.03 LTS/22.09/22.03 LTS SP1/23.03/22.03 LTS SP2/22.03 LTS SP3/24.03 LTS/22.03 LTS SP4/24.09 版本。
|
||||
>3. 根据需要设置 -s/--spec,其具体意义见该参数的介绍部分。
|
||||
|
||||
使用已有的树莓派内核、固件、蓝牙等 RPM 包构建镜像。
|
||||
|
||||
构建镜像需执行命令:
|
||||
|
||||
`sudo bash build-image.sh -d DIR -r REPO -n IMAGE_NAME -s SPEC`
|
||||
|
||||
各个参数意义:
|
||||
|
||||
1. -d, --dir DIR
|
||||
|
||||
构建镜像和临时文件的输出目录,默认为脚本所在目录。如果 `DIR` 不存在则会自动创建。
|
||||
|
||||
脚本运行结束后,会提示镜像的存储位置,默认保存在 `DIR/raspi_output/img/` 下。
|
||||
|
||||
2. -r, --repo REPO_INFO
|
||||
|
||||
开发源 repo 文件的 URL 或者路径,也可以是开发源中资源库的 baseurl 列表。注意,如果该参数为资源库的 baseurl 列表,该参数需要使用双引号,各个 baseurl 之间以空格隔开。
|
||||
|
||||
下面分别举例:
|
||||
- 开发源 repo 文件的 URL,如 `https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-21.03/generic.repo`。
|
||||
- 开发源的 repo 文件路径:
|
||||
- `./openEuler-21.03.repo`:生成 openEuler 21.03 版本的镜像,该文件内容参考 <https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-21.03/generic.repo>。
|
||||
- 资源库的 baseurl 列表,如 `"http://repo.openeuler.org/openEuler-21.03/OS/aarch64/ http://repo.openeuler.org/openEuler-21.03/EPOL/aarch64/"`。
|
||||
|
||||
3. -n, --name IMAGE_NAME
|
||||
|
||||
构建的镜像名称。
|
||||
|
||||
例如,`openEuler-21.03.img`。默认为`openEuler-raspi-aarch64.img`,或者根据 `-n, --name IMAGE_NAME` 参数自动生成。
|
||||
|
||||
4. -s, --spec SPEC
|
||||
|
||||
构建的镜像版本:
|
||||
- `headless`,无图形界面版的镜像。
|
||||
- `xfce`,带 Xfce 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `ukui`,带 UKUI 桌面及必要的配套软件(不包括中文字体以及输入法)。
|
||||
- `dde`,带 DDE 桌面及必要的配套软件(不包括中文字体以及输入法)。
|
||||
- rpmlist 文件路径,其中包含镜像中要安装的软件列表,内容参考 [rpmlist](../scripts/raspberrypi/config/rpmlist)。
|
||||
|
||||
默认使用 `headless` 选项。
|
||||
|
||||
5. -h, --help
|
||||
|
||||
显示帮助信息。
|
||||
|
||||
#### 完全构建(包括编译内核)
|
||||
|
||||
包含编译内核、下载树莓派相关固件等过程,速度相对较慢。
|
||||
|
||||
这里,提供两种构建方式。
|
||||
|
||||
> **须知:**
|
||||
>当前支持三个 openEuler 版本,即 20.03 LTS、20.09、20.03 LTS SP1、21.03、20.03 LTS SP2、21.09、20.03 LTS SP3、22.03 LTS、22.09、22.03 LTS SP1、23.03、22.03 LTS SP2、22.03 LTS SP3、24.03 LTS、22.03 LTS SP4、24.09 版本。
|
||||
>如果构建包含 Xfce/UKUI/DDE 桌面环境的镜像,需要注意四点:
|
||||
>1. 构建包含 Xfce 桌面环境的镜像,当前只支持 openEuler 21.03/20.03 LTS SP2/21.09/20.03 LTS SP3/22.03 LTS/22.09/22.03 LTS SP1/23.03/22.03 LTS SP2/22.03 LTS SP3/24.03 LTS/22.03 LTS SP4/24.09 版本,需要选择对应内核源码和分支。
|
||||
> - openEuler 21.03:需要选择 [openEuler 内核](https://gitee.com/openeuler/kernel) 的 [openEuler-21.03](https://gitee.com/openeuler/kernel/tree/openEuler-21.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/kernel.git`,-b/--branch` 设置为 `openEuler-21.03`。
|
||||
> - openEuler 20.03 LTS SP2/20.03 LTS SP3:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-20.03-LTS](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-20.03-LTS/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-20.03-LTS`。
|
||||
> - openEuler 21.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-21.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-21.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-21.09`。
|
||||
> - openEuler 22.03 LTS:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS`。
|
||||
> - openEuler 22.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.09`。
|
||||
> - openEuler 22.03 LTS SP1:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS-SP1](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS-SP1/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS-SP1`。
|
||||
> - openEuler 23.03:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-23.03](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-23.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-23.03`。
|
||||
> - openEuler 22.03 LTS SP2:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS-SP2](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS-SP2/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS-SP2`。
|
||||
> - openEuler 22.03 LTS SP3/22.03 LTS SP4:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-5.10](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-5.10/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-5.10`。
|
||||
> - openEuler 24.03 LTS/24.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-6.6](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-6.6/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-6.6`。
|
||||
>2. 构建包含 UKUI 桌面环境的镜像,当前只支持 openEuler 20.09/20.03 LTS SP1/21.03/20.03 LTS SP2/21.09/20.03 LTS SP3/22.03 LTS/22.09/22.03 LTS SP1/23.03/22.03 LTS SP2/22.03 LTS SP3/24.03 LTS/22.03 LTS SP4/24.09 版本,需要选择对应内核源码和分支。
|
||||
> - openEuler 20.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-20.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-20.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-20.09`。
|
||||
> - openEuler 20.03 LTS SP1/20.03 LTS SP2/20.03 LTS SP3:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-20.03-LTS](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-20.03-LTS/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-20.03-LTS`。
|
||||
> - openEuler 21.03:需要选择 [openEuler 内核](https://gitee.com/openeuler/kernel) 的 [openEuler-21.03](https://gitee.com/openeuler/kernel/tree/openEuler-21.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/kernel.git`,-b/--branch` 设置为 `openEuler-21.03`。
|
||||
> - openEuler 21.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-21.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-21.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-21.09`。
|
||||
> - openEuler 22.03 LTS:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS`。
|
||||
> - openEuler 22.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.09`。
|
||||
> - openEuler 22.03 LTS SP1:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS-SP1](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS-SP1/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS-SP1`。
|
||||
> - openEuler 23.03:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-23.03](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-23.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-23.03`。
|
||||
> - openEuler 22.03 LTS SP2:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS-SP2](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS-SP2/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS-SP2`。
|
||||
> - openEuler 22.03 LTS SP3/22.03 LTS SP4:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-5.10](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-5.10/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-5.10`。
|
||||
> - openEuler 24.03 LTS/24.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-6.6](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-6.6/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-6.6`。
|
||||
>3. 构建包含 DDE 桌面环境的镜像,当前只支持 openEuler 20.03 LTS SP1/21.03/20.03 LTS SP2/21.09/20.03 LTS SP3/22.03 LTS/22.09/22.03 LTS SP1/23.03/22.03 LTS SP2/22.03 LTS SP3/24.03 LTS/22.03 LTS SP4/24.09 版本。
|
||||
> - openEuler 20.03 LTS SP1/20.03 LTS SP2/20.03 LTS SP3:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-20.03-LTS](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-20.03-LTS/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-20.03-LTS`。
|
||||
> - openEuler 21.03:需要选择 [openEuler 内核](https://gitee.com/openeuler/kernel) 的 [openEuler-21.03](https://gitee.com/openeuler/kernel/tree/openEuler-21.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/kernel.git`,-b/--branch` 设置为 `openEuler-21.03`。
|
||||
> - openEuler 21.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-21.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-21.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-21.09`。
|
||||
> - openEuler 22.03 LTS:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS`。
|
||||
> - openEuler 22.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.09](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.09/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.09`。
|
||||
> - openEuler 22.03 LTS SP1:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS-SP1](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS-SP1/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS-SP1`。
|
||||
> - openEuler 23.03:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-23.03](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-23.03/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-23.03`。
|
||||
> - openEuler 22.03 LTS SP2:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [openEuler-22.03-LTS-SP2](https://gitee.com/openeuler/raspberrypi-kernel/tree/openEuler-22.03-LTS-SP2/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `openEuler-22.03-LTS-SP2`。
|
||||
> - openEuler 22.03 LTS SP3/22.03 LTS SP4:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-5.10](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-5.10/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-5.10`。
|
||||
> - openEuler 24.03 LTS/24.09:需要选择 [openEuler-RaspberryPi 内核](https://gitee.com/openeuler/raspberrypi-kernel) 的 [OLK-6.6](https://gitee.com/openeuler/raspberrypi-kernel/tree/OLK-6.6/) 分支,即将参数 `-k/--kernel` 设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git`,`-b/--branch` 设置为 `OLK-6.6`。
|
||||
>4. 根据需要设置 -s/--spec,其具体意义见该参数的介绍部分。
|
||||
|
||||
##### 主机上构建
|
||||
|
||||
构建镜像需执行命令:
|
||||
|
||||
`sudo bash build-image-common.sh -n IMAGE_NAME -k KERNEL_URL -b KERNEL_BRANCH -c KERNEL_DEFCONFIG -r REPO -s SPEC --cores N`
|
||||
|
||||
脚本运行结束后,会提示镜像的存储位置,镜像默认保存在脚本运行所在目录的 `raspi_output_common/img/` 下。
|
||||
|
||||
各个参数意义:
|
||||
|
||||
1. -n, --name IMAGE_NAME
|
||||
|
||||
构建的镜像名称。
|
||||
|
||||
例如,`openEuler-20.03-LTS-SP1.img`。默认为`openEuler-raspi-aarch64.img`,或者根据 `-n, --name IMAGE_NAME` 参数自动生成。
|
||||
|
||||
2. -k, --kernel KERNEL_URL
|
||||
|
||||
内核源码仓库的项目地址,默认为 `https://gitee.com/openeuler/raspberrypi-kernel.git`。可根据需要设置为 `git@gitee.com:openeuler/raspberrypi-kernel.git` 或 `git@gitee.com:openeuler/kernel.git`。
|
||||
|
||||
3. -b, --branch KERNEL_BRANCH
|
||||
|
||||
内核源码的对应分支,默认为 `openEuler-20.03-LTS`,推荐使用分支 `openEuler-21.09`、`openEuler-20.03-LTS` 或 `openEuler-20.09`。
|
||||
|
||||
4. -c, --config KERNEL_DEFCONFIG
|
||||
|
||||
内核编译使用的配置文件名称或路径,默认为 `openeuler-raspi_defconfig`。如果该参数为配置文件名称,请确保该文件在内核源码的目录 arch/arm64/configs 下。
|
||||
|
||||
5. -r, --repo REPO_INFO
|
||||
|
||||
开发源 repo 文件的 URL 或者路径,也可以是开发源中资源库的 baseurl 列表。注意,如果该参数为资源库的 baseurl 列表,该参数需要使用双引号,各个 baseurl 之间以空格隔开。
|
||||
|
||||
下面分别举例:
|
||||
- 开发源 repo 文件的 URL,如 `https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS-SP1/generic.repo`
|
||||
- 开发源的 repo 文件路径:
|
||||
- `./openEuler-20.03-LTS-SP1.repo`:生成 openEuler 20.03 LTS SP1 版本的镜像,该文件内容参考 <https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS-SP1/generic.repo>。
|
||||
- 资源库的 baseurl 列表,如 `"http://repo.openeuler.org/openEuler-20.03-LTS-SP1/OS/aarch64/ http://repo.openeuler.org/openEuler-20.03-LTS-SP1/EPOL/aarch64/"`。
|
||||
|
||||
6. -s, --spec SPEC
|
||||
|
||||
构建的镜像版本:
|
||||
- `headless`,无图形界面版的镜像。
|
||||
- `xfce`,带 Xfce 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `ukui`,带 UKUI 桌面及必要的配套软件(不包括中文字体以及输入法)。
|
||||
- `dde`,带 DDE 桌面及必要的配套软件(不包括中文字体以及输入法)。
|
||||
- rpmlist 文件路径,该文件包含镜像中要安装的软件列表,内容参考 [rpmlist](../scripts/raspberrypi/config-common/rpmlist)。
|
||||
|
||||
默认使用 `headless` 选项。
|
||||
|
||||
7. --cores N
|
||||
|
||||
并行编译的数量,根据运行脚本的宿主机 CPU 实际数目设定,默认为可用的 CPU 总数。
|
||||
|
||||
##### Docker 容器内构建
|
||||
|
||||
构建镜像需执行命令:
|
||||
|
||||
`sudo bash build-image-docker.sh -d DOCKER_FILE -n IMAGE_NAME -k KERNEL_URL -b KERNEL_BRANCH -c KERNEL_DEFCONFIG -r REPO --cores N`
|
||||
|
||||
脚本运行结束后,镜像默认保存在脚本运行所在目录的 `raspi_output_common/img/` 下。
|
||||
|
||||
注意!!!运行该脚本前,需安装 Docker 运行环境。该脚本会自动将 DOCKER_FILE 参数对应的 Docker 镜像导入本机系统中。
|
||||
|
||||
除参数 DOCKER_FILE 外,剩余参数与[主机上构建](#主机上构建)中对应参数一致:
|
||||
|
||||
1. -d, --docker DOCKER_FILE
|
||||
|
||||
Docker 镜像的 URL 或者路径, 默认为 `https://repo.openeuler.org/openEuler-20.03-LTS-SP1/docker_img/aarch64/openEuler-docker.aarch64.tar.xz`。使用该默认参数时,脚本会自动下载 openEuler 20.03 LTS SP1 的 Docker 镜像,并导入本机系统中。
|
||||
287
documents/瑞芯微等开发板.md
Normal file
@ -0,0 +1,287 @@
|
||||
# 瑞芯微等开发板
|
||||
|
||||
本仓库提供适用于 Rockchip 等开发板的 openEuler 镜像的构建脚本和相关文档。
|
||||
|
||||
<!-- TOC -->
|
||||
|
||||
- [瑞芯微等开发板](#瑞芯微等开发板)
|
||||
- [文件说明](#文件说明)
|
||||
- [最新镜像](#最新镜像)
|
||||
- [镜像构建](#镜像构建)
|
||||
- [准备环境](#准备环境)
|
||||
- [一次构建](#一次构建)
|
||||
- [顺序构建](#顺序构建)
|
||||
- [刷写镜像](#刷写镜像)
|
||||
- [刷写到 SD 卡](#刷写到-sd-卡)
|
||||
- [刷写到 EMMC](#刷写到-emmc)
|
||||
- [问题汇总](#问题汇总)
|
||||
|
||||
<!-- /TOC -->
|
||||
|
||||
## 文件说明
|
||||
|
||||
- [documents](./rockchip): 使用文档
|
||||
- [openEuler镜像的构建](rockchip/openEuler镜像的构建.md)
|
||||
- [刷写EMMC镜像](rockchip/刷写EMMC镜像.md)
|
||||
- [顺序构建](rockchip/顺序构建.md)
|
||||
- [基于Firefly-SDK编译Firefly-RK3399的内核镜像](rockchip/基于Firefly-SDK编译Firefly-RK3399的内核镜像.md)
|
||||
- [打包 ITX-RK3588J 一体化烧写镜像](rockchip/打包ITX-RK3588J一体化烧写镜像.md)
|
||||
- [设置 SELinux](rockchip/设置SELinux.md)
|
||||
- [使用 Docker 构建镜像](rockchip/使用Docker构建镜像.md)
|
||||
- [scripts](../scripts/rockchip): 构建 openEuler RK3399 等开发板镜像的脚本
|
||||
- [一次构建脚本](../scripts/rockchip/build.sh)
|
||||
- [boot 镜像构建脚本](../scripts/rockchip/build_boot.sh)
|
||||
- [rootfs 镜像构建脚本](../scripts/rockchip/build_rootfs.sh)
|
||||
- [u-boot 编译脚本](../scripts/rockchip/build_u-boot.sh)
|
||||
- [可启动镜像生成脚本](../scripts/rockchip/gen_image.sh)
|
||||
|
||||
## 最新镜像
|
||||
|
||||
镜像下载连接及基本信息见 [瑞芯微等其他开发板](../README.md#瑞芯微等其他开发板)。
|
||||
|
||||
## 镜像构建
|
||||
|
||||
> **须知:**
|
||||
>RK3399 当前支持 openEuler 版本:20.03 LTS、20.03 LTS SP1、20.03 LTS SP2、20.03 LTS SP3、22.03 LTS SP2 和 22.03 LTS SP3。
|
||||
>RK3566 当前支持 openEuler 版本:24.03 LTS。
|
||||
>RK3588 当前支持 openEuler 版本:22.03 LTS、22.03 LTS SP2 和 22.03 LTS SP3。
|
||||
>如果构建包含 Xfce/UKUI/DDE 桌面环境的镜像,需要注意三点:
|
||||
>1. 构建包含 Xfce 桌面环境的镜像,当前只支持 20.03 LTS SP2、20.03 LTS SP3、21.09、22.03 LTS、22.03 LTS SP3、24.03 LTS 版本。
|
||||
>2. 构建包含 UKUI 或 DDE 桌面环境的镜像,当前只支持 20.03 LTS SP1、20.03 LTS SP2、20.03 LTS SP3、21.09、22.03 LTS、22.03 LTS SP3、24.03 LTS 版本。
|
||||
>3. 根据需要设置 -s/--spec,其具体意义见该参数的介绍部分。同时需要设置对应 -r/--repo 参数。
|
||||
|
||||
### 准备环境
|
||||
- 操作系统:openEuler 、CentOS 8
|
||||
- 架构:AArch64 ,如树莓派、 RK3399 开发板、 RK3588 开发板
|
||||
|
||||
详细过程参见 [openEuler 镜像的构建](rockchip/openEuler镜像的构建.md)。
|
||||
|
||||
构建脚本见 [scripts/rockchip](../scripts/rockchip)。
|
||||
|
||||
### 一次构建
|
||||
|
||||
构建镜像需执行命令:
|
||||
|
||||
`sudo bash build.sh -n NAME -k KERNEL_URL -b KERNEL_BRANCH -c BOARD_CONFIG -r REPO_INFO -d DTB_NAME -s SPEC`
|
||||
|
||||
**说明: 基于 build.sh 提供的默认参数,执行 sudo bash build.sh 可构建 Firefly-RK3399 的 openEuler-20.03-LTS 镜像。**
|
||||
|
||||
脚本执行完成后,会在脚本所在目录的 build/YYYY-MM-DD 文件夹下生成以下文件:
|
||||
|
||||
- 打包后的 EMMC 刷写文件:openEuler-VERSION-BOARD-RELEASE.tar.gz。
|
||||
- 压缩后的 RAW 原始镜像:openEuler-VERSION-BOARD-ARCH-RELEASE.img.xz。
|
||||
|
||||
>打包后的 EMMC 刷写文件和压缩后的 RAW 原始镜像文件有什么区别?
|
||||
|
||||
>1. 打包后的 EMMC 刷写文件:指需要使用 RKDevTool 或者 rkdeveloptool 来刷入到例如 Firefly-RK3399 这一类自带 EMMC 储存介质的开发板中。
|
||||
>2. 压缩后的 RAW 原始镜像文件:通常指的是一个完整的磁盘镜像文件,其中包含了所有磁盘扇区的数据。可以刷写到例如 SD 卡、EMMC 等多种储存介质中。
|
||||
>3. 带 EMMC 的开发板也可以使用 SD 卡启动镜像,启动选择的储存介质各不相同,如果 EMMC 启动优先级大于 SD 卡,则优先启动 EMMC 内的系统,在这种情况下若想使用 SD 卡内的系统需要先清空 EMMC。
|
||||
>4. EMMC 刷写过程在 [刷写到 EMMC](#刷写到-emmc) 中介绍;SD 卡刷写过程在 [刷写到 SD 卡](#刷写到-sd-卡) 中介绍。
|
||||
|
||||
各个参数意义:
|
||||
|
||||
1. -n, --name IMAGE_NAME
|
||||
|
||||
构建的镜像名称,例如:`openEuler-20.03-LTS-Firefly-RK3399-aarch64-alpha1` 或 `openEuler-21.09-Firefly-RK3399-aarch64-alpha1`。
|
||||
|
||||
2. -k, --kernel KERNEL_URL
|
||||
|
||||
内核源码仓库的项目地址,默认为 `https://gitee.com/openeuler/rockchip-kernel.git`。可根据需要设置为 `git@gitee.com:openeuler/rockchip-kernel.git` 或 `git@gitee.com:openeuler/kernel.git`。
|
||||
|
||||
3. -b, --branch KERNEL_BRANCH
|
||||
|
||||
内核源码的对应分支,默认为 openEuler-20.03-LTS。根据 -k 参数有以下选择:
|
||||
|
||||
- -k https://gitee.com/openeuler/rockchip-kernel.git
|
||||
- openEuler-20.03-LTS
|
||||
- -k https://gitee.com/openeuler/kernel.git
|
||||
- openEuler-21.09
|
||||
|
||||
4. -c, --config BOARD_CONFIG
|
||||
|
||||
开发板对应的 defconfig 的文件名称,对应 [u-boot/configs](https://github.com/u-boot/u-boot/tree/master/configs) 下 `BOARD_CONFIG` 文件,默认为 `firefly-rk3399_defconfig`;如需在 RK3588 开发板上使用预编译的 u-boot,可以将此项设置为 `none`。
|
||||
|
||||
5. -r, --repo REPO_INFO
|
||||
|
||||
开发源 repo 文件的 URL 或者路径,也可以是开发源中资源库的 baseurl 列表。注意,如果该参数为资源库的 baseurl 列表,该参数需要使用双引号,各个 baseurl 之间以空格隔开。
|
||||
下面分别举例:
|
||||
|
||||
- 开发源 repo 文件的 URL,如 `https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS/generic.repo`。
|
||||
- 开发源的 repo 文件路径:
|
||||
|
||||
`./openEuler-20.03-LTS.repo`:生成 openEuler 20.03 LTS 版本的镜像,该文件内容参考 <https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo>。
|
||||
|
||||
- 资源库的 baseurl 列表,如 `http://repo.openeuler.org/openEuler-20.03-LTS/OS/aarch64/ http://repo.openeuler.org/openEuler-20.03-LTS/EPOL/aarch64/`。
|
||||
|
||||
6. -d, --device-tree DTB_NAME
|
||||
|
||||
内核设备树中的设备名称,和开发板名称有一点区别,对应 [kernel/arch/arm64/boot/dts/rockchip](https://gitee.com/openeuler/kernel/tree/master/arch/arm64/boot/dts/rockchip) 下的 `DTB_NAME.dts` 文件,默认为 `rk3399-firefly`。
|
||||
|
||||
7. -p, --platform PLATFORM
|
||||
|
||||
开发板所使用的平台,目前支持的平台有:rockchip、phytium,默认为 `rockchip`。
|
||||
|
||||
8. -s, --spec SPEC
|
||||
|
||||
构建的镜像版本:
|
||||
- `headless`,无图形界面版的镜像。
|
||||
- `xfce`,带 Xfce 桌面以及中文字体、输入法等全部配套软件。
|
||||
- `ukui`,带 UKUI 桌面及必要的配套软件(不包括中文字体以及输入法)。
|
||||
- `dde`,带 DDE 桌面及必要的配套软件(不包括中文字体以及输入法)。
|
||||
- rpmlist 文件路径,其中包含镜像中要安装的软件列表,内容参考 [rpmlist](../scripts/rockchip/configs/rpmlist)。
|
||||
|
||||
默认使用 `headless` 选项。
|
||||
|
||||
9. -h, --help
|
||||
|
||||
显示帮助信息。
|
||||
|
||||
适用的 RK3399 开发板:
|
||||
|
||||
已经测试的开发板如下,其他类型 Rockchip 开发板适用情况待测试。
|
||||
|
||||
1. Firefly-RK3399
|
||||
|
||||
已测试的版本如下:
|
||||
|
||||
- openEuler-20.03-LTS,构建命令如下:
|
||||
|
||||
`sudo bash build.sh -n openEuler-20.03-LTS-Firefly-RK3399-aarch64-alpha1 -k https://gitee.com/openeuler/rockchip-kernel.git -b openEuler-20.03-LTS -c firefly-rk3399_defconfig -r https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS/generic.repo -d rk3399-firefly -p rockchip -s headless`
|
||||
|
||||
- openEuler-22.03-LTS-SP3,构建命令如下:
|
||||
|
||||
`sudo bash build.sh -n openEuler-22.03-LTS-SP3-Firefly-RK3399-aarch64-alpha1 -k https://gitee.com/openeuler/rockchip-kernel.git -b openEuler-22.03-LTS-SP3 -c firefly-rk3399_defconfig -r https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-22.03-LTS-SP3/generic.repo -d rk3399-firefly -p rockchip -s headless`
|
||||
|
||||
2. RockPi-4A
|
||||
|
||||
已测试的版本如下:
|
||||
|
||||
- openEuler-20.03-LTS,构建命令如下:
|
||||
|
||||
`sudo bash build.sh -n openEuler-20.03-LTS-RockPi-4A-aarch64-alpha1 -k https://gitee.com/openeuler/rockchip-kernel.git -b openEuler-20.03-LTS -c rock-pi-4-rk3399_defconfig -r https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS/generic.repo -d rk3399-rock-pi-4a -p rockchip -s headless`
|
||||
|
||||
- openEuler-22.03-LTS,构建命令如下:
|
||||
|
||||
`sudo bash build.sh -n openEuler-22.03-LTS-RockPi-4A-aarch64-alpha1 -k https://gitee.com/openeuler/kernel.git -b openEuler-22.03-LTS -c rock-pi-4-rk3399_defconfig -r https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-22.03-LTS/generic.repo -d rk3399-rock-pi-4a -p rockchip -s headless`
|
||||
|
||||
适用的 RK3588 开发板:
|
||||
|
||||
已经测试的开发板如下,其他类型 RK3588 开发板适用情况待测试。
|
||||
|
||||
1. Firefly ITX-3588J
|
||||
|
||||
已测试的版本如下:
|
||||
|
||||
- openEuler-22.03-LTS,构建命令如下:
|
||||
|
||||
`sudo bash build.sh -n openEuler-22.03-RK3588-Firefly-ITX-3588J-aarch64-alpha1 -k https://gitee.com/openeuler/rockchip-kernel.git -b openEuler-22.03-LTS-RK3588 -c none -r https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-22.03-LTS/generic.repo -d rk3588-firefly-itx-3588j -p rockchip -s headless`
|
||||
|
||||
2. Firefly ROC-RK3588S-PC
|
||||
|
||||
已测试的版本如下:
|
||||
|
||||
- openEuler-22.03-LTS,构建命令如下:
|
||||
|
||||
`sudo bash build.sh -n openEuler-22.03-LTS-Station-M3-aarch64-alpha1 -k https://gitee.com/openeuler/rockchip-kernel.git -b openEuler-22.03-LTS-RK3588 -c none -r https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-22.03-LTS/generic.repo -d rk3588s-roc-pc -p rockchip -s headless`
|
||||
|
||||
3. Radxa Rock-5B
|
||||
|
||||
已测试的版本如下:
|
||||
|
||||
- openEuler-22.03-LTS,构建命令如下:
|
||||
|
||||
`sudo bash build.sh -n openEuler-22.03-LTS-Rock5B-aarch64-alpha1 -k https://gitee.com/openeuler/rockchip-kernel.git -b openEuler-22.03-LTS-RK3588 -c none -r https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-22.03-LTS/generic.repo -d rk3588-rock-5b -p rockchip -s headless`
|
||||
|
||||
适用的 RK356X 开发板:
|
||||
|
||||
已经测试的开发板如下,其他类型 RK356X 开发板适用情况待测试。
|
||||
|
||||
1. Firefly ROC-RK3566-PC
|
||||
|
||||
已测试的版本如下:
|
||||
|
||||
- openEuler-22.03-LTS-SP2,构建命令如下:
|
||||
|
||||
`sudo bash build.sh -n openEuler-22.03-LTS-SP2-Station-M2-aarch64-alpha1 -k https://gitee.com/openeuler/rockchip-kernel.git -b openEuler-22.03-LTS-SP2 -c none -r https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-22.03-LTS-SP2/generic.repo -d rk3566-roc-pc -p rockchip -s headless`
|
||||
|
||||
- openEuler-22.03-LTS-SP3,构建命令如下:
|
||||
|
||||
`sudo bash build.sh -n openEuler-22.03-LTS-SP3-Station-M2-aarch64-alpha1 -k https://gitee.com/openeuler/rockchip-kernel.git -b openEuler-22.03-LTS-SP3 -c none -r https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-22.03-LTS-SP3/generic.repo -d rk3566-roc-pc -p rockchip -s headless`
|
||||
|
||||
- openEuler-24.03-LTS,构建命令如下:
|
||||
|
||||
`sudo bash build.sh -n openEuler-24.03-LTS-Station-M2-aarch64-alpha1 -k https://gitee.com/openeuler/rockchip-kernel.git -b openEuler-24.03-LTS -c none -r https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-24.03-LTS/generic.repo -d rk3566-roc-pc -p rockchip -s headless`
|
||||
|
||||
2. Firefly ROC-RK3568-PC-SE
|
||||
|
||||
已测试的版本如下:
|
||||
|
||||
- openEuler-22.03-LTS-SP2,构建命令如下:
|
||||
|
||||
`sudo bash build.sh -n openEuler-22.03-LTS-SP2-ROC-RK3568-PC-SE-aarch64-alpha1 -k https://gitee.com/openeuler/rockchip-kernel.git -b openEuler-22.03-LTS-SP2 -c none -r https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-22.03-LTS-SP2/generic.repo -d rk3568-roc-pc-se -p rockchip -s headless`
|
||||
|
||||
- openEuler-22.03-LTS-SP3,构建命令如下:
|
||||
|
||||
`sudo bash build.sh -n openEuler-22.03-LTS-SP3-ROC-RK3568-PC-SE-aarch64-alpha1 -k https://gitee.com/openeuler/rockchip-kernel.git -b openEuler-22.03-LTS-SP3 -c none -r https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-22.03-LTS-SP3/generic.repo -d rk3568-roc-pc-se -p rockchip -s headless`
|
||||
|
||||
适用的 Phytium 开发板:
|
||||
|
||||
已经测试的开发板如下,其他类型 Phytium 开发板适用情况待测试。
|
||||
|
||||
1. Phytium Pi 4GB
|
||||
|
||||
已测试的版本如下:
|
||||
|
||||
- openEuler-22.03-LTS-SP3,构建命令如下:
|
||||
|
||||
`sudo bash build.sh -n openEuler-22.03-LTS-PhytiumPi-4GB-aarch64-alpha1 -k https://gitee.com/openeuler/phytium-kernel.git -b openEuler-22.03-LTS-Phytium -c none -r https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-22.03-LTS/generic.repo -d phytiumpi_firefly -p phytium -s headless`
|
||||
|
||||
- openEuler-24.03-LTS,构建命令如下:
|
||||
|
||||
`sudo bash build.sh -n openEuler-24.03-LTS-PhytiumPi-4GB-aarch64-alpha1 -k https://gitee.com/openeuler/phytium-kernel.git -b openEuler-24.03-LTS-Phytium -c none -r https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-24.03-LTS/generic.repo -d phytiumpi_firefly -p phytium -s headless`
|
||||
|
||||
|
||||
### 顺序构建
|
||||
|
||||
依次执行脚本构建生成压缩后的 SD 卡启动镜像和打包后的 EMMC 刷写文件,过程参考[顺序构建](rockchip/顺序构建.md)。
|
||||
|
||||
## 刷写镜像
|
||||
|
||||
### 刷写到 SD 卡
|
||||
|
||||
将压缩后的 RAW 原始镜像解压后写入 SD 卡,请参考[树莓派镜像烧录](raspberrypi/刷写镜像.md),过程中所用到的镜像应为本项目提供适用于 Rockchip 开发板的镜像。
|
||||
|
||||
>注意:由于 Firefly-RK3399 与其他 RK3399 开发板不同,会优先启动 EMMC 上的系统,在 Firefly-RK3399 上使用 SD 卡启动镜像之前需要清除 EMMC 上的系统,上电后需要按下电源键来启动。
|
||||
|
||||
### 刷写到 EMMC
|
||||
|
||||
将 openEuler 安装到 EMMC,详见[刷写EMMC镜像](rockchip/刷写EMMC镜像.md)。
|
||||
|
||||
|
||||
## 问题汇总
|
||||
|
||||
1. 自构建 openEuler 镜像登录时提示 Login incorrect:
|
||||
|
||||
该问题通常有以下几种特征:
|
||||
|
||||
- 根据提示输入 root / openeuler 后提示 Login incorrect
|
||||
|
||||
```
|
||||
openEuler 22.03 LTS
|
||||
Kernel 5.10.0 on an aarch64
|
||||
|
||||
openEuler login:root
|
||||
Password:
|
||||
|
||||
Login incorrect
|
||||
```
|
||||
|
||||
- chroot 到根目录无法修改密码
|
||||
|
||||
`passwd:Authentication token manipulation error`
|
||||
|
||||
遇到这一类问题有以下解决方法,如果有更多方法,欢迎反馈:
|
||||
|
||||
- [使用 Docker 构建镜像(推荐)](rockchip/使用Docker构建镜像.md)
|
||||
|
||||
- [设置 SELinux](rockchip/设置SELinux.md)
|
||||
640
scripts/raspberrypi/build-image-common.sh
Normal file
@ -0,0 +1,640 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
__usage="
|
||||
Usage: build-image-common [OPTIONS]
|
||||
Build raspberrypi image.
|
||||
|
||||
Options:
|
||||
-n, --name IMAGE_NAME The raspberrypi image name to be built.
|
||||
-k, --kernel KERNEL_URL The URL of kernel source's repository, which defaults to https://gitee.com/openeuler/raspberrypi-kernel.git.
|
||||
-b, --branch KERNEL_BRANCH The branch name of kernel source's repository, which defaults to openEuler-20.03-LTS.
|
||||
-c, --config KERNEL_DEFCONFIG The name/path of defconfig file when compiling kernel, which defaults to openeuler-raspi_defconfig.
|
||||
-r, --repo REPO_INFO Required! The URL/path of target repo file or list of repo's baseurls which should be a space separated list.
|
||||
-s, --spec SPEC The image's specification: headless, xfce, ukui, dde or the file path of rpmlist. The default is headless.
|
||||
--cores N The number of cpu cores to be used during making.
|
||||
-h, --help Show command help.
|
||||
"
|
||||
|
||||
help()
|
||||
{
|
||||
echo "$__usage"
|
||||
exit $1
|
||||
}
|
||||
|
||||
parseargs()
|
||||
{
|
||||
if [ "x$#" == "x0" ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
while [ "x$#" != "x0" ];
|
||||
do
|
||||
if [ "x$1" == "x-h" -o "x$1" == "x--help" ]; then
|
||||
return 1
|
||||
elif [ "x$1" == "x" ]; then
|
||||
shift
|
||||
elif [ "x$1" == "x-n" -o "x$1" == "x--name" ]; then
|
||||
img_name=`echo $2`
|
||||
shift
|
||||
shift
|
||||
elif [ "x$1" == "x-k" -o "x$1" == "x--kernel" ]; then
|
||||
kernel_url=`echo $2`
|
||||
shift
|
||||
shift
|
||||
elif [ "x$1" == "x-b" -o "x$1" == "x--branch" ]; then
|
||||
kernel_branch=`echo $2`
|
||||
shift
|
||||
shift
|
||||
elif [ "x$1" == "x-c" -o "x$1" == "x--config" ]; then
|
||||
default_defconfig=`echo $2`
|
||||
shift
|
||||
shift
|
||||
elif [ "x$1" == "x-r" -o "x$1" == "x--repo" ]; then
|
||||
repo_file=`echo $2`
|
||||
shift
|
||||
shift
|
||||
elif [ "x$1" == "x-s" -o "x$1" == "x--spec" ]; then
|
||||
spec_param=`echo $2`
|
||||
shift
|
||||
shift
|
||||
elif [ "x$1" == "x--cores" ]; then
|
||||
make_cores=`echo $2`
|
||||
shift
|
||||
shift
|
||||
else
|
||||
echo `date` - ERROR, UNKNOWN params "$@"
|
||||
return 2
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
ERROR(){
|
||||
echo `date` - ERROR, $* | tee -a ${log_dir}/${builddate}.log
|
||||
}
|
||||
|
||||
LOG(){
|
||||
echo `date` - INFO, $* | tee -a ${log_dir}/${builddate}.log
|
||||
}
|
||||
|
||||
UMOUNT_ALL(){
|
||||
set +e
|
||||
if grep -q "${rootfs_dir}/dev " /proc/mounts ; then
|
||||
umount -l ${rootfs_dir}/dev
|
||||
fi
|
||||
if grep -q "${rootfs_dir}/proc " /proc/mounts ; then
|
||||
umount -l ${rootfs_dir}/proc
|
||||
fi
|
||||
if grep -q "${rootfs_dir}/sys " /proc/mounts ; then
|
||||
umount -l ${rootfs_dir}/sys
|
||||
fi
|
||||
set -e
|
||||
}
|
||||
|
||||
LOSETUP_D_IMG(){
|
||||
set +e
|
||||
if [ -d ${root_mnt} ]; then
|
||||
if grep -q "${root_mnt} " /proc/mounts ; then
|
||||
umount ${root_mnt}
|
||||
fi
|
||||
fi
|
||||
if [ -d ${boot_mnt} ]; then
|
||||
if grep -q "${boot_mnt} " /proc/mounts ; then
|
||||
umount ${boot_mnt}
|
||||
fi
|
||||
fi
|
||||
if [ "x$device" != "x" ]; then
|
||||
kpartx -d ${device}
|
||||
losetup -d ${device}
|
||||
device=""
|
||||
fi
|
||||
if [ -d ${root_mnt} ]; then
|
||||
rm -rf ${root_mnt}
|
||||
fi
|
||||
if [ -d ${boot_mnt} ]; then
|
||||
rm -rf ${boot_mnt}
|
||||
fi
|
||||
set -e
|
||||
}
|
||||
|
||||
INSTALL_PACKAGES(){
|
||||
for item in $(cat $1)
|
||||
do
|
||||
dnf --installroot=${rootfs_dir}/ install -y $item
|
||||
if [ $? == 0 ]; then
|
||||
LOG install $item.
|
||||
else
|
||||
ERROR can not install $item.
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
prepare(){
|
||||
if [ ! -d ${tmp_dir} ]; then
|
||||
mkdir -p ${tmp_dir}
|
||||
else
|
||||
rm -rf ${tmp_dir}/*
|
||||
fi
|
||||
|
||||
kernel_name=${kernel_url##*/}
|
||||
kernel_name=${kernel_name%.*}
|
||||
|
||||
if [ "x$default_defconfig" == "x" ] ; then
|
||||
default_defconfig=$kernel_defconfig
|
||||
elif [ -f $default_defconfig ]; then
|
||||
cp $default_defconfig ${tmp_dir}/
|
||||
kernel_defconfig=${tmp_dir}/${default_defconfig##*/}
|
||||
else
|
||||
echo `date` - ERROR, config file $default_defconfig can not be found.
|
||||
exit 2
|
||||
fi
|
||||
if [ "x$spec_param" == "xheadless" ] || [ "x$spec_param" == "x" ]; then
|
||||
:
|
||||
elif [ "x$spec_param" == "xxfce" ] || [ "x$spec_param" == "xukui" ] || [ "x$spec_param" == "xdde" ]; then
|
||||
CONFIG_RPM_LIST=${euler_dir}/rpmlist-${spec_param}
|
||||
elif [ -f ${spec_param} ]; then
|
||||
cp ${spec_param} ${tmp_dir}/
|
||||
spec_file_name=${spec_param##*/}
|
||||
CONFIG_RPM_LIST=${tmp_dir}/${spec_file_name}
|
||||
else
|
||||
echo `date` - ERROR, please check your params in option -s or --spec.
|
||||
exit 2
|
||||
fi
|
||||
if [ "x$repo_file" == "x" ] ; then
|
||||
echo `date` - ERROR, \"-r REPO_INFO or --repo REPO_INFO\" missing.
|
||||
help 2
|
||||
elif [ "x${repo_file:0:4}" == "xhttp" ]; then
|
||||
if [ "x${repo_file:0-5}" == "x.repo" ]; then
|
||||
wget ${repo_file} -P ${tmp_dir}/
|
||||
repo_file_name=${repo_file##*/}
|
||||
repo_file=${tmp_dir}/${repo_file_name}
|
||||
else
|
||||
repo_file_name=tmp.repo
|
||||
repo_file_tmp=${tmp_dir}/${repo_file_name}
|
||||
index=1
|
||||
for baseurl in ${repo_file// / }
|
||||
do
|
||||
echo [repo${index}] >> ${repo_file_tmp}
|
||||
echo name=repo${index} to build raspi image >> ${repo_file_tmp}
|
||||
echo baseurl=${baseurl} >> ${repo_file_tmp}
|
||||
echo enabled=1 >> ${repo_file_tmp}
|
||||
echo gpgcheck=0 >> ${repo_file_tmp}
|
||||
echo >> ${repo_file_tmp}
|
||||
index=$(($index+1))
|
||||
done
|
||||
repo_file=${repo_file_tmp}
|
||||
fi
|
||||
else
|
||||
if [ ! -f $repo_file ]; then
|
||||
echo `date` - ERROR, repo file $repo_file can not be found.
|
||||
exit 2
|
||||
else
|
||||
cp $repo_file ${tmp_dir}/
|
||||
repo_file_name=${repo_file##*/}
|
||||
repo_file=${tmp_dir}/${repo_file_name}
|
||||
fi
|
||||
fi
|
||||
|
||||
repo_suffix=${repo_file_name%.*}
|
||||
if [ "x$img_name" == "x" ]; then
|
||||
if [[ "${repo_suffix}" =~ ^${OS_NAME}.* ]]; then
|
||||
img_name=${repo_suffix}
|
||||
else
|
||||
img_name=${OS_NAME}
|
||||
fi
|
||||
img_name=${img_name}-raspi-aarch64-${buildid}.img
|
||||
else
|
||||
if [ "x${img_name:0-4}" != "x.img" ]; then
|
||||
img_name=${img_name}.img
|
||||
fi
|
||||
fi
|
||||
img_file=${img_dir}/${img_name}
|
||||
|
||||
if [ ! -d ${log_dir} ]; then
|
||||
mkdir -p ${log_dir}
|
||||
fi
|
||||
LOG "prepare begin..."
|
||||
dnf clean all
|
||||
dnf makecache
|
||||
dnf install -y bison flex openssl-devel bc wget dnf-plugins-core rsync parted dosfstools grep bash xz kpartx
|
||||
|
||||
repo_info_names=`cat ${repo_file} | grep "^\["`
|
||||
repo_baseurls=`cat ${repo_file} | grep "^baseurl="`
|
||||
index=1
|
||||
for repo_name in ${repo_info_names}
|
||||
do
|
||||
repo_name_list[$index]=${repo_name:1:-1}
|
||||
index=$((index+1))
|
||||
done
|
||||
index=1
|
||||
for baseurl in ${repo_baseurls}
|
||||
do
|
||||
repo_info="${repo_info} --repofrompath ${repo_name_list[$index]}-tmp,${baseurl:8}"
|
||||
index=$((index+1))
|
||||
done
|
||||
set +e
|
||||
os_release_name=${OS_NAME}-release
|
||||
dnf ${repo_info} --disablerepo="*" --downloaddir=${tmp_dir}/ download ${os_release_name}
|
||||
if [ $? != 0 ]; then
|
||||
ERROR "Fail to download ${os_release_name}!"
|
||||
exit 2
|
||||
fi
|
||||
os_release_name=`ls -r ${tmp_dir}/${os_release_name}*.rpm 2>/dev/null| head -n 1`
|
||||
if [ -z "${os_release_name}" ]; then
|
||||
ERROR "${os_release_name} can not be found!"
|
||||
exit 2
|
||||
fi
|
||||
wget https://raw.githubusercontent.com/RPi-Distro/raspberrypi-sys-mods/master/etc.armhf/udev/rules.d/99-com.rules -P ${tmp_dir}/
|
||||
if [ $? -ne 0 ]; then
|
||||
cp ${euler_dir}/99-com.rules ${tmp_dir}/
|
||||
fi
|
||||
wget https://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git/plain/regulatory.db.p7s -P ${tmp_dir}/
|
||||
if [ $? -ne 0 ]; then
|
||||
cp ${euler_dir}/regulatory.db.p7s ${tmp_dir}/
|
||||
fi
|
||||
wget https://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git/plain/regulatory.db -P ${tmp_dir}/
|
||||
if [ $? -ne 0 ]; then
|
||||
cp ${euler_dir}/regulatory.db ${tmp_dir}/
|
||||
fi
|
||||
set -e
|
||||
if [ ! -d ${img_dir} ]; then
|
||||
mkdir -p ${img_dir}
|
||||
fi
|
||||
LOG "prepare end."
|
||||
}
|
||||
|
||||
update_firmware_app(){
|
||||
LOG "update firmware and app begin..."
|
||||
cd "${workdir}"
|
||||
######## firmware
|
||||
if [[ ! -d firmware ]]; then
|
||||
git clone --depth=1 https://github.com/raspberrypi/firmware
|
||||
if [[ $? -eq 0 ]]; then
|
||||
LOG "clone firmware done."
|
||||
else
|
||||
ERROR "clone firmware failed."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
cd firmware
|
||||
git pull origin master
|
||||
cd ../
|
||||
fi
|
||||
######## bluez-firmware
|
||||
if [[ ! -d bluez-firmware ]]; then
|
||||
git clone --depth=1 https://github.com/RPi-Distro/bluez-firmware
|
||||
if [[ $? -eq 0 ]]; then
|
||||
LOG "clone bluez-firmware done."
|
||||
else
|
||||
ERROR "clone bluez-firmware failed."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
cd bluez-firmware
|
||||
git pull origin master
|
||||
cd ../
|
||||
fi
|
||||
######## firmware-nonfree
|
||||
if [[ ! -d firmware-nonfree ]]; then
|
||||
git clone --depth=1 -b buster https://github.com/RPi-Distro/firmware-nonfree
|
||||
if [[ $? -eq 0 ]]; then
|
||||
LOG "clone firmware-nonfree done."
|
||||
else
|
||||
ERROR "clone firmware-nonfree failed."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
cd firmware-nonfree
|
||||
git pull origin master
|
||||
cd ../
|
||||
fi
|
||||
######## pi-bluetooth
|
||||
if [[ ! -d pi-bluetooth ]]; then
|
||||
git clone https://github.com/RPi-Distro/pi-bluetooth
|
||||
if [[ $? -eq 0 ]]; then
|
||||
LOG "clone pi-bluetooth done."
|
||||
else
|
||||
ERROR "clone pi-bluetooth failed."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
cd pi-bluetooth
|
||||
git pull origin master
|
||||
cd ../
|
||||
fi
|
||||
LOG "update firmware and app end."
|
||||
}
|
||||
|
||||
make_kernel(){
|
||||
LOG "make kernel(${default_defconfig}) begin..."
|
||||
kernel_dir_tmp=$1
|
||||
cd "${kernel_dir_tmp}"
|
||||
if [ "x${kernel_defconfig:0:1}" != "x/" ]; then
|
||||
if [ ! -f arch/arm64/configs/${kernel_defconfig} ]; then
|
||||
ERROR "config file ${kernel_defconfig} can not be found in kernel source".
|
||||
exit 2
|
||||
fi
|
||||
kernel_commitid=$(git rev-parse HEAD)
|
||||
output_dir=${output_dir}/${kernel_commitid}
|
||||
if [ -f ${output_dir}/.${kernel_defconfig}.DONE ] ; then
|
||||
LOG This kernel has already been built successfully before. Use the last built kernel image.
|
||||
return 0
|
||||
fi
|
||||
kernel_defconfig=arch/arm64/configs/${kernel_defconfig}
|
||||
fi
|
||||
find ${output_dir}/ -mindepth 1 -maxdepth 1 -print0 | xargs -0 rm -rf
|
||||
make distclean
|
||||
cp ${kernel_defconfig} .config
|
||||
make ARCH=arm64 olddefconfig
|
||||
kernel_defconfig=${kernel_defconfig##*/}
|
||||
make ARCH=arm64 -j${make_cores}
|
||||
if [[ $? -eq 0 ]]; then
|
||||
mkdir -p ${output_dir}
|
||||
make ARCH=arm64 INSTALL_MOD_PATH=${output_dir}/ modules_install
|
||||
if [[ $? -eq 0 ]]; then
|
||||
cp arch/arm64/boot/Image ${output_dir}/
|
||||
cp arch/arm64/boot/dts/broadcom/*.dtb ${output_dir}/
|
||||
mkdir ${output_dir}/overlays
|
||||
cp arch/arm64/boot/dts/overlays/*.dtb* ${output_dir}/overlays/
|
||||
LOG "kernel content in ${output_dir}."
|
||||
else
|
||||
ERROR "modules install failed!"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
ERROR "make ARCH=arm64 -j${make_cores} failed!"
|
||||
exit 1
|
||||
fi
|
||||
touch ${output_dir}/.${kernel_defconfig}.DONE
|
||||
LOG "make kernel(${default_defconfig}) end."
|
||||
}
|
||||
|
||||
update_kernel(){
|
||||
LOG "update kernel begin..."
|
||||
cd "${workdir}"
|
||||
kernel_dir=""
|
||||
for file in `ls`
|
||||
do
|
||||
if [[ ${file} = ${kernel_name} && -d ${file}/.git ]]; then
|
||||
kernel_dir=${workdir}/${file}
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ${kernel_dir} = "" ]]; then
|
||||
git clone ${kernel_url}
|
||||
if [[ $? -eq 0 ]]; then
|
||||
LOG "clone ${kernel_name} done."
|
||||
else
|
||||
ERROR "clone ${kernel_name} failed."
|
||||
exit 1
|
||||
fi
|
||||
kernel_dir=${workdir}/${kernel_name}
|
||||
else
|
||||
cd "${kernel_name}"
|
||||
remote_url_exist=`git remote -v | grep "origin"`
|
||||
remote_url=`git ls-remote --get-url origin`
|
||||
if [[ ${remote_url_exist} = "" || ${remote_url} != ${kernel_url} ]]; then
|
||||
cd ../
|
||||
rm -rf ${kernel_name}
|
||||
git clone ${kernel_url}
|
||||
if [[ $? -eq 0 ]]; then
|
||||
LOG "clone ${kernel_name} done."
|
||||
else
|
||||
ERROR "clone ${kernel_name} failed."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
cd "${kernel_dir}"
|
||||
make distclean
|
||||
cur_branch=`git branch | grep \*`
|
||||
cur_branch=${cur_branch##*\ }
|
||||
exist_branch=0
|
||||
if [[ ${cur_branch} = ${kernel_branch} ]]; then
|
||||
exist_branch=1
|
||||
else
|
||||
for branch in `git branch -a`
|
||||
do
|
||||
branch=${branch##*\ }
|
||||
if [[ ${branch} = ${kernel_branch} ]]; then
|
||||
exist_branch=1
|
||||
git checkout ${kernel_branch}
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [[ ${exist_branch} -eq 0 ]]; then
|
||||
git fetch origin
|
||||
for branch in `git branch -a`
|
||||
do
|
||||
branch=${branch##*\ }
|
||||
if [[ ${branch} = "remotes/origin/${kernel_branch}" ]]; then
|
||||
git checkout remotes/origin/${kernel_branch}
|
||||
git checkout -b ${kernel_branch}
|
||||
LOG "git checkout -b ${kernel_branch} done."
|
||||
exist_branch=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
if [[ ${exist_branch} -eq 0 ]]; then
|
||||
ERROR "no ${kernel_branch} found."
|
||||
exit 1
|
||||
else
|
||||
git fetch origin
|
||||
git reset --hard remotes/origin/${kernel_branch}
|
||||
make_kernel ${kernel_dir}
|
||||
fi
|
||||
LOG "update kernel end."
|
||||
}
|
||||
|
||||
make_rootfs(){
|
||||
LOG "make rootfs for ${repo_file} begin..."
|
||||
if [[ -d ${rootfs_dir} ]]; then
|
||||
UMOUNT_ALL
|
||||
rm -rf ${rootfs_dir}
|
||||
fi
|
||||
mkdir -p ${rootfs_dir}/var/lib/rpm
|
||||
rpm --root ${rootfs_dir} --initdb
|
||||
rpm -ivh --nodeps --root ${rootfs_dir}/ ${os_release_name}
|
||||
mkdir -p ${rootfs_dir}/etc/rpm
|
||||
chmod a+rX ${rootfs_dir}/etc/rpm
|
||||
echo "%_install_langs en_US" > ${rootfs_dir}/etc/rpm/macros.image-language-conf
|
||||
if [[ ! -d ${rootfs_dir}/etc/yum.repos.d ]]; then
|
||||
mkdir -p ${rootfs_dir}/etc/yum.repos.d
|
||||
fi
|
||||
cp ${repo_file} ${rootfs_dir}/etc/yum.repos.d/tmp.repo
|
||||
set +e
|
||||
INSTALL_PACKAGES $CONFIG_RPM_LIST
|
||||
cat ${rootfs_dir}/etc/systemd/timesyncd.conf | grep "^NTP=*"
|
||||
if [ $? -ne 0 ]; then
|
||||
sed -i -e '/^#NTP=/cNTP=0.cn.pool.ntp.org' ${rootfs_dir}/etc/systemd/timesyncd.conf
|
||||
sed -i -e 's/#FallbackNTP=/FallbackNTP=1.asia.pool.ntp.org 2.asia.pool.ntp.org /g' ${rootfs_dir}/etc/systemd/timesyncd.conf
|
||||
fi
|
||||
set -e
|
||||
cp ${euler_dir}/hosts ${rootfs_dir}/etc/hosts
|
||||
if [ ! -d $rootfs_dir/etc/sysconfig/network-scripts ]; then
|
||||
mkdir -p $rootfs_dir/etc/sysconfig/network-scripts
|
||||
fi
|
||||
cp ${euler_dir}/ifcfg-eth0 $rootfs_dir/etc/sysconfig/network-scripts/ifcfg-eth0
|
||||
mkdir -p ${rootfs_dir}/lib/firmware ${rootfs_dir}/usr/bin ${rootfs_dir}/lib/udev/rules.d ${rootfs_dir}/lib/systemd/system
|
||||
cp ${workdir}/bluez-firmware/broadcom/* ${rootfs_dir}/lib/firmware/
|
||||
cp -r ${workdir}/firmware-nonfree/brcm/ ${rootfs_dir}/lib/firmware/
|
||||
mv ${rootfs_dir}/lib/firmware/BCM43430A1.hcd ${rootfs_dir}/lib/firmware/brcm/
|
||||
mv ${rootfs_dir}/lib/firmware/BCM4345C0.hcd ${rootfs_dir}/lib/firmware/brcm/
|
||||
cp ${tmp_dir}/regulatory.db* ${rootfs_dir}/lib/firmware/
|
||||
cp ${tmp_dir}/*.rules ${rootfs_dir}/lib/udev/rules.d/
|
||||
cp ${workdir}/pi-bluetooth/usr/bin/* ${rootfs_dir}/usr/bin/
|
||||
cp ${workdir}/pi-bluetooth/lib/udev/rules.d/90-pi-bluetooth.rules ${rootfs_dir}/lib/udev/rules.d/
|
||||
cp ${workdir}/pi-bluetooth/debian/pi-bluetooth.bthelper\@.service ${rootfs_dir}/lib/systemd/system/bthelper\@.service
|
||||
cp ${workdir}/pi-bluetooth/debian/pi-bluetooth.hciuart.service ${rootfs_dir}/lib/systemd/system/hciuart.service
|
||||
cp -r ${output_dir}/lib/modules ${rootfs_dir}/lib/
|
||||
mkdir -p ${rootfs_dir}/usr/share/licenses/raspi
|
||||
cp ${euler_dir}/License/* ${rootfs_dir}/usr/share/licenses/raspi/
|
||||
cp ${euler_dir}/chroot.sh ${rootfs_dir}/chroot.sh
|
||||
if [ ! -d ${rootfs_dir}/etc/rc.d/init.d ]; then
|
||||
mkdir -p ${rootfs_dir}/etc/rc.d/init.d
|
||||
fi
|
||||
cp ${euler_dir}/extend-root.sh ${rootfs_dir}/etc/rc.d/init.d/extend-root.sh
|
||||
chmod +x ${rootfs_dir}/chroot.sh
|
||||
mount --bind /dev ${rootfs_dir}/dev
|
||||
mount -t proc /proc ${rootfs_dir}/proc
|
||||
mount -t sysfs /sys ${rootfs_dir}/sys
|
||||
chroot ${rootfs_dir} /bin/bash -c "echo 'Y' | /chroot.sh ${spec_param}"
|
||||
UMOUNT_ALL
|
||||
rm ${rootfs_dir}/etc/yum.repos.d/tmp.repo
|
||||
rm ${rootfs_dir}/chroot.sh
|
||||
LOG "make rootfs for ${repo_file} end."
|
||||
}
|
||||
|
||||
make_img(){
|
||||
LOG "make ${img_file} begin..."
|
||||
device=""
|
||||
LOSETUP_D_IMG
|
||||
size=`du -sh --block-size=1MiB ${rootfs_dir} | cut -f 1 | xargs`
|
||||
size=$(($size+1150))
|
||||
losetup -D
|
||||
dd if=/dev/zero of=${img_file} bs=1MiB count=$size && sync
|
||||
parted ${img_file} mklabel msdos mkpart primary fat32 8192s 593919s
|
||||
parted ${img_file} -s set 1 boot
|
||||
parted ${img_file} mkpart primary linux-swap 593920s 1593343s
|
||||
parted ${img_file} mkpart primary ext4 1593344s 100%
|
||||
device=`losetup -f --show -P ${img_file}`
|
||||
LOG "after losetup: ${device}"
|
||||
trap 'LOSETUP_D_IMG' EXIT
|
||||
LOG "image ${img_file} created and mounted as ${device}"
|
||||
kpartx -va ${device}
|
||||
loopX=${device##*\/}
|
||||
partprobe ${device}
|
||||
bootp=/dev/mapper/${loopX}p1
|
||||
swapp=/dev/mapper/${loopX}p2
|
||||
rootp=/dev/mapper/${loopX}p3
|
||||
LOG "bootp: " ${bootp} "rootp: " ${rootp}
|
||||
mkfs.vfat -n boot ${bootp}
|
||||
mkswap ${swapp} --pagesize 4096
|
||||
mkfs.ext4 ${rootp}
|
||||
mkdir -p ${root_mnt} ${boot_mnt}
|
||||
mount -t vfat -o uid=root,gid=root,umask=0000 ${bootp} ${boot_mnt}
|
||||
mount -t ext4 ${rootp} ${root_mnt}
|
||||
prefix_len=${#loopX}
|
||||
let prefix_len=prefix_len+13
|
||||
fstab_array=("" "" "" "")
|
||||
for line in `blkid | grep /dev/mapper/${loopX}p`
|
||||
do
|
||||
partuuid=${line#*PARTUUID=\"}
|
||||
fstab_array[${line:$prefix_len:1}]=${partuuid%%\"*}
|
||||
done
|
||||
echo "PARTUUID=${fstab_array[3]} / ext4 defaults,noatime 0 0" > ${rootfs_dir}/etc/fstab
|
||||
echo "PARTUUID=${fstab_array[1]} /boot vfat defaults,noatime 0 0" >> ${rootfs_dir}/etc/fstab
|
||||
echo "PARTUUID=${fstab_array[2]} swap swap defaults,noatime 0 0" >> ${rootfs_dir}/etc/fstab
|
||||
|
||||
cp -rf --preserve=mode,timestamps --no-preserve=ownership ${workdir}/firmware/boot/* ${boot_mnt}/
|
||||
pushd ${boot_mnt}/
|
||||
rm -f *.dtb cmdline.txt kernel.img kernel7.img kernel7l.img
|
||||
cp ${euler_dir}/config.txt ./
|
||||
echo "console=serial0,115200 console=tty1 root=PARTUUID=${fstab_array[3]} rootfstype=ext4 elevator=deadline rootwait net.ifnames=0" > cmdline.txt
|
||||
popd
|
||||
cp --preserve=mode,timestamps --no-preserve=ownership ${output_dir}/Image ${boot_mnt}/kernel8.img
|
||||
cp --preserve=mode,timestamps --no-preserve=ownership ${output_dir}/*.dtb ${boot_mnt}/
|
||||
cp --preserve=mode,timestamps --no-preserve=ownership ${output_dir}/overlays/* ${boot_mnt}/overlays/
|
||||
|
||||
rm -rf ${rootfs_dir}/boot
|
||||
rsync -avHAXq ${rootfs_dir}/* ${root_mnt}
|
||||
pushd ${root_mnt}
|
||||
for tmpdir in `ls ${output_dir}/lib/modules`
|
||||
do
|
||||
if [ -d ./lib/modules/${tmpdir} ]; then
|
||||
if [ -L ./lib/modules/${tmpdir}/build ]; then
|
||||
rm -rf ./lib/modules/${tmpdir}/build
|
||||
fi
|
||||
if [ -L ./lib/modules/${tmpdir}/source ]; then
|
||||
rm -rf ./lib/modules/${tmpdir}/source
|
||||
fi
|
||||
fi
|
||||
done
|
||||
popd
|
||||
sync
|
||||
sleep 10
|
||||
LOSETUP_D_IMG
|
||||
rm -rf ${rootfs_dir}
|
||||
losetup -D
|
||||
pushd ${img_dir}
|
||||
if [ -f ${img_file} ]; then
|
||||
sha256sum $(basename ${img_file}) > ${img_file}.sha256sum
|
||||
xz -T 20 -z -c ${img_file} > ${img_file}.xz
|
||||
sha256sum $(basename ${img_file}.xz) > ${img_file}.xz.sha256sum
|
||||
LOG "made sum files for ${img_file}"
|
||||
fi
|
||||
popd
|
||||
LOG "write ${img_file} done."
|
||||
LOG "make ${img_file} end."
|
||||
}
|
||||
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo `date` - ERROR, Please run as root!
|
||||
exit
|
||||
fi
|
||||
|
||||
kernel_url="https://gitee.com/openeuler/raspberrypi-kernel.git"
|
||||
kernel_branch="openEuler-20.03-LTS"
|
||||
kernel_defconfig="openeuler-raspi_defconfig"
|
||||
default_defconfig=""
|
||||
make_cores=$(nproc)
|
||||
|
||||
parseargs "$@" || help $?
|
||||
|
||||
OS_NAME=openEuler
|
||||
|
||||
cur_dir=$(cd $(dirname $0);pwd)
|
||||
|
||||
workdir=${cur_dir}
|
||||
if [ "x${workdir}" == "x/" ]; then
|
||||
workdir=/raspi_output_common
|
||||
else
|
||||
workdir=${workdir}/raspi_output_common
|
||||
fi
|
||||
|
||||
buildid=$(date +%Y%m%d%H%M%S)
|
||||
builddate=${buildid:0:8}
|
||||
|
||||
tmp_dir=${workdir}/tmp
|
||||
log_dir=${workdir}/log
|
||||
img_dir=${workdir}/img
|
||||
output_dir=${workdir}/output
|
||||
rootfs_dir=${workdir}/rootfs
|
||||
root_mnt=${workdir}/root
|
||||
boot_mnt=${workdir}/boot
|
||||
euler_dir=${cur_dir}/config-common
|
||||
|
||||
CONFIG_RPM_LIST=${euler_dir}/rpmlist
|
||||
|
||||
trap 'UMOUNT_ALL' EXIT
|
||||
UMOUNT_ALL
|
||||
prepare
|
||||
IFS=$'\n'
|
||||
update_firmware_app
|
||||
update_kernel
|
||||
|
||||
make_rootfs
|
||||
make_img
|
||||
186
scripts/raspberrypi/build-image-docker.sh
Normal file
@ -0,0 +1,186 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
__usage="
|
||||
Usage: build-image-docker [OPTIONS]
|
||||
Build raspberrypi image.
|
||||
|
||||
Options:
|
||||
-d, --docker DOCKER_FILE The URL/path of the Docker image, which defaults to https://repo.openeuler.org/openEuler-20.03-LTS-SP1/docker_img/aarch64/openEuler-docker.aarch64.tar.xz
|
||||
-n, --name IMAGE_NAME The raspberrypi image name to be built.
|
||||
-k, --kernel KERNEL_URL The URL of kernel source's repository, which defaults to https://gitee.com/openeuler/raspberrypi-kernel.git.
|
||||
-b, --branch KERNEL_BRANCH The branch name of kernel source's repository, which defaults to openEuler-20.03-LTS.
|
||||
-c, --config KERNEL_DEFCONFIG The name/path of defconfig file when compiling kernel, which defaults to openeuler-raspi_defconfig.
|
||||
-r, --repo REPO_INFO Required! The URL/path of target repo file or list of repo's baseurls which should be a space separated list.
|
||||
-s, --spec SPEC The image's specification: headless, xfce, ukui, dde or the file path of rpmlist. The default is headless.
|
||||
--cores N The number of cpu cores to be used during making.
|
||||
-h, --help Show command help.
|
||||
"
|
||||
|
||||
help()
|
||||
{
|
||||
echo "$__usage"
|
||||
exit $1
|
||||
}
|
||||
|
||||
parseargs()
|
||||
{
|
||||
if [ "x$#" == "x0" ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
while [ "x$#" != "x0" ];
|
||||
do
|
||||
if [ "x$1" == "x-h" -o "x$1" == "x--help" ]; then
|
||||
return 1
|
||||
elif [ "x$1" == "x" ]; then
|
||||
shift
|
||||
elif [ "x$1" == "x-d" -o "x$1" == "x--docker" ]; then
|
||||
docker_file=`echo $2`
|
||||
shift
|
||||
shift
|
||||
elif [ "x$1" == "x-n" -o "x$1" == "x--name" ]; then
|
||||
img_name=`echo $2`
|
||||
params="${params} -n ${img_name}"
|
||||
shift
|
||||
shift
|
||||
elif [ "x$1" == "x-k" -o "x$1" == "x--kernel" ]; then
|
||||
kernel_url=`echo $2`
|
||||
params="${params} -k ${kernel_url}"
|
||||
shift
|
||||
shift
|
||||
elif [ "x$1" == "x-b" -o "x$1" == "x--branch" ]; then
|
||||
kernel_branch=`echo $2`
|
||||
params="${params} -b ${kernel_branch}"
|
||||
shift
|
||||
shift
|
||||
elif [ "x$1" == "x-c" -o "x$1" == "x--config" ]; then
|
||||
default_defconfig=`echo $2`
|
||||
if [ "x$default_defconfig" != "x" ]; then
|
||||
if [ ! -f $default_defconfig ]; then
|
||||
echo `date` - ERROR, config file $default_defconfig can not be found.
|
||||
exit 2
|
||||
else
|
||||
cp $default_defconfig ${params_dir}/
|
||||
defconfig_name=${default_defconfig##*/}
|
||||
default_defconfig=${params_dir_indocker}/${defconfig_name}
|
||||
fi
|
||||
fi
|
||||
params="${params} -c ${default_defconfig}"
|
||||
shift
|
||||
shift
|
||||
elif [ "x$1" == "x-r" -o "x$1" == "x--repo" ]; then
|
||||
repo_file=`echo $2`
|
||||
if [ "x$repo_file" != "x" -a "x${repo_file:0:4}" != "xhttp" ]; then
|
||||
if [ ! -f $repo_file ]; then
|
||||
echo `date` - ERROR, repo file $repo_file can not be found.
|
||||
exit 2
|
||||
else
|
||||
cp $repo_file ${params_dir}/
|
||||
repo_file_name=${repo_file##*/}
|
||||
repo_file=${params_dir_indocker}/${repo_file_name}
|
||||
fi
|
||||
fi
|
||||
params="${params} -r ${repo_file}"
|
||||
shift
|
||||
shift
|
||||
elif [ "x$1" == "x-s" -o "x$1" == "x--spec" ]; then
|
||||
spec_param=`echo $2`
|
||||
if [ "x$spec_param" == "xheadless" ] || [ "x$spec_param" == "x" ] \
|
||||
|| [ "x$spec_param" == "xxfce" ] || [ "x$spec_param" == "xukui" ] \
|
||||
|| [ "x$spec_param" == "xdde" ]; then
|
||||
:
|
||||
elif [ -f $spec_param ]; then
|
||||
cp $spec_param ${params_dir}/
|
||||
spec_file_name=${spec_param##*/}
|
||||
$spec_param=${params_dir_indocker}/${spec_file_name}
|
||||
else
|
||||
echo `date` - ERROR, please check your params in option -s or --spec.
|
||||
exit 2
|
||||
fi
|
||||
params="${params} -s ${spec_param}"
|
||||
shift
|
||||
shift
|
||||
elif [ "x$1" == "x--cores" ]; then
|
||||
make_cores=`echo $2`
|
||||
params="${params} --cores ${make_cores}"
|
||||
shift
|
||||
shift
|
||||
else
|
||||
echo `date` - ERROR, UNKNOWN params "$@"
|
||||
return 2
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
ERROR(){
|
||||
echo `date` - ERROR, $* | tee -a ${log_dir}/${builddate}.log
|
||||
}
|
||||
|
||||
LOG(){
|
||||
echo `date` - INFO, $* | tee -a ${log_dir}/${builddate}.log
|
||||
}
|
||||
|
||||
cur_dir=$(cd $(dirname $0);pwd)
|
||||
|
||||
docker_file="https://repo.openeuler.org/openEuler-20.03-LTS-SP1/docker_img/aarch64/openEuler-docker.aarch64.tar.xz"
|
||||
|
||||
workdir=${cur_dir}/raspi_output_common
|
||||
|
||||
buildid=$(date +%Y%m%d%H%M%S)
|
||||
builddate=${buildid:0:8}
|
||||
|
||||
log_dir=${workdir}/log
|
||||
params_dir=${workdir}/params
|
||||
euler_dir=${cur_dir}/config-common
|
||||
params_dir_indocker=/work/raspi_output_common/params
|
||||
|
||||
if [ -d ${params_dir} ]; then
|
||||
rm -rf ${params_dir}
|
||||
fi
|
||||
mkdir -p ${params_dir}
|
||||
|
||||
parseargs "$@" || help $?
|
||||
|
||||
if [ "x${docker_file:0:4}" == "xhttp" ]; then
|
||||
wget ${docker_file} -P ${params_dir}/
|
||||
elif [ -f $docker_file ]; then
|
||||
cp ${docker_file} ${params_dir}/
|
||||
else
|
||||
echo `date` - ERROR, docker file $docker_file can not be found.
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if [ "x$repo_file" == "x" ] ; then
|
||||
echo `date` - ERROR, \"-r REPO_INFO or --repo REPO_INFO\" missing.
|
||||
help 2
|
||||
fi
|
||||
|
||||
if [ ! -d ${log_dir} ]; then
|
||||
mkdir ${log_dir}
|
||||
fi
|
||||
docker_file_name=${docker_file##*/}
|
||||
docker_img_name=`docker load --input ${params_dir}/${docker_file_name}`
|
||||
docker_img_name=${docker_img_name##*: }
|
||||
|
||||
LOG build raspi image with docker: ${docker_file}.
|
||||
|
||||
(echo "FROM $docker_img_name" && grep -v FROM ${euler_dir}/Dockerfile_makeraspi) | docker build -t ${docker_img_name}-${buildid} --no-cache -f- ${euler_dir}
|
||||
echo docker run --rm --privileged=true \
|
||||
-v ${cur_dir}/build-image-common.sh:/work/build-image-common.sh \
|
||||
-v ${euler_dir}:/work/config-common \
|
||||
-v ${cur_dir}/config:/work/config \
|
||||
-v ${workdir}:/work/raspi_output_common \
|
||||
${docker_img_name}-${buildid} ${params}
|
||||
docker run --rm --privileged=true \
|
||||
-v ${cur_dir}/build-image-common.sh:/work/build-image-common.sh \
|
||||
-v ${euler_dir}:/work/config-common \
|
||||
-v ${cur_dir}/config:/work/config \
|
||||
-v ${workdir}:/work/raspi_output_common \
|
||||
${docker_img_name}-${buildid} ${params}
|
||||
chmod -R a+r ${workdir}/img
|
||||
docker image rm ${docker_img_name}-${buildid}
|
||||
LOG
|
||||
LOG Done.
|
||||
|
||||
395
scripts/raspberrypi/build-image.sh
Normal file
@ -0,0 +1,395 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
__usage="
|
||||
Usage: build-image [OPTIONS]
|
||||
Build raspberrypi image.
|
||||
|
||||
Options:
|
||||
-d, --dir DIR The directory for storing the image and other temporary files, which defaults to be the directory in which the script resides. If the DIR does not exist, it will be created automatically.
|
||||
-r, --repo REPO_INFO Required! The URL/path of target repo file or list of repo's baseurls which should be a space separated list.
|
||||
-n, --name IMAGE_NAME The raspberrypi image name to be built.
|
||||
-s, --spec SPEC The image's specification: headless, xfce, ukui, dde or the file path of rpmlist. The default is headless.
|
||||
-h, --help Show command help.
|
||||
"
|
||||
|
||||
help()
|
||||
{
|
||||
echo "$__usage"
|
||||
exit $1
|
||||
}
|
||||
|
||||
parseargs()
|
||||
{
|
||||
if [ "x$#" == "x0" ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
while [ "x$#" != "x0" ];
|
||||
do
|
||||
if [ "x$1" == "x-h" -o "x$1" == "x--help" ]; then
|
||||
return 1
|
||||
elif [ "x$1" == "x" ]; then
|
||||
shift
|
||||
elif [ "x$1" == "x-r" -o "x$1" == "x--repo" ]; then
|
||||
repo_file=`echo $2`
|
||||
shift
|
||||
shift
|
||||
elif [ "x$1" == "x-n" -o "x$1" == "x--name" ]; then
|
||||
img_name=`echo $2`
|
||||
shift
|
||||
shift
|
||||
elif [ "x$1" == "x-d" -o "x$1" == "x--dir" ]; then
|
||||
workdir=`echo $2`
|
||||
shift
|
||||
shift
|
||||
elif [ "x$1" == "x-s" -o "x$1" == "x--spec" ]; then
|
||||
spec_param=`echo $2`
|
||||
shift
|
||||
shift
|
||||
else
|
||||
echo `date` - ERROR, UNKNOWN params "$@"
|
||||
return 2
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
ERROR(){
|
||||
echo `date` - ERROR, $* | tee -a ${log_dir}/${builddate}.log
|
||||
}
|
||||
|
||||
LOG(){
|
||||
echo `date` - INFO, $* | tee -a ${log_dir}/${builddate}.log
|
||||
}
|
||||
|
||||
UMOUNT_ALL(){
|
||||
set +e
|
||||
if grep -q "${rootfs_dir}/dev " /proc/mounts ; then
|
||||
umount -l ${rootfs_dir}/dev
|
||||
fi
|
||||
if grep -q "${rootfs_dir}/proc " /proc/mounts ; then
|
||||
umount -l ${rootfs_dir}/proc
|
||||
fi
|
||||
if grep -q "${rootfs_dir}/sys " /proc/mounts ; then
|
||||
umount -l ${rootfs_dir}/sys
|
||||
fi
|
||||
set -e
|
||||
}
|
||||
|
||||
LOSETUP_D_IMG(){
|
||||
set +e
|
||||
if [ -d ${root_mnt} ]; then
|
||||
if grep -q "${root_mnt} " /proc/mounts ; then
|
||||
umount ${root_mnt}
|
||||
fi
|
||||
fi
|
||||
if [ -d ${boot_mnt} ]; then
|
||||
if grep -q "${boot_mnt} " /proc/mounts ; then
|
||||
umount ${boot_mnt}
|
||||
fi
|
||||
fi
|
||||
if [ "x$device" != "x" ]; then
|
||||
kpartx -d ${device}
|
||||
losetup -d ${device}
|
||||
device=""
|
||||
fi
|
||||
if [ -d ${root_mnt} ]; then
|
||||
rm -rf ${root_mnt}
|
||||
fi
|
||||
if [ -d ${boot_mnt} ]; then
|
||||
rm -rf ${boot_mnt}
|
||||
fi
|
||||
set -e
|
||||
}
|
||||
|
||||
INSTALL_PACKAGES(){
|
||||
for item in $(cat $1)
|
||||
do
|
||||
dnf --installroot=${rootfs_dir}/ install -y $item
|
||||
if [ $? == 0 ]; then
|
||||
LOG install $item.
|
||||
else
|
||||
ERROR can not install $item.
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
prepare(){
|
||||
if [ ! -d ${tmp_dir} ]; then
|
||||
mkdir -p ${tmp_dir}
|
||||
else
|
||||
rm -rf ${tmp_dir}/*
|
||||
fi
|
||||
if [ "x$spec_param" == "xheadless" ] || [ "x$spec_param" == "x" ]; then
|
||||
:
|
||||
elif [ "x$spec_param" == "xxfce" ] || [ "x$spec_param" == "xukui" ] || [ "x$spec_param" == "xdde" ]; then
|
||||
CONFIG_RPM_LIST=${euler_dir}/rpmlist-${spec_param}
|
||||
elif [ -f ${spec_param} ]; then
|
||||
cp ${spec_param} ${tmp_dir}/
|
||||
spec_file_name=${spec_param##*/}
|
||||
CONFIG_RPM_LIST=${tmp_dir}/${spec_file_name}
|
||||
else
|
||||
echo `date` - ERROR, please check your params in option -s or --spec.
|
||||
exit 2
|
||||
fi
|
||||
if [ "x$repo_file" == "x" ] ; then
|
||||
echo `date` - ERROR, \"-r REPO_INFO or --repo REPO_INFO\" missing.
|
||||
help 2
|
||||
elif [ "x${repo_file:0:4}" == "xhttp" ]; then
|
||||
if [ "x${repo_file:0-5}" == "x.repo" ]; then
|
||||
wget ${repo_file} -P ${tmp_dir}/
|
||||
repo_file_name=${repo_file##*/}
|
||||
repo_file=${tmp_dir}/${repo_file_name}
|
||||
else
|
||||
repo_file_name=tmp.repo
|
||||
repo_file_tmp=${tmp_dir}/${repo_file_name}
|
||||
index=1
|
||||
for baseurl in ${repo_file// / }
|
||||
do
|
||||
echo [repo${index}] >> ${repo_file_tmp}
|
||||
echo name=repo${index} to build raspi image >> ${repo_file_tmp}
|
||||
echo baseurl=${baseurl} >> ${repo_file_tmp}
|
||||
echo enabled=1 >> ${repo_file_tmp}
|
||||
echo gpgcheck=0 >> ${repo_file_tmp}
|
||||
echo >> ${repo_file_tmp}
|
||||
index=$(($index+1))
|
||||
done
|
||||
repo_file=${repo_file_tmp}
|
||||
fi
|
||||
else
|
||||
if [ ! -f $repo_file ]; then
|
||||
echo `date` - ERROR, repo file $repo_file can not be found.
|
||||
exit 2
|
||||
else
|
||||
cp $repo_file ${tmp_dir}/
|
||||
repo_file_name=${repo_file##*/}
|
||||
repo_file=${tmp_dir}/${repo_file_name}
|
||||
fi
|
||||
fi
|
||||
|
||||
repo_suffix=${repo_file_name%.*}
|
||||
if [ "x$img_name" == "x" ]; then
|
||||
if [[ "${repo_suffix}" =~ ^${OS_NAME}.* ]]; then
|
||||
img_name=${repo_suffix}
|
||||
else
|
||||
img_name=${OS_NAME}
|
||||
fi
|
||||
img_name=${img_name}-raspi-aarch64.img
|
||||
else
|
||||
if [ "x${img_name:0-4}" != "x.img" ]; then
|
||||
img_name=${img_name}.img
|
||||
fi
|
||||
fi
|
||||
img_file=${img_dir}/${img_name}
|
||||
|
||||
if [ ! -d ${log_dir} ]; then
|
||||
mkdir -p ${log_dir}
|
||||
fi
|
||||
LOG "prepare begin..."
|
||||
dnf clean all
|
||||
dnf makecache
|
||||
dnf install -y dnf-plugins-core rsync parted dosfstools grep bash xz kpartx
|
||||
|
||||
if [ -d ${rootfs_dir} ]; then
|
||||
rm -rf ${rootfs_dir}
|
||||
fi
|
||||
if [ ! -d ${img_dir} ]; then
|
||||
mkdir -p ${img_dir}
|
||||
fi
|
||||
|
||||
repo_info_names=`cat ${repo_file} | grep "^\["`
|
||||
repo_baseurls=`cat ${repo_file} | grep "^baseurl="`
|
||||
index=1
|
||||
for repo_name in ${repo_info_names}
|
||||
do
|
||||
repo_name_list[$index]=${repo_name:1:-1}
|
||||
index=$((index+1))
|
||||
done
|
||||
index=1
|
||||
for baseurl in ${repo_baseurls}
|
||||
do
|
||||
repo_info="${repo_info} --repofrompath ${repo_name_list[$index]}-tmp,${baseurl:8}"
|
||||
index=$((index+1))
|
||||
done
|
||||
set +e
|
||||
os_release_name=${OS_NAME}-release
|
||||
dnf ${repo_info} --disablerepo="*" --downloaddir=${tmp_dir}/ download ${os_release_name}
|
||||
if [ $? != 0 ]; then
|
||||
ERROR "Fail to download ${os_release_name}!"
|
||||
exit 2
|
||||
fi
|
||||
os_release_name=`ls -r ${tmp_dir}/${os_release_name}*.rpm 2>/dev/null| head -n 1`
|
||||
if [ -z "${os_release_name}" ]; then
|
||||
ERROR "${os_release_name} can not be found!"
|
||||
exit 2
|
||||
fi
|
||||
set -e
|
||||
LOG "prepare end."
|
||||
}
|
||||
|
||||
make_rootfs(){
|
||||
LOG "make rootfs for ${repo_file} begin..."
|
||||
if [[ -d ${rootfs_dir} ]]; then
|
||||
UMOUNT_ALL
|
||||
rm -rf ${rootfs_dir}
|
||||
fi
|
||||
mkdir -p ${rootfs_dir}/var/lib/rpm
|
||||
rpm --root ${rootfs_dir} --initdb
|
||||
rpm -ivh --nodeps --root ${rootfs_dir}/ ${os_release_name}
|
||||
mkdir -p ${rootfs_dir}/etc/rpm
|
||||
chmod a+rX ${rootfs_dir}/etc/rpm
|
||||
echo "%_install_langs en_US" > ${rootfs_dir}/etc/rpm/macros.image-language-conf
|
||||
if [[ ! -d ${rootfs_dir}/etc/yum.repos.d ]]; then
|
||||
mkdir -p ${rootfs_dir}/etc/yum.repos.d
|
||||
fi
|
||||
cp ${repo_file} ${rootfs_dir}/etc/yum.repos.d/tmp.repo
|
||||
dnf --installroot=${rootfs_dir}/ makecache
|
||||
set +e
|
||||
INSTALL_PACKAGES $CONFIG_RPM_LIST
|
||||
cat ${rootfs_dir}/etc/systemd/timesyncd.conf | grep "^NTP=*"
|
||||
if [ $? -ne 0 ]; then
|
||||
sed -i -e '/^#NTP=/cNTP=0.cn.pool.ntp.org' ${rootfs_dir}/etc/systemd/timesyncd.conf
|
||||
sed -i -e 's/#FallbackNTP=/FallbackNTP=1.asia.pool.ntp.org 2.asia.pool.ntp.org /g' ${rootfs_dir}/etc/systemd/timesyncd.conf
|
||||
fi
|
||||
set -e
|
||||
cp ${euler_dir}/hosts ${rootfs_dir}/etc/hosts
|
||||
if [ ! -d $rootfs_dir/etc/sysconfig/network-scripts ]; then
|
||||
mkdir -p $rootfs_dir/etc/sysconfig/network-scripts
|
||||
fi
|
||||
cp ${euler_dir}/ifcfg-eth0 $rootfs_dir/etc/sysconfig/network-scripts/ifcfg-eth0
|
||||
mkdir -p ${rootfs_dir}/lib/udev/rules.d
|
||||
if [ ! -d ${rootfs_dir}/usr/share/licenses/raspi ]; then
|
||||
mkdir -p ${rootfs_dir}/usr/share/licenses/raspi
|
||||
fi
|
||||
cp ${euler_dir}/*.rules ${rootfs_dir}/lib/udev/rules.d/
|
||||
cp ${euler_dir}/LICENCE.* ${rootfs_dir}/usr/share/licenses/raspi/
|
||||
cp ${euler_dir}/chroot.sh ${rootfs_dir}/chroot.sh
|
||||
if [ ! -d ${rootfs_dir}/etc/rc.d/init.d ]; then
|
||||
mkdir -p ${rootfs_dir}/etc/rc.d/init.d
|
||||
fi
|
||||
cp ${euler_dir}/extend-root.sh ${rootfs_dir}/etc/rc.d/init.d/extend-root.sh
|
||||
echo net.ipv4.conf.wlan0.rp_filter=0 >> ${rootfs_dir}/etc/sysctl.conf
|
||||
chmod +x ${rootfs_dir}/chroot.sh
|
||||
mount --bind /dev ${rootfs_dir}/dev
|
||||
mount -t proc /proc ${rootfs_dir}/proc
|
||||
mount -t sysfs /sys ${rootfs_dir}/sys
|
||||
chroot ${rootfs_dir} /bin/bash -c "echo 'Y' | /chroot.sh ${spec_param}"
|
||||
UMOUNT_ALL
|
||||
rm ${rootfs_dir}/etc/yum.repos.d/tmp.repo
|
||||
rm ${rootfs_dir}/chroot.sh
|
||||
LOG "make rootfs for ${repo_file} end."
|
||||
}
|
||||
|
||||
make_img(){
|
||||
LOG "make ${img_file} begin..."
|
||||
device=""
|
||||
LOSETUP_D_IMG
|
||||
size=`du -sh --block-size=1MiB ${rootfs_dir} | cut -f 1 | xargs`
|
||||
size=$(($size+1500))
|
||||
losetup -D
|
||||
dd if=/dev/zero of=${img_file} bs=1MiB count=$size && sync
|
||||
parted ${img_file} mklabel msdos mkpart primary fat32 8192s 593919s
|
||||
parted ${img_file} -s set 1 boot
|
||||
parted ${img_file} mkpart primary linux-swap 593920s 1593343s
|
||||
parted ${img_file} mkpart primary ext4 1593344s 100%
|
||||
device=`losetup -f --show -P ${img_file}`
|
||||
LOG "after losetup: ${device}"
|
||||
trap 'LOSETUP_D_IMG' EXIT
|
||||
LOG "image ${img_file} created and mounted as ${device}"
|
||||
kpartx -va ${device}
|
||||
loopX=${device##*\/}
|
||||
partprobe ${device}
|
||||
bootp=/dev/mapper/${loopX}p1
|
||||
swapp=/dev/mapper/${loopX}p2
|
||||
rootp=/dev/mapper/${loopX}p3
|
||||
LOG "bootp: " ${bootp} "rootp: " ${rootp}
|
||||
mkfs.vfat -n boot ${bootp}
|
||||
mkswap ${swapp} --pagesize 4096
|
||||
mkfs.ext4 ${rootp}
|
||||
mkdir -p ${root_mnt} ${boot_mnt}
|
||||
mount -t vfat -o uid=root,gid=root,umask=0000 ${bootp} ${boot_mnt}
|
||||
mount -t ext4 ${rootp} ${root_mnt}
|
||||
prefix_len=${#loopX}
|
||||
let prefix_len=prefix_len+13
|
||||
fstab_array=("" "" "" "")
|
||||
for line in `blkid | grep /dev/mapper/${loopX}p`
|
||||
do
|
||||
partuuid=${line#*PARTUUID=\"}
|
||||
fstab_array[${line:$prefix_len:1}]=${partuuid%%\"*}
|
||||
done
|
||||
echo "PARTUUID=${fstab_array[3]} / ext4 defaults,noatime 0 0" > ${rootfs_dir}/etc/fstab
|
||||
echo "PARTUUID=${fstab_array[1]} /boot vfat defaults,noatime 0 0" >> ${rootfs_dir}/etc/fstab
|
||||
echo "PARTUUID=${fstab_array[2]} swap swap defaults,noatime 0 0" >> ${rootfs_dir}/etc/fstab
|
||||
|
||||
if [ -d ${rootfs_dir}/boot/grub2 ]; then
|
||||
rm -rf ${rootfs_dir}/boot/grub2
|
||||
fi
|
||||
cp -a ${rootfs_dir}/boot/* ${boot_mnt}/
|
||||
cp ${euler_dir}/config.txt ${boot_mnt}/
|
||||
echo "console=serial0,115200 console=tty1 root=PARTUUID=${fstab_array[3]} rootfstype=ext4 elevator=deadline rootwait net.ifnames=0" > ${boot_mnt}/cmdline.txt
|
||||
|
||||
rm -rf ${rootfs_dir}/boot
|
||||
rsync -avHAXq ${rootfs_dir}/* ${root_mnt}
|
||||
sync
|
||||
sleep 10
|
||||
LOSETUP_D_IMG
|
||||
rm -rf ${rootfs_dir}
|
||||
losetup -D
|
||||
pushd ${img_dir}
|
||||
if [ -f ${img_file} ]; then
|
||||
sha256sum $(basename ${img_file}) > ${img_file}.sha256sum
|
||||
xz -T 20 -z -c ${img_file} > ${img_file}.xz
|
||||
sha256sum $(basename ${img_file}.xz) > ${img_file}.xz.sha256sum
|
||||
LOG "made sum files for ${img_file}"
|
||||
fi
|
||||
popd
|
||||
LOG "write ${img_file} done."
|
||||
LOG "make ${img_file} end."
|
||||
}
|
||||
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo `date` - ERROR, Please run as root!
|
||||
exit
|
||||
fi
|
||||
|
||||
cur_dir=$(cd $(dirname $0);pwd)
|
||||
workdir=${cur_dir}
|
||||
|
||||
parseargs "$@" || help $?
|
||||
|
||||
if [ "x$workdir" == "x" ]; then
|
||||
echo `date` - ERROR, \"-d DIR or --dir DIR\" missing.
|
||||
help 2
|
||||
elif [ ! -d ${workdir} ]; then
|
||||
echo `date` - INFO, output dir ${workdir} does not exists.
|
||||
mkdir -p ${workdir}
|
||||
echo `date` - INFO, output dir: ${workdir} created.
|
||||
fi
|
||||
|
||||
OS_NAME=openEuler
|
||||
|
||||
workdir=$(cd $workdir; pwd)
|
||||
if [ "x${workdir}" == "x/" ]; then
|
||||
workdir=/raspi_output
|
||||
else
|
||||
workdir=${workdir}/raspi_output
|
||||
fi
|
||||
|
||||
tmp_dir=${workdir}/tmp
|
||||
log_dir=${workdir}/log
|
||||
img_dir=${workdir}/img
|
||||
rootfs_dir=${workdir}/rootfs
|
||||
root_mnt=${workdir}/root
|
||||
boot_mnt=${workdir}/boot
|
||||
euler_dir=${cur_dir}/config
|
||||
|
||||
CONFIG_RPM_LIST=${euler_dir}/rpmlist
|
||||
builddate=$(date +%Y%m%d)
|
||||
|
||||
trap 'UMOUNT_ALL' EXIT
|
||||
UMOUNT_ALL
|
||||
prepare
|
||||
IFS=$'\n'
|
||||
make_rootfs
|
||||
make_img
|
||||
1
scripts/raspberrypi/config-common/99-com.rules
Symbolic link
@ -0,0 +1 @@
|
||||
../config/99-com.rules
|
||||
13
scripts/raspberrypi/config-common/Dockerfile_makeraspi
Normal file
@ -0,0 +1,13 @@
|
||||
FROM openeuler-20.03-lts-sp1:latest
|
||||
|
||||
RUN dnf clean expire-cache
|
||||
|
||||
RUN dnf -y install cmake gdb gcc gcc-c++ libstdc++-static ncurses ncurses-devel make python bash coreutils && \
|
||||
dnf -y clean all
|
||||
|
||||
RUN dnf -y install module-init-tools git openssl-devel bc bison flex dnf-plugins-core dosfstools parted wget device-mapper-multipath grep xz kpartx
|
||||
RUN dnf -y install rsync passwd diffutils
|
||||
ENV SHELL=/bin/bash
|
||||
|
||||
ENTRYPOINT ["/bin/bash", "/work/build-image-common.sh"]
|
||||
|
||||
356
scripts/raspberrypi/config-common/License/LICENCE.COPYING.linux
Normal file
@ -0,0 +1,356 @@
|
||||
|
||||
NOTE! This copyright does *not* cover user programs that use kernel
|
||||
services by normal system calls - this is merely considered normal use
|
||||
of the kernel, and does *not* fall under the heading of "derived work".
|
||||
Also note that the GPL below is copyrighted by the Free Software
|
||||
Foundation, but the instance of code that it refers to (the Linux
|
||||
kernel) is copyrighted by me and others who actually wrote it.
|
||||
|
||||
Also note that the only valid version of the GPL as far as the kernel
|
||||
is concerned is _this_ particular version of the license (ie v2, not
|
||||
v2.2 or v3.x or whatever), unless explicitly otherwise stated.
|
||||
|
||||
Linus Torvalds
|
||||
|
||||
----------------------------------------
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
||||
340
scripts/raspberrypi/config-common/License/LICENCE.bluez-firmware
Normal file
@ -0,0 +1,340 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
||||
31
scripts/raspberrypi/config-common/License/LICENCE.broadcom
Normal file
@ -0,0 +1,31 @@
|
||||
Copyright (c) 2006, Broadcom Corporation.
|
||||
Copyright (c) 2015, Raspberry Pi (Trading) Ltd
|
||||
All rights reserved.
|
||||
|
||||
Redistribution. Redistribution and use in binary form, without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* This software may only be used for the purposes of developing for,
|
||||
running or using a Raspberry Pi device, or authorised derivative
|
||||
device manufactured via the element14 Raspberry Pi Customization Service
|
||||
* Redistributions must reproduce the above copyright notice and the
|
||||
following disclaimer in the documentation and/or other materials
|
||||
provided with the distribution.
|
||||
* Neither the name of Broadcom Corporation nor the names of its suppliers
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
|
||||
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGE.
|
||||
|
||||
@ -0,0 +1,65 @@
|
||||
SOFTWARE LICENSE AGREEMENT
|
||||
|
||||
The accompanying software in binary code form (“Software”), is licensed to you,
|
||||
or, if you are accepting on behalf of an entity, the entity and its affiliates
|
||||
exercising rights hereunder (“Licensee”) subject to the terms of this software
|
||||
license agreement (“Agreement”), unless Licensee and Broadcom Corporation
|
||||
(“Broadcom”) execute a separate written software license agreement governing
|
||||
use of the Software. ANY USE, REPRODUCTION, OR DISTRIBUTION OF THE SOFTWARE
|
||||
CONSTITUTES LICENSEE’S ACCEPTANCE OF THIS AGREEMENT.
|
||||
|
||||
1. License. Subject to the terms and conditions of this Agreement,
|
||||
Broadcom hereby grants to Licensee a limited, non-exclusive, non-transferable,
|
||||
royalty-free license: (i) to use and integrate the Software with any other
|
||||
software; and (ii) to reproduce and distribute the Software complete,
|
||||
unmodified, and as provided by Broadcom, solely for use with Broadcom
|
||||
proprietary integrated circuit product(s) sold by Broadcom with which the
|
||||
Software was designed to be used, or their successors.
|
||||
|
||||
2. Restrictions. Licensee shall distribute Software with a copy of this
|
||||
Agreement. Licensee shall not remove, efface or obscure any copyright or
|
||||
trademark notices from the Software. Reproductions of the Broadcom copyright
|
||||
notice shall be included with each copy of the Software, except where such
|
||||
Software is embedded in a manner not readily accessible to the end user.
|
||||
Licensee shall not: (i) use, license, sell or otherwise distribute the Software
|
||||
except as provided in this Agreement; (ii) attempt to modify in any way,
|
||||
reverse engineer, decompile or disassemble any portion of the Software; or
|
||||
(iii) use the Software or other material in violation of any applicable law or
|
||||
regulation, including but not limited to any regulatory agency. This Agreement
|
||||
shall automatically terminate upon Licensee’s failure to comply with any of the
|
||||
terms of this Agreement. In such event, Licensee will destroy all copies of the
|
||||
Software and its component parts.
|
||||
|
||||
3. Ownership. The Software is licensed and not sold. Title to and
|
||||
ownership of the Software, including all intellectual property rights thereto,
|
||||
and any portion thereof remain with Broadcom or its licensors. Licensee hereby
|
||||
covenants that it will not assert any claim that the Software created by or for
|
||||
Broadcom infringe any intellectual property right owned or controlled by
|
||||
Licensee.
|
||||
|
||||
4. Disclaimer. THE SOFTWARE IS OFFERED “AS IS,” AND BROADCOM PROVIDES AND
|
||||
GRANTS AND LICENSEE RECEIVES NO SUPPORT AND NO WARRANTIES OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, BY STATUTE, COMMUNICATION OR CONDUCT WITH LICENSEE, OR OTHERWISE.
|
||||
BROADCOM SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A SPECIFIC PURPOSE, OR NONINFRINGEMENT CONCERNING THE SOFTWARE OR
|
||||
ANY UPGRADES TO OR DOCUMENTATION FOR THE SOFTWARE. WITHOUT LIMITATION OF THE
|
||||
ABOVE, BROADCOM GRANTS NO WARRANTY THAT THE SOFTWARE IS ERROR-FREE OR WILL
|
||||
OPERATE WITHOUT INTERRUPTION, AND GRANTS NO WARRANTY REGARDING ITS USE OR THE
|
||||
RESULTS THEREFROM INCLUDING, WITHOUT LIMITATION, ITS CORRECTNESS, ACCURACY, OR
|
||||
RELIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM
|
||||
OR ANY OF ITS LICENSORS HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND ON ANY THEORY
|
||||
OF LIABILITY, WHETHER FOR BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE) OR
|
||||
OTHERWISE, ARISING OUT OF THIS AGREEMENT OR USE, REPRODUCTION, OR DISTRIBUTION
|
||||
OF THE SOFTWARE, INCLUDING BUT NOT LIMITED TO LOSS OF DATA AND LOSS OF PROFITS,
|
||||
EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THESE
|
||||
LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY
|
||||
LIMITED REMEDY.
|
||||
|
||||
5. Export Laws. LICENSEE UNDERSTANDS AND AGREES THAT THE SOFTWARE IS
|
||||
SUBJECT TO UNITED STATES AND OTHER APPLICABLE EXPORT-RELATED LAWS AND
|
||||
REGULATIONS AND THAT LICENSEE MAY NOT EXPORT, RE-EXPORT OR TRANSFER THE
|
||||
SOFTWARE OR ANY DIRECT PRODUCT OF THE SOFTWARE EXCEPT AS PERMITTED UNDER THOSE
|
||||
LAWS. WITHOUT LIMITING THE FOREGOING, EXPORT, RE-EXPORT, OR TRANSFER OF THE
|
||||
SOFTWARE TO CUBA, IRAN, NORTH KOREA, SUDAN, AND SYRIA IS PROHIBITED.
|
||||
|
||||
@ -0,0 +1,32 @@
|
||||
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: pi-bluetooth
|
||||
Source: https://github.com/RPi-Distro/pi-bluetooth
|
||||
|
||||
Files: *
|
||||
Copyright: 2016 Raspberry Pi (Trading) Ltd.
|
||||
License: BSD-3-Clause
|
||||
|
||||
License: BSD-3-Clause
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. Neither the name of the University nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
.
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE HOLDERS OR
|
||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
@ -0,0 +1 @@
|
||||
../../config/LICENCE.raspberrypi-sys-mods
|
||||
@ -0,0 +1,16 @@
|
||||
Copyright (c) 2008, Luis R. Rodriguez <mcgrof@gmail.com>
|
||||
Copyright (c) 2008, Johannes Berg <johannes@sipsolutions.net>
|
||||
Copyright (c) 2008, Michael Green <Michael.Green@Atheros.com>
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
1
scripts/raspberrypi/config-common/chroot.sh
Symbolic link
@ -0,0 +1 @@
|
||||
../config/chroot.sh
|
||||
1
scripts/raspberrypi/config-common/config.txt
Symbolic link
@ -0,0 +1 @@
|
||||
../config/config.txt
|
||||
1
scripts/raspberrypi/config-common/extend-root.sh
Symbolic link
@ -0,0 +1 @@
|
||||
../config/extend-root.sh
|
||||
1
scripts/raspberrypi/config-common/hosts
Symbolic link
@ -0,0 +1 @@
|
||||
../config/hosts
|
||||
1
scripts/raspberrypi/config-common/ifcfg-eth0
Symbolic link
@ -0,0 +1 @@
|
||||
../config/ifcfg-eth0
|
||||