“Ubuntu认证”设备的工作流程介绍和背后支持者的故事

liam zheng

on June 10, 2020

当你在搜索下一台兼容GNU/Linux的电脑时,也许会发现诸如戴尔、惠普和联想提供一系列预装Ubuntu的笔记本和台式机。事实上,Ubuntu认证的硬件列表一直处于增长状态。但是,对于硬件要获得“Ubuntu认证”是什么意思?都会经历哪些过程呢?让我们一起来探寻。

Laptops under testing running Ubuntu Linux

什么是Ubuntu认证?

从处理器到触摸板,声卡到无线模块,一台电脑由很多不同的组件组成。为了提供最好的用户体验,这些组件必须发挥其最佳的状态,且必须相互协同工作以实现最好的性能。如果你曾经在较新或预装特别的组件的电脑安装过GUN/Linux,你应该知道这不是一件简单的事情。当你在心爱的电脑上安装完喜欢的Linux版本,在登入系统后会发现蓝牙无法工作,导致你不能使用蓝牙无线鼠标。接着,你关掉了笔记本盖子,放入背包,当你重新打开电脑,发现声卡没有声音,不得不重启来解决该问题。

Ubuntu认证程序确保了通过认证的全部电脑组件正常工作,用户享有最好的体验。它是质量、功能和维护保证,因为认证的设备都基于长期支持版(LTS),所以可获得5年的系统安全维护更新。

Canonical与硬件合作伙伴紧密合作对他们的设备进行认证。目标有2方面:

  • 创建我们称为“OEM镜像”的系统镜像,该镜像用于预装Ubuntu的设备在出厂时预装到电脑上,
  • 确保出厂OEM镜像的内容上传到上游,使得与你在官网所下载的最新版本原版Ubuntu能正常工作。(原版Ubuntu镜像指在cn.ubuntu.com网页上下载的版本) 。

为什么我们需要OEM镜像?

你也许会想知道为什么我们不在认证的设备上使用“原版Ubuntu”。原因如下:

  • 我们的合作伙伴可能需要安装指定软件或添加功能到他们的设备上。例如,戴尔的设备带有特定的磁盘分区,并且默认情况下安装了戴尔系统恢复工具,使用户能够分别执行系统恢复和创建恢复介质。
  • 新款设备可能需要尚未集成到上游Linux内核的驱动程序,或者驱动只支持最新非长期支持(LTS)的Linux内核。专用的OEM内核则提供更好的灵活性,意味着我们可以从最新的主线内核(mainline)中挑选支持新技术和组件的特定附件,同时保持长期支持(LTS)版内核的稳定性。

OEM镜像的背后

那么,为特定设备创建镜像需要做什么呢?Canonical内部不同团队在项目的所有阶段通力合作,以将Ubuntu引入特定设备,并确保其组件将受Ubuntu未来版本的良好支持。

但是这些团队都是站在巨人的肩膀上。没有Linux社区对内建到Ubuntu的许多项目的创建和维护所付出的辛勤工作,这一切都是不可能的。这正如Canonical的桌面团队、Foundations团队和安全团队的模式一样,他们一同协作将所有的工作内容有序地集成到原版Ubuntu镜像中。

现场支持工程

现场工程师持续地与组件供应商和制造商联系追踪硬件驱动和固件(BIOS,UEFI)的问题。他们帮忙提前定位和调查问题,协助测试和调试新固件和驱动。

硬件适配工程

硬件适配(HWE)工程师负责编译和维护包含新硬件的驱动,新功能,未并集成到普通内核补丁的OEM内核。他们还确保添加到OEM内核中的所有内容最终都成为通用内核,以便每个人都可以从后续的原版Ubuntu镜像中受益于这些改进。最后,团队开发和维护一个免费、开源的固件测试套件(FWTS),它是作用是识别BIOS、UEFI、ACPI和其他错误且提供如何修复反馈。

主流工程

当一个新设备适配Ubuntu后,维护团队从当前包含为合作伙伴定制的特定功能,合适的OEM Linux内核版本和其他为优化该特定设备的发行版的优化和补丁的LTS版本上精心制作系统镜像。他们还设置了自动完整性检查,以便对发布的每个镜像进行缺陷测试,然后再将其传递给质量保证团队。

品质保证

一旦OEM镜像已准备,品质保证(QA)团队将接手并使用由认证团队开发维护的免费开源测试工具Checkbox来运行认证测试套件。该测试套件允许团队运行数百个测试,以确保CPU,显卡,无线,触摸板,睡眠和唤醒功能等所有功能均按预期工作。如果在测试过程中出现问题,则会打开错误报告,并将错误报告与可能需要重现,调试和解决问题的所有信息一起分配给对应的团队。当补丁提供后,新的镜像会被生成和做测试直到问题得到解决。

认证

认证是一个复杂的过程,不过认证团队都能应对和解决全部问题。首先,认证团队开发和维护内部使用的不同工具,包含刚才提到的Checkbox和其他用于自动发现和测试的软件。这个团队一直扮演着设备认证守门员的角色,为预装Ubuntu的设备和审核和签发证书。他们还负责在我们的实验室中对认证设备进行连续自动测试,以确保最新的Linux更新正常工作。最后不得不提的是,该团队帮助使用最新的Ubuntu版本(内部称为“ N + 1”的过程)测试经过认证的设备,以确保针对经过认证的设备进行的补丁被上游推广并提供给所有人。

项目管理

好的管理对于一个项目来说也很重要。项目经理要确保每个设备适配项目都按计划进行,确保不同的团队(内部团队和外部团队)都更新了所需的信息,按期完成并进入下一阶段,一般是来说找到每个bug的解决方案,就是使得设备完成适配,并将镜像发送到工厂使得能时地被预装上。

面向所有人的“Ubuntu认证体验” (已认证的设备)

正如在Martin Wimpress的文章“What’s new in Ubuntu Desktop 20.04 LTS”中描述的一样,从Ubuntu 桌面 20.04 LTS开始,现在通过安装原版Ubuntu发行版本就有可能获得认证设备体验。当在认证过的设备上完成安装后,特定设备的元素将会被自动安装和配置,体验和工厂预装镜像几乎一致。

这无疑是一个好消息,对于以下情况来说:

  • 你已经拥有了已认证的设备,但是预装的是其他的系统,现在想切换到Ubuntu。
  • 你想要一个预装Ubuntu的新电脑,但是在你所在的国家/地区未提供

总结

我们只是简单地介绍了Ubuntu认证的含义。我们也仅在讨论桌面和台式机电脑。每年,Canonical适配支持数百种设备,因此用户不仅可以在台式机上,而且可以在服务器端以及在IoT设备上获得出色的Ubuntu体验。该过程还为很多组件带来了更好的Linux支持,这对整个Linux社区总是有益的。

–英文原稿由 Pierre Equoy 撰写

Newsletter signup

Select topics you’re
interested in

In submitting this form, I confirm that I have read and agree to Canonical’s Privacy Notice and Privacy Policy.

Related posts

We are changing the way you build snaps from GitHub repos

On the 11th March 2020 we introduced a new process for building a snap using GitHub repos to snapcraft.io. Here is all you need to know about this update....

GNOME 3.34 snapcraft extension

We constantly strive to empower developers. Part of that aim extends to making development easier, for example improving build tools and documentation. As an...

An adventure through the Snap Store

An application store with a large number of entries is a double-edged sword. It’s often a good sign of a vibrant, thriving community of software creators,...