找回密码
 骑士注册

QQ登录

微博登录


Ubuntu Touch 和 Android 双系统安装官方指南

2014-05-28 15:05    评论: 12 收藏: 1 分享: 12    

本文导航

其他需要注意的

更新到最新的 Ubuntu 镜像

根据双启动的经验:

  • 安装新版本的 Ubuntu 需要使用 Android 上的双启动应用程序
  • 下载新版本的 Ubuntu 可以在 Android 或者 Ubuntu 下进行

这实际上意味着可以有两种不同的方式更新 Ubuntu 镜像(译注:此处与前文不一致,究竟是否可在Ubuntu下更新,译者没有做过实验,可能已经支持了。):

  • 如果在android系统下,使用双启动应用程序更新 Ubuntu ,需要选择菜单选项中的 "Uninstall Ubuntu" ,然后应用程序会询问你是否保留 Ubuntu 用户数据。如果你想保留数据、通讯录、应用程序、图片、背景设置等,这些数据将会完整保留。另外,每次新版本的 Ubuntu 发布后,将会收到 Android 通知:
    • 对于稳定频道,应用每2天推送一次更新通知
    • 对于推荐频道,应用每10小时推送一次更新通知
  • 如果你使用的是 Ubuntu, 使用系统设置中的标准更新机制下载新版镜像,但是不要选择安装,下载完毕后,重新启动到 Android 系统中,启动双启动应用程序,程序会恢复更新。完成后,你可以再次切换到 Ubuntu系统中。

要升级 Ubuntu 到最新版本,在 android 下的 Ubuntu 双启动应用程序中,卸载 Ubuntu 后,可以按照同样的安装步骤去下载新版本的 Ubuntu。

双系统安装器参考命令

大多数情况下,不带参数运行自动模式安装脚本就足够了。

dualboot.sh

  • 自动模式:监测超级用户应用程序是否需要安装,并更新双系统安装应用程序。

dualboot.sh full

  • 完整模式:安装超级用户和双系统启动 Android 应用程序

dualboot.sh update

  • 更新模式:安装或者更新 Android 下的双系统启动应用程序

dualboot.sh channel $CHANNEL

  • 边载(Sideload)模式:通过指定的 Ubuntu 频道 ($CHANNEL) 下载最新的镜像到手机。命令启动 android 双系统应用程序并继续使用边载文件进行安装。

dualboot.sh push ubuntu.tar.xz device.tar.xz version.tar.xz

  • 边载推送模式:将下载参数推送给双系统启动应用程序,作为参数启动双系统安装器进行安装。

多个手机同时连到电脑上的时候,脚本还提供指定手机ID 的参数。手机ID为脚本的第一个参数。如果不指定手机ID的话,默认为第一个连接的手机。

dualboot.sh <device-id> channel devel-customized

使用自定义镜像服务器

如果你的手机不在官方支持列表中,需要使用第三方移植镜像服务器,你可以将自定义镜像服务器地址作为参数来使用双启动应用程序。这么办的话,打开终端,连接手机到电脑,运行以下命令(替换 $CUSTOM_SERVER_URL 为自定义服务器地址):

adb shell "su sh 'cd /data/data/com.canonical.ubuntu.installer/files/ && echo $CUSTOM_SERVER_URL > custom_server &&  chmod 777 custom_server'"

下次启动双启动应用程序的时候,默认将使用自定义服务器地址而不是官方地址了。

异常处理

如果出现问题,安装双启动后无法进入 Android 和 Ubuntu 系统的话,你可以使用原始启动和恢复镜像恢复手机到最初状态。只有 recovery 分区被双启动修改了,当然你可以刷回原有的启动分区。

  1. 下载手机的 Android 固件到你的PC上。
  2. 使用快捷键 Ctrl+Alt+T 打开终端
  3. 解压固件 tar 包并 cd 到其目录
  4. 运行以下命令以重启手机到 bootloader

    adb reboot bootloader
    
  5. 进入 bootloader 后,运行以下命令刷回启动分区:

    fastboot flash boot boot.img
    
  6. 不要退出 bootloader ,运行以下命令刷回 recovery 分区:

    fastboot flash recovery recovery.img
    
  7. 刷机完毕后,重启你的手机应该就可以进入 Android 系统了:

    fastboot reboot
    

致谢

双启动项目和其他 Ubuntu 项目一样都是开源的,你可以参与此项目,使得他更加完美!

FAQ

双启动如何工作?

基于 Android 的手机有一系列不同用途的分区。这些分区包括 /boot, /recovery, /system/data 等。

  • boot 分区是 bootloader 正常启动的时候载入的。这个分区的启动镜像是由一个内核和ramdisk程序组成的。简而言之,bootloader 解压启动镜像,创建一个内存盘后将镜像考入,最后使用 初始化进程 启动内核。
  • recovery 分区包含有恢复镜像,它只是一个不同的启动镜像。它也含有一个内核和内存盘程序,但是初始化可执行程序被换成了内存盘中的二进制的 recovery 程序。
  • system 分区含有所有的只读系统文件 (除了内存盘中的)供初始化进程载入。
  • data 分区是供系统写入用户数据的可读写分区。

Ubuntu 以稍微不同的方式使用这些分区

  • bootrecovery 分区的作用和 Android 中一样。
  • system 镜像 含有在 LXC 中执行的 Android 部分的程序。
  • data 分区下的 /data/ubuntu/ 目录含有Ubuntu系统

为了保证用户可以返回 Android 原来的系统,Android 系统的启动镜像是不允许修改的,因为原始内核必须保存。所以使用 recovery 分区去启动Ubuntu

双启动可以运行在那个版本的 Android 系统下?

  • 普通 Android 或 AOSP 4.4.2 或更高版本。
  • CyanogenMod (基于 Android 4.4.2 或更高版本).

