在Chromebook ARM上真正的Ubuntu

我在我的台式机上安装了Ubuntu 13.04(运行得很好)。然后我使用Crouton在我的Chromebook三星(ARM架构)上安装了Ubuntu 12.04。它也运行得相当不错。

我有一个问题。我们是否能在我的ARM Chromebook上拥有一个真正的Ubuntu系统(最好是13.04)?

似乎Crouton/Ubuntu并非完全与真实的系统相同。

最佳选择是拥有完整的Ubuntu 13.04,并移除Chrome OS。


希望能够将其更新至14.04 LTS版本,这将非常棒。我该如何征求对这个问题的新回答呢? - Nickolai Leschov
1@NickolaiLeschov 我添加了一个答案,并且我还链接了很多其他同类型的问题,这样它就会获得更多的浏览量,可能还会有一些额外的答案。 - Amolith
4个回答

警告:Chrubuntu的使用已被弃用,并且在较新的Chromebook设备上安装它是危险的。
这个答案中的许多链接也已过时。
您可以继续使用本教程,但使用本教程存在风险,并不能保证其正常工作。
看起来您无法完全从Chromebook上移除ChromeOS(虽然可以,但会非常困难),但您可以使其双启动并默认启动为Ubuntu。 我将向您展示最后一种方法。
  1. 首先备份所有本地文件,因为进入开发者模式后,所有存储在本地的文件都将被删除(除了本文介绍的模型之外,其他特定型号进入开发者模式的指南可以在这里找到)。

  2. 同时按住Esc刷新键,然后按下电源按钮(同时保持按住另外两个键)。这将使您的Chromebook重启进入恢复模式。

  3. 当您看到带有感叹号的黄色屏幕时,按下ctrl+d(这将弹出一个提示,询问您是否要打开开发者模式)。按回车键(这将需要大约15到20分钟。您会看到一个带有红色感叹号的屏幕,但请不要操作它,直到它重新启动进入ChromeOS)。

  4. 打开Chromebook,但不要登录。确保此时已配置好WiFi或以太网连接。不建议使用3G/4G网络。按下CTRL+ALT+=> =>是前进箭头,在PC上对应F2键的位置)。 不要使用正常的CTRL+ALT+T方法来获取shell。在没有任何用户登录的情况下,使用CTRL+ALT+=>方法。

  5. 以用户chronos登录,无需密码。

  6. 作为chronos用户,并且没有更改目录或运行其他命令,请运行:

    curl -L -O http://googledrive.com/host/0B0YvUuHHn3MndlNDbXhPRlB2eFE/chrubuntu-install.txt; sudo bash s9ryd
    (有一个新的脚本和新的链接。如果您仍然想使用旧版本,则需要将新链接替换为旧链接。对于像Acer C7和Samsung 550这样的旧设备,请使用此脚本。)
    curl -L -O https://googledrive.com/host/0B0YvUuHHn3MndlNDbXhPRlB2eFE/chrubuntu-seabios-install.txt; sudo bash 9sgchs

确保你的命令完全正确。curl后面的-O-L都是大写字母。如果出现“未找到”错误,请确保你有网络连接,并且输入命令正确无误。
7. 你将会看到一些关于你的Chromebook的信息提示。按下Enter键继续。(现在已经修复了这个问题,并且集成在命令脚本中,该命令将会下载。不过你仍然可以使用旧链接,所以我把它划掉了。)
8. Chrome OS的有状态分区默认只有接近11GB的空间,脚本会缩小有状态分区的大小以为ChrUbuntu腾出空间。你可以选择给ChrUbuntu分配5GB到10GB的空间,每次增加1GB(注意:如果你在Chrome设备上安装了更大的SSD,你的最大值和推荐最大值会更大)。我建议不要超过9GB,因为10GB会让Chrome OS的可用空间非常有限(少于1GB)。
9. 一旦你输入了一个数字,你的硬盘将会重新分区。过一段时间后,它会重新启动并重新初始化有状态分区。这个过程需要2-15分钟,然后Chromebook会再次重启并显示你第一次打开Chromebook时看到的欢迎界面。
10. 再次进行Chrome OS的设置过程,直到你到达Google登录页面。此时你需要再次连接WiFi或以太网。然后按照步骤6到8再次操作。这次脚本会检测到你已经为Ubuntu腾出了空间,并开始下载ChrUbuntu。 专业提示:这里是您可以安装其他版本Ubuntu的地方!只需在命令的末尾指定所需的Ubuntu版本和类型即可:
curl -L -O https://googledrive.com/host/0B0YvUuHHn3MndlNDbXhPRlB2eFE/chrubuntu-seabios-install.txt; sudo bash 9sgchs [flavor] -u [version] -a [argitecture] -t [target-disk]

