diff --git a/README.md b/README.md index 8ec711073b7e814efaa5c62c6f41e1637a7286e0..c1d8ac1cc4b4f9538d6ad59159b52e4d52b39837 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ Alibaba Cloud Linux Kernel ========================== -Navigation | 中文版 | [Alibaba Cloud Linux OS](os.md) | [CONTRIBUTING](CONTRIBUTING.md) | [CREDITS](CREDITS.md) +Navigation | [中文版](zh/README.md) | [Alibaba Cloud Linux OS](os.md) | [CONTRIBUTING](CONTRIBUTING.md) | [CREDITS](CREDITS.md) Table of Contents ----------------- diff --git a/os.md b/os.md index e30b7c7a7c8007658c8980aea5b426a098baaec0..7c8f7d34aa4d3b4a51293a1c197d982edaa84921 100644 --- a/os.md +++ b/os.md @@ -6,7 +6,7 @@ description: An open-source Linux distribution powered by Alibaba Cloud Brief Introduction to Alibaba Cloud Linux OS ============================================ -Navigation | 中文版 | [Alibaba Cloud Linux Kernel](README.md) | [CONTRIBUTING](CONTRIBUTING.md) | [CREDITS](CREDITS.md) +Navigation | [中文版](zh/os.md) | [Alibaba Cloud Linux Kernel](README.md) | [CONTRIBUTING](CONTRIBUTING.md) | [CREDITS](CREDITS.md) Table of Contents ----------------- diff --git a/zh/CONTRIBUTING.md b/zh/CONTRIBUTING.md new file mode 100644 index 0000000000000000000000000000000000000000..173e64ffaa10e5ea1281dfca9fc3c32652e19253 --- /dev/null +++ b/zh/CONTRIBUTING.md @@ -0,0 +1,92 @@ +开发者指南 +========== + +目录 +---- +1. [报告 BUG](#1-报告-bug) + 1. [报告安全漏洞](#11-报告安全漏洞) + 2. [报告崩溃事件](#12-报告崩溃事件) + 3. [报告一般 BUG](#13-报告一般-bug) + 4. [报告 Alibaba Cloud Linux 操作系统 BUG](#14-报告-alibaba-cloud-linux-操作系统-bug) +2. [帮助改进项目](#2-帮助改进项目) + 1. [获取内核源码](#21-获取内核源码) + 2. [构建内核](#22-构建内核) + 3. [提交补丁](#23-提交补丁) + +----------------- + +## 1. 报告 BUG + +参与本项目最直接的方式就是使用 ALK 和 Alibaba Cloud Linux 操作系统并向我们报告使用中遇到的 BUG. 不过在提交 BUG 报告之前,需要先了解一些基本原则: + +### 1.1 报告安全漏洞 + +我们欢迎来自安全领域的研究专家向我们提交内核及操作系统方面的漏洞报告,然而我们不鼓励任何人**直接**公开安全漏洞细节。如需报告安全漏洞,烦请发送相关报告至我们的服务邮箱 [alicloud-linux-os@service.alibaba.com](mailto:alibaba-linux-os@service.alibaba.com), 我们会第一时间查收并仔细审阅。 + +### 1.2 报告崩溃事件 + +我们深知操作系统和内核的崩溃事件(Kernel Panic)对于任何用户来说都是一个很严重的事件,我们会将此类 BUG 报告提升到高优先级来解决,请在项目的 [issues](https://github.com/alibaba/cloud-kernel/issues) 页面报告此类问题。为了便于我们更好地理解您所碰到的问题,请尽可能包含下列信息: + ++ Kdump core 文件或者系统崩溃时的内核栈输出信息; ++ 有可能触发崩溃的嫌疑应用或操作; ++ 如果 Kdump core 或内核栈无法捕捉,至少需要提供内核版本信息。 + +分析内核崩溃问题极具挑战性,我们鼓励任何尝试帮助复现问题,以推进问题排查的行为。 + +### 1.3 报告一般 BUG + +请在项目的 [issues](https://github.com/alibaba/cloud-kernel/issues) 页面报告此类问题。 + +### 1.4 报告 Alibaba Cloud Linux 操作系统 BUG + +ALK 与 Alibaba Cloud Linux 操作系统关系紧密,如果您遇到任何 Alibaba Cloud Linux 操作系统相关的问题,也请在项目的 [issues](https://github.com/alibaba/cloud-kernel/issues) 页面提交 BUG 报告,或者在[邮件列表](MAILLIST.md)及[阿里云开发者论坛](https://bbs.aliyun.com/thread/450.html)参与讨论。 + +## 2. 帮助改进项目 + +### 2.1 获取内核源码 + +在决定参与内核开发之前,建议您先获取内核源码并构建内核。您可以从 [Releases](https://github.com/alibaba/cloud-kernel/releases) 页面下载到稳定版内核的压缩包,然后解压缩到某个目录: + +```shell +tar xzf alk-release-7.tar.gz +``` + +或者您也可以从我们的 Git 仓库 Clone 代码: + +```shell +git clone git@github.com:alibaba/cloud-kernel.git +cd cloud-kernel +``` + +> 您或许已经注意到项目的默认分支并非 `master` 分支而是形如 `alk-4.19.y` 格式的分支。这是由于我们采用了 "rebase" 策略来更新我们的代码,每次从 Upstream LTS 版本同步代码后,我们都会 rebase 到新的代码分支,并将此分支作为新的默认分支。 + + +### 2.2 构建内核 + +构建内核之前,您需要一个内核配置文件。我们在 `master` 分支提供了一个[默认内核配置文件](config-4.19.y-x86_64),您只需下载并将其重命名为 `.config`,然后保存到内核源码树的顶层目录下。 + +```bash +wget https://raw.githubusercontent.com/alibaba/cloud-kernel/master/config-4.19.y-x86_64 +cp config-4.19.y-x86_64 cloud-kernel/.config +``` + +> 请注意,默认内核配置文件是一个精简定制版本,删掉了众多驱动模块,其中就包括存储设备驱动和网卡驱动等。因此您不应该直接将此内核运行于物理机上,否则物理机可能因缺少驱动而无法启动。我们推荐您只在 KVM 虚拟机中运行该内核,或者您确认已自行在非 KVM 平台中启用所需的驱动模块。 + +假设您已事先安装好所需的工具链,此时您可以开始构建内核了: + +```bash +cd cloud-kernel +make oldconfig +make -jN # N 一般是您系统中 CPU 的逻辑核数 +make modules -jN +sudo make modules_install +sudo make install +``` + +接下来,您可以重启并运行您的新内核。重启前请确保您有紧急启动系统的手段,以防新内核无法正常启动。 + +### 2.3 提交补丁 + +在您日常使用 ALK 过程中,您或许发现了一些内核 BUG,并且找到了修复它的方法。欢迎将修复整理成补丁发送给我们。 + +ALK 的开发和 Linux 内核社区开发模式基本一致,您可以参阅 kernel.org 上的 "[submitting patches guide](https://www.kernel.org/doc/html/latest/process/submitting-patches.html)" 一文,在您制作完补丁之后,您可以将补丁发送到我们的[开发者邮件列表](MAILLIST.md#alibaba-cloud-linux-os-kernel-developers-group)中提交审阅。 diff --git a/zh/CREDITS.md b/zh/CREDITS.md new file mode 100644 index 0000000000000000000000000000000000000000..2a5a532ab14d7ff20cd348c7b2dc1fa1024ee96c --- /dev/null +++ b/zh/CREDITS.md @@ -0,0 +1,12 @@ +致谢 +==== + +> 本文件包含了在 Alibaba Cloud Linux 操作系统和 ALK 项目中作出贡献的个人和团队开发者名单。该名单会不断更新,如有遗漏请联系 alicloud-linux-os@service.aliyun.com . + +---------------------------- + +``` +N: Aliyun CLI developer team +W: https://github.com/aliyun/aliyun-cli +D: Universal Command Line Interface for Alibaba Cloud +``` diff --git a/zh/MAILLIST.md b/zh/MAILLIST.md new file mode 100644 index 0000000000000000000000000000000000000000..4a28b4f1db3c55f352c41c218fc4df5ab37c08db --- /dev/null +++ b/zh/MAILLIST.md @@ -0,0 +1,14 @@ +邮件列表 +======== + +## Alibaba Cloud Linux 操作系统 & 内核用户组 + ++ 点击[订阅](mailto:alibabacloud-linux-users+subscribe@googlegroups.com?subject=subscribe)列表; ++ 点击[退订](mailto:alibabacloud-linux-users+unsubscribe@googlegroups.com?subject=subscribe)列表; ++ 发送邮件至 [alibabacloud-linux-users@googlegroups.com](mailto:alibabacloud-linux-users@googlegroups.com) 参与讨论。 + +## Alibaba Cloud Linux 操作系统 & 内核开发者列表 + ++ 点击[订阅](mailto:alibabacloud-linux-dev+subscribe@googlegroups.com?subject=subscribe)列表; ++ 点击[退订](mailto:alibabacloud-linux-dev+unsubscribe@googlegroups.com?subject=subscribe)列表; ++ 发送邮件至 [alibabacloud-linux-dev@googlegroups.com](mailto:alibabacloud-linux-dev@googlegroups.com) 参与讨论。 diff --git a/zh/README.md b/zh/README.md new file mode 100644 index 0000000000000000000000000000000000000000..2de93f4c53d48b5069980ad7dee1a903927e7409 --- /dev/null +++ b/zh/README.md @@ -0,0 +1,105 @@ +阿里云 Linux 内核 (Alibaba Cloud Linux Kernel) +============================================== + +导航 | [English Version](../README.md) | [Alibaba Cloud Linux 操作系统](os.md) | [开发者指南](CONTRIBUTING.md) | [致谢](CREDITS.md) + +目录 +---- +1. [阿里云 Linux 内核是什么](#1-阿里云-linux-内核是什么) +2. [快速运行指南](#2-快速运行指南j) + 1. [运行预编译二进制内核包(推荐)](#21-运行预编译二进制内核包推荐) + 2. [从源码编译内核](#22-从源码编译内核) +3. [参与本项目](#3-参与本项目) +4. [致谢](#4-致谢) +5. [许可证](#5-许可证) +6. [联系我们](#6-联系我们) + +--------------------------------- + + +## 1. 阿里云 Linux 内核是什么 + +阿里云 Linux 内核 (Alibaba Cloud Linux Kernel, ALK) 是由阿里巴巴操作系统团队(原淘宝内核组)开发的一款定制优化版的内核产品,默认运行在带 Alibaba Cloud Linux 2 操作系统(即 Aliyun Linux 2)的阿里云 ECS 产品中。在 ALK 中实现了若干针对阿里云基础设施和产品而优化的特性和改进功能,旨在提高阿里云客户的使用体验。 + +与其他 Linux 内核产品类似,ALK 理论上可以运行于几乎所有常见的 Linux 发行版中。为了获得更好的功能、性能和稳定性,我们强烈建议您将其运行在带 Alibaba Cloud Linux 2 的阿里云 ECS 实例中。 + +如需了解 Alibaba Cloud Linux 2 操作系统,请访问[此链接](os.md)。 + +## 2. 快速运行指南 + +想要使用 ALK,您既可以运行预编译的二进制内核包,也可以从源码编译内核。请注意我们提供的默认内核配置文件是为阿里云 ECS 实例定制的版本,如果您想要将内核运行于非 ECS 平台上,您需要自行打开相关的内核模块开关并且重新编译内核。 + +### 2.1 运行预编译二进制内核包(推荐) + +首选方案是从 YUM 源安装: + ++ 第一步,新建一个 YUM 仓库文件: + +```shell +sudo vim /etc/yum.repos.d/alinux-2.1903-plus.repo +``` + ++ 第二步,填入 repo 信息: + +```shell +[plus] +name=Alibaba Cloud Linux 2.1903 Plus Software Collections +baseurl=http://mirrors.aliyun.com/alinux/2.1903/plus/x86_64/ +enabled=1 +gpgcheck=1 +gpgkey=http://mirrors.aliyun.com/alinux/RPM-GPG-KEY-ALIYUN +``` + ++ 第三步,安装内核: + +```shell +sudo yum install -y kernel kernel-devel kernel-headers +``` + ++ 第四步,重启并使用 ALK. + +### 2.2 从源码编译内核 + ++ 第一步,从以下两种途径之一获取 ALK 源码: + + 从 [Releases](https://github.com/alibaba/cloud-kernel/releases) 页面获取最新的稳定版内核代码压缩包,并解压到当前目录; + + 或者从项目 Git 树 Clone 代码: `git clone git@github.com:alibaba/cloud-kernel.git`. + ++ 第二步,从 `master` 分支获取[默认内核配置文件](config-4.19.y-x86_64),重命名为 `.config`, 并复制到源码树的顶层目录下; + ++ 第三步,通过下列命令编译并安装内核: + +```shell +make oldconfig +make -jN # N normally refers to the CPU core numbers on the system +make modules -jN +sudo make modules_install +sudo make install +``` + ++ 第四步,重启并使用 ALK. + +## 3. 参与本项目 + +参与 ALK 项目的方式有很多,具体信息可以从 [CONTRIBUTING](CONTRIBUTING.md) 页面获取。 + +## 4. 致谢 + +ALK 和 Alibaba Cloud Linux OS 项目是“站在巨人的肩膀上”且聚合了阿里巴巴集团内外众多个人贡献者和团队开发者之力完成的项目。致谢名单可以在 [CREDITS](CREDITS.md) 页面获取,我们也会不断更新该名单。此外,我们需要特别致谢下列项目: + ++ [CentOS project](https://www.centos.org/); ++ [Clear Linux project](https://clearlinux.org/); ++ [Intel 0-Day (LKP) project](https://01.org/lkp); ++ [Kata Containers project](https://katacontainers.io/); ++ [Linux kernel project](https://www.kernel.org/). + +## 5. 许可证 + +我们和上游社区使用同样的许可证,请参阅 [COPYING](COPYING) 文件。 + +## 6. 联系我们 + +您可以通过下列方式与我们取得联系: + ++ 加入[邮件列表](MAILLIST.md)参与讨论; ++ 加入[开发者论坛](https://bbs.aliyun.com/thread/450.html)参与讨论; ++ 或者可以给我们发邮件:[alicloud-linux-os@service.alibaba.com](mailto:alicloud-linux-os@service.alibaba.com). diff --git a/zh/os.md b/zh/os.md new file mode 100644 index 0000000000000000000000000000000000000000..ba1f812bc6cf11f5bef68305a0aedab0ea10b0e3 --- /dev/null +++ b/zh/os.md @@ -0,0 +1,49 @@ +--- +title: Alibaba Cloud Linux 2 +description: 阿里云上原生的免费开源操作系统发行版 +--- + +Alibaba Cloud Linux 2 操作系统简介 +================================= + +导航 | [English Version](../os.md) | [阿里云 Linux 内核(ALK)](README.md) | [开发者指南](CONTRIBUTING.md) | [致谢](CREDITS.md) + +目录 +---- +1. [Alibaba Cloud Linux 2 是什么](#1-alibaba-cloud-linux-2-是什么) +2. [如何使用 Alibaba Cloud Linux 2](#2-如何使用-alibaba-cloud-linux-2) +3. [获取源码](#3-获取源码) +4. [获取帮助](#4-获取帮助) + +------------------------- + +## 1. Alibaba Cloud Linux 2 是什么 + +Alibaba Cloud Linux 操作系统(原名 _Aliyun Linux_)是一款开源且免费的 Linux 操作系统发行版,旨在为阿里云 ECS 客户提供丰富功能,高性能且稳定的操作系统服务。 + +Alibaba Cloud Linux 2 是 Alibaba Cloud Linux 的下一代版本,其开发团队是阿里巴巴操作系统团队,前身是淘宝内核组。九年来,团队成员大多是活跃在内核社区的开发者,积累了深厚的操作系统和内核开发底蕴。 + +## 2. 如何使用 Alibaba Cloud Linux 2 + +当前我们随阿里云 ECS 实例免费提供 Alibaba Cloud Linux 2 操作系统镜像。如需使用,可以通过以下链接购买 ECS 实例:[中文站](https://ecs-buy.aliyun.com/), [eng](https://ecs-buy-intl.aliyun.com/). + +## 3. 获取源码 + +在 Alibaba Cloud Linux 2 操作系统中,您可以通过 `yumdownloader` 工具下载到源码(请确保您已经安装了 `yum-utils` RPM 包): + +```bash +sudo yum install -y yum-utils +sudo yumdownloader --source <包名> +``` + +此外,您还可以从 [Alibaba Cloud Linux Kernel](https://github.com/alibaba/cloud-kernel) 的 Github 项目中获取阿里云 Linux 内核(ALK)源码。 + +## 4. 获取帮助 + +在使用 Alibaba Cloud Linux 操作系统的过程中如需获取帮助,您可以尝试下列途径: + ++ 如果您是阿里云 ECS 用户,可以提交[工单](https://selfservice.console.aliyun.com/ticket/createIndex); ++ 可以加入[邮件列表](MAILLIST.md)参与讨论; ++ 可以加入[开发者论坛](https://bbs.aliyun.com/thread/450.html)参与讨论; ++ 可以加入钉钉群:`Alibaba Cloud Linux OS 开发者&用户群`,群号:`23149462`; ++ 或者可以给我们发邮件:[alicloud-linux-os@service.alibaba.com](mailto:alicloud-linux-os@service.alibaba.com).