无法在移动设备上安装 ubuntu-touch(双启动)(卡在)

无法在移动设备上安装 ubuntu-touch(双启动)(卡在)

运行后的输出如下./dualboot.sh链接在这里

No device ID specified, picking first available device
Waiting for device CB006626 to install Ubuntu installer to.
Detected connected Aquaris-5
Downloading recovery for aquaris5
ls: cannot access recovery-aquaris5-6.0.4.3.img: No such file or directory
Skipping download, file already downloaded
Dev:CB006626: selected full install
Downloading SU package
Skipping download, file already downloaded
Downloading Ubuntu Installer application package
Skipping download, file already downloaded
install_ubuntu_installer<<
Dev:CB006626: Rebooting to bootloader
Waiting for device to be connected in normal or recovery mode
recovery-aquaris5-6.0.4.3.img        #I echoed the path to unbunt_installer
CB006626                             #I echoed the device_id
< waiting for device >

我的设备仍然像这样阅读=> FASTBOOT mode...

另外,我的设备是 Aquarius e5 全高清。bash 文件无法识别它,因为它正在寻找 aquarius5,所以它显示“不支持”,但它肯定受支持,因为它毕竟是 aq5,只是全高清。这是我更改的

elif [[ "$DEVICE" == bq_Aquaris5* ]]; then
    echo "Detected connected Aquaris-5"
    DEVICE=$AQUARIS5

到:

elif [[ "$DEVICE" == Aquaris_E5* ]]; then
    echo "Detected connected Aquaris-5"
    DEVICE=$AQUARIS5

知道原因吗?可能是什么问题?非常感谢您的反馈

答案1

我尝试了完全相同的设置,但我认为严重错误是这样的:

Downloading recovery for aquaris5
ls: cannot access recovery-aquaris5-6.0.4.3.img: No such file or directory

或者像我一样:

Waiting for device to be connected in normal or recovery mode
Dev:: Waiting for fastboot to be ready
cannot load 'recovery-aquaris5-6.0.4.3.img': No such file or directory
Dev:: Waiting for adb recovery to be ready

问题在于该脚本使用:

# Used version of CWM recovery
URL_CWM_PATH_BASE="http://download2.clockworkmod.com/recoveries/recovery-clockwork"

...但如果你去http://download2.clockworkmod.com/recoveries/recovery-clockwork

    This XML file does not appear to have any style information associated with it. The document tree is shown below.
  <Error><Code>AccessDenied</Code><Message>Access Denied</Message>...</Error>

...所以,很明显,恢复映像不能再从这里下载了...现在似乎有另一个网站:

... 但是那里没有 Aquaris ROM...


编辑:好的,对此做了更多调查。首先,这个问题的标题可能应该包括“双重启动”,因为脚本dualboot.sh来自https://wiki.ubuntu.com/Touch/DualBootInstallation

无论如何,事情是这样的:这个脚本和概念(如 Wiki 页面上所述)假设此设备上有原生 Android,并且依赖于 ClockworkMod (CWM) 自定义恢复映像;过去似乎有针对 Aquaris E5 的此类映像,但现在没有了。目前,唯一支持 Aquaris E5 的自定义恢复映像似乎是 TWRP(Team Win Recovery Project),请参阅:

我按照以下说明用此恢复映像刷新了我的手机http://www.mibqyyo.com/comunidad/discussion/77467/how-to-root-a-bq-aquaris-e5-hd-phone;我想知道是否可以将双启动与此恢复一起使用。

首先,dualboot.sh基本上是进行侧UPDATE-SuperSU-v1.93.zipUPDATE-UbuntuInstaller.zip;在这里,SuperSU 应用程序已经存在于 TWRP 恢复 root 程序中,然后我们只剩下UPDATE-UbuntuInstaller.zip。这个 zip 实际上可以使用 TWRP 恢复从 PC 侧载,然后我们在 Android 启动时获得一个“Ubuntu Dual Boot”应用程序。不幸的是,

看来该设备不受支持...Aquaris_E5_HD

请注意,该设备可能显示为:

$ adb devices -l
List of devices attached
UA00XXXX               recovery usb:1-1.3 product:omni_vegetahd model:Aquaris_E5_HD device:vegetahd
# or
UA00XXXX               sideload usb:1-1.3
# or
UA00XXXX               device usb:1-1.3 product:Aquaris_E5_HD model:Aquaris_E5_HD device:Aquaris_E5_HD

这里,我们可以获取这个应用程序的源代码:

$ bzr branch lp:humpolec
$ cd humpolec/

...然后,在 ( humpolec/)中src/com/canonical/ubuntu/installer/Utils.java,执行以下操作:

public static boolean isBringupMode() {
    if (!UbuntuInstallService.BRINGUP_MODE) {
        String deviceModel = Build.DEVICE.toLowerCase(Locale.US);
        if ("bq_aquaris5".equals(deviceModel)) {
            return true;
        }
        if ("aquaris_e5_hd".equals(deviceModel)) { // ADD..
            return true;                           // ..
        }                                          // ..THIS
        return false;
    }
    return true;
}

...然后构建:

JAVA_HOME=/path/to/android/jdk1.6.0_45 \
PATH=${PATH}:/path/to/android/adt-bundle-linux-x86-20140321/eclipse/plugins/org.apache.ant_1.8.4.v201303080030/bin:/path/to/android/adt-bundle-linux-x86-20140321/sdk/tools:/path/to/android/jdk1.6.0_45/bin  \
ANDROID_HOME=/path/to/android/adt-bundle-linux-x86-20140321/sdk \
ant debug

在这里,为了能够侧载,您必须先将解压UPDATE-UbuntuInstaller.zip为目录,例如UPD-Ub,然后.apk用上一步构建的目录替换其中的,然后重新打包 zip:

cp -a UPD-Ub UPD-UbNew
cp -a humpolec/bin/UbuntuInstaller-debug.apk UPD-UbNew/system/app/UbuntuInstaller.apk
rm -rf UPD-UbNew/system/app/UbuntuInstaller_apk # from previous unzip
(cd UPD-UbNew; zip -r ../UPDATE-UbuntuInstallerNew.zip .)

然后,在 TWRP 恢复中启动时,您可以使用以下方式从 PC 侧载:

adb sideload UPDATE-UbuntuInstallerNew.zip

...更新后的应用程序将安装在手机上。

此时,应用程序将打开,甚至会从某个频道(我试过stable/bq-aquaris.en)下载并解压 - 但是,当您最终在应用程序中执行“重新启动到 Ubuntu”时,它只会重新启动到 TWRP 恢复。问题是,应用程序仍然需要 CWM 恢复,并且基本上将其下载的数据复制到特定于 CWM 而不是 TWRP 的目录中。而且由于 CWM 不再有此设备的 ROM,因此不幸的是,该应用程序本身无法在此设备上进行双启动。

Aquaris E5 上双启动的唯一其他选项似乎是适用于 Android 的 MultiROM Manager 应用程序,它似乎基于/与 TWRP 恢复配合使用 - 不幸的是,它也无法识别该设备:启动时,它会显示:“这是不受支持的设备(Aquaris_E5_HD)!”

答案2

只需在 Android 开发者选项中启用 USB 调试,然后在弹出窗口时单击“确定”即可。

解释一下:如果没有 USB 调试,您的计算机就无法向您的手机发送命令。

相关内容