您可以使用以下命令显示可用的“口味”:
curl -L -O https://googledrive.com/host/0B0YvUuHHn3MndlNDbXhPRlB2eFE/chrubuntu-seabios-install.txt; sudo bash 9sgchs -h

例如:

curl -L -O https://googledrive.com/host/0B0YvUuHHn3MndlNDbXhPRlB2eFE/chrubuntu-seabios-install.txt; sudo bash 9sgchs xubuntu-desktop -u lts

这将安装Xubuntu和最新的LTS版本(写作时为12.04.2),而不是13.04的Unity桌面。一些可能的替代Unity的版本有:

  • 默认(x86上的ubuntu-desktop,arm上的xubuntu-desktop)
  • kubuntu-desktop
  • lubuntu-desktop
  • xubuntu-desktop
  • edubuntu-desktop
  • ubuntu-standard(未安装GUI)

一些可能的版本有:

  • lts - 最新的LTS Ubuntu版本,写作时为12.04.2
  • latest - 最新的官方版本,写作时为13.04
  • dev - 不稳定的开发版Ubuntu,每日构建的Saucy Salamander 13.10版本,仅限专家使用!如果出现问题,请不要感到惊讶
  • 12.10 - Ubuntu 12.10版本

可能的架构(-a选项)有:

amd64 - 默认

i386

[target-disk]是最后一个参数(如果您只想将默认设置安装到外部驱动器,请在前两个参数中指定"default"和"latest")。例如,安装到SD卡的示例可能如下:
curl -L -O https://googledrive.com/host/0B0YvUuHHn3MndlNDbXhPRlB2eFE/chrubuntu-seabios-install.txt; sudo bash 9sgchs default latest /dev/mmcblk1

11) 在安装过程中(在前5-15分钟内),您将看到一些提示,选择您的编码、区域设置和语言。对于大多数人来说,默认设置应该是可以的,只需按Enter键即可,但如果您愿意,也可以更改它们。稍后,您将被提示决定GRUB应该安装在哪里。为了使引导工作正常,您必须勾选/dev/sda旁边的框!
12) 在所有Ubuntu文件都已下载、安装和配置完成后,脚本将进行一些更新,然后提示您重新启动。
13) 在开发者模式屏幕上按下CTRL+L。您将看到ChrUbuntu启动!用户名是"user",密码是"user"。(您还可以按CTRL+D进入Chrome OS引导。)
14)(这可能不再必要,但我会将其保留给仍然需要的人)现在您处于ChrUbuntu环境中,但如果重新启动,您将回到Chrome OS。这是一个安全功能,如果ChrUbuntu无法引导,您希望能够返回Chrome OS进行修复。要将ChrUbuntu设置为默认系统,请运行:
 sudo cgpt add -i 6 -P 5 -S 1 /dev/sda

在ARM Chromebook上,将/dev/sda替换为/dev/mmcblk0。密码是"user"。可以从ChrUbuntu或Chrome OS运行此操作。
要再次将Chrome OS设置为默认值,要么关闭开发者模式,要么运行以下命令:
sudo cgpt add -i 6 -P 0 -S 1 /dev/sda

请参考chrubuntu

另外,请注意触摸板仅支持13.10及更高版本。目前请使用13.10或使用USB鼠标。