双启动可以运行在那些手机上?

双启动通过测试可以运行在以下手机中:

  • Nexus 4
  • Nexus 7
  • Nexus 10

双启动支持那些已发布版本的 Ubuntu?

双启动支持的所有手机平板刷机工具(phablet-flash)支持的系统。

Android 和 Ubuntu 如何共享用户数据分区?

用户数据分区也放在 Ubuntu 系统镜像 /data/system.img, 大约有2GB。

Ubuntu swap 文件在用户数据分区 /data/SWAP.img (大约540MB)。

Ubuntu 的用户和系统数据也可以在以下目录找到:

  • /data/user-data
  • /data/system-data

Android 数据分区的使用方式不变。

安装双启动后是否无法启动进入 recovery?

安装双启动后,recovery 分区被 Ubuntu 启动镜像占用。这意味着启动到 recovery 模式下,就启动了Ubuntu 。

使用 recovery 的功能会在未来发布。不过当卸载掉 Ubuntu 镜像后,Ubuntu Install 应用会恢复原始的 recovery 分区(普通的 Android 或 CWM)。

如果用双启动替换掉 recovery 分区的话,是否还可以更新 Android 系统?

可以,使用双启动应用程序中的 "准备更新安卓" 选项。这会将原始 Android recovery 分区恢复,为 Android 系统更新做准备。这显然会删除 recovery 分区中安装的 Ubuntu 系统,但是使用双系统应用程序可以在 Android 系统更新后很容易重新安装。

任何情况下,你都可以卸载双启动并恢复原始的 recovery 分区。

我可以卸载双启动吗?

可以,使用 Android 版本双启动应用程序卸载 Ubuntu 后,原有的 recovery 分区数据会恢复到安装前的状态。

卸载 Ubuntu 的同时也会删除 Ubuntu 系统镜像和交换文件。如果需要,Ubuntu 用户数据也可以被删除。

双启动应用程序安装了一个超级用户应用,我可以使用一个第三方的超级用户应用代替它吗?

当然可以了!提供的 超级用户 应用只是为了那些没有安装它的用户的。

然而,需要注意一点:项目测试中只测试使用了来自 CyanogenMod 版本或者 dualboot.sh 脚本安装的超级用户应用。但是只要你使用和测试中用的类似的应用的话,一般也不会有问题的。

安装 Ubuntu 中,我是否可以删除用户数据后切换频道?

可以,但是有些东西没有测试过,所以有些应用也许无法正常工作。这个问题也存在于切换版本的情况。

我能否设置默认启动 Ubuntu 而将 Android 启动移动到 recovery 分区?

目前为止交换默认启动操作系统是不可行的。但是如果有需求的话我们会想办法支持的。

为什么使用 recovery 分区启动 Ubuntu 系统而不是使用一个 Android 和 Ubuntu 结合的镜像来启动?

最开始设计双启动的时候原则就是不和某个特定版本和类型的 Android 系统捆绑,留给用户自己选择的权利。所以就没有改动 Android 启动镜像和内核。

最后我们选择利用 recovery 分区启动 Ubuntu,并在需要的时候就恢复到其原始状态。

我已经安装了一个 CWM recovery 而且知道如何使用,我可否使用 zip 文件手动刷机?

绝对可以,我们提供的 dualboot.sh 是为了使得安装应用和 recovery 更容易。如果你想手动安装recovery 也是可以的。参看 dualboot.sh 脚本的源码来操作。

为什么 Ubuntu 安装器需要使用 recovery 安装到 system 分区里?

Ubuntu 安装器需要安装为 Android (预置的)系统应用。 和用户安装在用户分区的应用不一样,系统应用始终活动在系统分区中,保证可以获取第三方软件可以获取的的最高的权限。

其实 Ubuntu 安装器需要获取的权限只有两个:缓存分区写入权限,用来下载 Ubuntu 安装文件;和电源管理,用来重启系统。


via: https://wiki.ubuntu.com/Touch/DualBootInstallation

译者:shipsw 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

12
查看其它分页:

最新评论

我也要发表评论

無欲亦無求 2014-05-30 10:33  新浪微博网友评论 回复
先收了~
孔祥港 2014-05-28 23:33  新浪微博网友评论 回复
这个好
neo_adonis 2014-05-28 21:05 回复
小马_WK 2014-05-28 17:33  新浪微博网友评论 回复
new
Linux中国 2014-05-28 17:03  新浪微博网友评论 回复
@校长Ubuntu @Ubuntu中文站 @中国Canonical_Ubuntu @敲代码的Joey_Chan 请指正。[嘻嘻]
赵强 2014-05-28 17:03  新浪微博网友评论 回复
通讯录,短信可以共享么?
图图大耳朵1107 2014-05-28 16:03  新浪微博网友评论 回复
[爱你]
在浪尖上--- 2014-05-28 15:28  新浪微博网友评论 回复
Cool!可惜手机不行
URANUS_LZYY 2014-05-28 15:28  新浪微博网友评论 回复
回复@Linux中国:[泪]
江东温侯 2014-05-28 15:28  新浪微博网友评论 回复
@请在beep声后留言 你的nexus朋友来试试么
Linux中国 2014-05-28 15:28  新浪微博网友评论 回复
回复@URANUS_LZYY:Nexus的几个。哎,还是要弄台Nexus啊。
URANUS_LZYY 2014-05-28 15:28  新浪微博网友评论 回复
现在能适配多少机型了[思考]

LCTT 译者

共计翻译: 8 篇 | 共计贡献: 262
贡献时间:2014-05-21 -> 2015-02-07
访问我的 LCTT 主页 | 在 GitHub 上关注我

收藏

返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。