我已经扩展了解释,并在必要时更改了部分内容,特别针对三星Chromebook。 - Akisame
1请注意,你的说明书中目前缺少了步骤7-10(看起来它们已经被重新编号为1-4)。这破坏了“现在再次按照步骤6至8进行操作”的指示。 :) 另外,在你提到“reverence”的地方,你可能是想说“reference”。 - Lambart
是的,我相信Seth将6到8编辑成了1到4,但出于某种原因我无法改回来。 另外,我已经修正了参考文献的拼写错误。 - Akisame
谢谢你的回答。我真的很想在我的Chrome OS上安装原生的Ubuntu,但看起来我只能使用Crouton或Chubuntu :( - Vincent beaurain
1@Vincentbeaurain:Crouton不是本地的,但ChrUbuntu是本地的,请阅读我的答案以获取完整的解释。 - J. M. Becker
这也是我在ChrUbuntu网页上看到的内容:“一个可以安装任何Ubuntu版本的脚本:13.10,12.04.3 LTS,甚至最新的每日开发版镜像。(注意:ARM Chromebook目前仅支持12.04.3,因为更新版本在ARM上存在问题)”。看起来这个脚本在安装到三星Series 3(ARM)时缺乏对更新版本的支持。至少根据开发者的报告如此。 - J. M. Becker
您将会收到一些关于您的Chromebook的信息提示。您可能需要运行额外的命令来在您的Chromebook上安装开发者BIOS。按Enter键继续。这太棒了! - Houcheng
我已经很好地更新了这个“旧”答案。新的脚本不需要可能的额外输入命令。不客气。 - Akisame
http://goo.gl/9sgchs 上可能存在链接失效问题。 - LiveWireBT

免责声明:仅适用于英特尔 Chromebook

您可以在 Chromebook 上本机安装完整版 Ubuntu,并不使用 Chrubuntu 从而移除 Chrome

我看到很多人在这类问题中回答说无法从 Chromebook 上移除 ChromeOS,直接安装 Ubuntu,因为 Chrome 的自定义 BIOS 不允许,或者必须使用已废弃且对新型机器安装存在风险的 Chrubuntu。

我要澄清一下:你是可以的。

如何实现?

我在我的 Chromebook 上刷了 SeaBIOS,并从闪存驱动器上安装了 Ubuntu 17.04,然而,我认为 SeaBIOS 也允许您从 Jeltka 安装操作系统(我不确定那是什么,我没有使用它;我已经制作好了闪存驱动器)。

SeaBIOS默认从本地硬盘启动,但在加载过程中,您可以按下ESC键并从列表中选择任何设备进行启动。这样您就可以运行本机操作系统以及与您的硬件兼容的任何其他操作系统,只需使用USB即可。
要替换Chrome的自定义ROM和BIOS并安装不同的操作系统,您首先必须将Chromebook置于
开发者模式:
要调用恢复模式,在登录屏幕上,按住ESCF3键,然后点击电源按钮。
要进入开发者模式,您首先需要调用恢复模式,然后在恢复屏幕上按下CTRL + D(没有提示-您必须知道如何操作)。它会要求您确认,然后重新启动进入开发者模式开发者模式的工作方式与以往相同:它会显示令人紧张的启动屏幕,您需要按下CTRL + D或等待30秒才能继续启动。
硬件
在此之后,您需要将写保护跳线连接起来,最好是在关闭Chromebook并取出电池的情况下进行操作!
注意:
这是Parrot Chromebook(Acer C710)上的写保护跳线位置;如果您使用的是其他型号的Chromebook,它可能位于不同的位置。 1 那个粉色标签末端的小白色方块就是跳线(它被一个黑色标签覆盖着,您需要将其剥离);如果您希望永久连接,可以使用一点焊锡将其连接起来。我使用了一片铝箔。
软件:
完成上述步骤后,您需要重新启动Chromebook,打开浏览器,然后按下CTRL+ALT+T以打开shell。 确保您阅读了Lewis的支持型号矩阵

在阅读了开发者的支持的型号矩阵之后,您可以在Crosh shell中以普通用户身份运行以下命令,而不是root用户

命令

cd;bash <(curl https://johnlewis.ie/flash_cb_fw.sh)

最后的部分

最后,按照屏幕上的指示根据你的模型和矩阵支持的内容进行操作。

完成所有这些步骤后,你将能够将操作系统从USB安装到SSD上,通过Live USB运行操作系统,或者(我不确定如何实现,建议你进行一些研究,我在查找时没有找到太多信息),你可以从负载中引导,这样做会安装你选择的操作系统。

Live闪存驱动器

如果你想从USB启动,这里有关于如何从USB启动并在USB上安装操作系统的说明,以便你可以在任何计算机上使用它。

制作Ubuntu安装程序闪存驱动器

这里是如何制作带有Windows的Ubuntu安装程序的方法。

这里是在OSX上如何操作。

这里是在另一台计算机上或其他设备上使用Ubuntu的方法。

下载

这里是纯粹的Ubuntu。这是具有所有默认包等的完整版本。 Ubuntu 16.04是长期支持版本,使用Unity桌面环境,而Ubuntu 17.10则使用GNOME桌面环境。我建议使用其中之一,或者稍后讨论的GalliumOS,除非您会说中文,那么Ubuntu Kylin可能是更好的选择。

就个人而言,这是我的观点,我只关心口味,首先,如果你有一台非常老的电脑; 那么,Lubuntu 可能是更好的选择。尝试不同的口味真的很有趣,看看哪种适合你更多(或更少),等等。就个人而言,我更喜欢 Ubuntu GNOME,但它在我的经验中使用的内存比带有 Unity(默认)的 Ubuntu 多。确保在盲目选择之前阅读它们的描述并查看截图;重新安装东西真的很烦人。


编辑:15-10-17:我刚刚发现/尝试/安装了GalliumOS,它的运行效果甚至比Lubuntu更好。它还完全支持ChromeOS设备,所以下面提到的触摸板问题不适用。它还进一步针对ChromeOS设备进行了优化,因为它是基于Xubuntu的。我真的很喜欢它,因为它快速、美观,并且具有完整的硬件支持,不像其他我找到的Ubuntu风格/衍生版本。除了其他优化之外,键盘也被完全重新映射,所以你的亮度、音量、媒体控制键等都能正常工作,而不仅仅发送FX信号。


注意

在Acer C710(Parrot Chromebook)上,触摸板无法工作(我正在安装修改过的Ubuntu ChromeOS触摸板驱动程序),亮度键、音量键、刷新按钮等也无法使用。我还不确定问题出在哪里,但我正在努力解决。如果你按照我在这里说的做,并且需要驱动程序/键盘修复工具,请联系我,我会在弄清楚后将它们编辑到答案中。

另外,你可能想要备份你的重要文件到Google Drive或其他地方;当你安装SeaBIOS时,所有文件都将被删除且无法恢复。

由于我只在C710(Parrot)Chromebook上进行过此操作,所以无法保证其他型号的Chromebook会有什么工作/不工作的情况,但是在Chromebook上安装Ubuntu与在其他计算机上安装Ubuntu一样存在风险;由于缺少驱动程序,某些功能(WiFi、蓝牙、触摸屏、触摸板等)可能无法正常工作。你只需找到这些驱动程序并安装它们,或者修改你当前拥有的驱动程序即可。


更新:15-10-17

我找到了驱动程序!(有点)

GalliumOS(上面提到的兼容性)自带即插即用的触摸板支持。


2这个回答非常详细,但是适用于基于Intel的Chromebook,而问题是关于基于ARM的Chromebook,所以这个方法不适用。 - thomasrutter
1是的,回答应该在最前面声明不适用于ARM。Ubuntu适用于ARM的版本可以在https://www.ubuntu.com/download/server/arm找到。实际上,对大多数人来说,在chroot下运行Linux非常好,特别是因为使用xiwi,您可以同时运行ChromeOS和Ubuntu。我相信有些应用程序您可能希望进行纯净安装,但是对于大多数人来说,基于chroot的安装([可在此链接找到](https://github.com/dnschneid/crouton))是最佳选择(纯粹主义者现在可以把我打晕了:) - JimLohse
这个回答中的BIOS链接已经过时。该项目正在积极维护,并为许多Chromebook型号提供固件托管服务https://mrchromebox.chrx.org/。 - Archisman Panigrahi

为了消除一些困惑,有几点需要考虑。
1. Crouton绝对不是原生的Ubuntu,因为它是一个chroot,在这一点上没有疑问。
2. ChrUbuntu是原生的Ubuntu,因为它不使用chroot,尽管我要说安装过程最好还是有点“hacky”。当我想到原生的Ubuntu时,我认为根文件系统是来自Ubuntu。值得质疑的是使用ChromeOS内核,但似乎是因为原生的Ubuntu 12.04内核缺乏硬件支持。
然而,事情已经发生了变化,从12.04版本开始,这是可以预料的,因为12.04版本是LTS版本。我建议不要使用官方的ChrUbuntu,因为你应该使用更新的Ubuntu版本。下一个LTS版本14.04将在其内核中包含三星ARM Chromebook的支持,但我们必须等到它正式发布。
安装Ubuntu 13.04时,另一个人创建了一个非常可用的安装脚本。请查看它在GitHub上的存储库https://gist.github.com/vvuk/4986933。我实际上相信他正在调用一个Lubuntu ac100基础镜像,但我不明白为什么不能调用ac100的另一个镜像。显然,该脚本会删除ac100特定的软件包,并添加一些三星Chromebook的软件包。此外,新的Ubuntu版本甚至有内核软件包,并且它们似乎正常工作。

就个人而言,我刚刚将我的安装升级到了新发布的13.10版本,从脚本安装的13.04版本,它似乎处于相同的工作状态。然而,如果能够重新安装而无需太大麻烦,我始终建议不要进行升级。由于这是针对ARM架构的,并且尚未提供更新的脚本(请自行重新检查),升级似乎是一个合理的考虑。


1现在情况怎么样,14.04发布了吗? - Nickolai Leschov
还不错,工作情况差不多,基本符合我对14.04的预期。 - J. M. Becker

Chromebooks 现在已经内置了对 Linux 的支持。这个功能以前被称为“Linux Beta”,但现在他们去掉了“Beta”,只叫做“Linux”。

你可以通过这个 tutorial 来开始使用。

以下是一些关键点:

  • 无需 root 或双重启动。
  • Linux 在一个独立的部分运行,将 Chrome 应用程序与 Ubuntu 分开,保证安全性。
  • Debian/Ubuntu 支持已经内置,所以你可以使用 sudo apt install 和其他熟悉的命令。
  • 它使用 Wayland,因此需要替换任何类似于 xprintidlewmctrlxdotool 的编程工具。不支持 xrandr
  • 随时可以清除你的 Ubuntu,并将该硬盘空间还给 Chrome OS。

问题是我的Chromebook上没有Linux或Linux Beta,它在菜单中根本不存在。我不知道为什么。另外,应用商店在菜单中也没有。基本上,三星ARM系列3的Chromebook无法使用。 - Owl