Nie można zainstalować ubuntu-touch (dual boot) na telefonie komórkowym (utknął <oczekiwanie na urządzenie>)

12

Oto dane wyjściowe po uruchomieniu ./dualboot.sh( link tutaj )

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 >

A moje urządzenie pozostaje takie jak ten odczyt=> FASTBOOT mode...

Ponadto moim urządzeniem jest Aquarius e5 full-hd. Nie został rozpoznany przez plik bash, ponieważ szukał Aquariusa 5, więc powiedział „nieobsługiwany”, ale musi być obsługiwany, ponieważ w końcu jest to aq5, tylko full-hd. To zmieniłem

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

do:

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

Masz pomysł na dlaczego? Co może być problemem? Tyvm za opinie

Fane
źródło
Wygląda na to, że fastboot nie działa poprawnie. Czy potrafisz uruchomić program ładujący i zrobić urządzenie Fastboot?
Marton
@Marton, jak mogę to sprawdzić? Program ładujący identyfikuje urządzenie, ale rzeczywiście musiałem je zainstalować. Przed uruchomieniem dualboot.sh wystąpił błąd no fastboot command present, insalllub coś podobnego ...
Fane
Przepraszam, myliłem się co do fastboot. Czy masz obecnie zainstalowany system Android? Jeśli tak, proszę o włączenie opcji „Debugowanie USB” w opcjach programistycznych. Następnie podłącz urządzenie do komputera i uruchom skrypt.
Marton
@Marton Czy możesz to opublikować jako odpowiedź? Problem wydaje się być na linii adb -s $DEVICE_ID reboot bootloader; Przetestowałem polecenie użyte przez skrypt do zainicjowania $DEVICE_ID( adb devices | grep -w 'device' | awk '{ print $1}') i działa ono idealnie, o ile na urządzeniu jest włączone debugowanie USB i tak długo, jak użytkownik zezwoli na połączenie na urządzeniu, dotykając OK w wyskakującym okienku, więc chciałbym powiedzmy, że 99% problem polega na tym, że OP nie ma włączonego debugowania USB.
Kos
@ Fane Czy mógłbyś przepisać swój pierwszy komentarz, ponieważ go nie rozumiem?
Marton

Odpowiedzi:

1

Próbowałem dokładnie tego samego, tej samej konfiguracji i myślę, że błąd krytyczny jest następujący:

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

lub tak, jak to miałem:

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

Problem polega na tym, że skrypt używa:

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

... ale jeśli wejdziesz na 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>

... więc oczywiście nie można już pobrać obrazów odzyskiwania ... Wydaje się, że jest teraz inna witryna:

... ale nie ma tam ROM-ów Aquaris ...


EDYCJA: Ok, trochę bardziej się temu przyglądałem. Po pierwsze, prawdopodobnie tytuł tego pytania powinien zawierać „podwójny rozruch”, ponieważ dualboot.shskrypt pochodzi z https://wiki.ubuntu.com/Touch/DualBootInstallation .

W każdym razie o to chodzi: w tym skrypcie i koncepcji (jak na stronie Wiki) założono, że na tym urządzeniu jest zapasowy system Android i polegano na niestandardowym obrazie odzyskiwania ClockworkMod (CWM); wydaje się, że w przeszłości istniał taki obraz Aquaris E5, ale już nie. Obecnie jedynym niestandardowym obrazem odzyskiwania, który obsługuje Aquaris E5, wydaje się być TWRP (Team Win Recovery Project Project), patrz:

Sflashowałem mój telefon za pomocą tego obrazu przywracania zgodnie z http://www.mibqyyo.com/comunidad/discussion/77467/how-to-root-a-bq-aquaris-e5-hd-phone ; i zastanawiałem się, czy zamiast tego można użyć podwójnego rozruchu z tym odzyskiwaniem.

Po pierwsze, w dualboot.shzasadzie wykonuje ładunek boczny UPDATE-SuperSU-v1.93.zipi UPDATE-UbuntuInstaller.zip; tutaj aplikacja SuperSU będzie już dostępna po procedurze rootowania odzyskiwania TWRP, a potem zostajemy UPDATE-UbuntuInstaller.zip. Ten plik zip można faktycznie załadować z komputera za pomocą odzyskiwania TWRP, a następnie dostajemy aplikację „Ubuntu Dual Boot” po uruchomieniu Androida. Niestety,

Wygląda na to, że urządzenie nie jest obsługiwane ... Aquaris_E5_HD

Pamiętaj, że to urządzenie może wyglądać następująco:

$ 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

Tutaj możemy uzyskać źródło tej aplikacji:

$ bzr branch lp:humpolec
$ cd humpolec/

... a następnie w ( humpolec/) src/com/canonical/ubuntu/installer/Utils.javawykonaj ten hack:

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;
}

... a następnie zbudować:

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

Tutaj, aby móc sideload, musisz najpierw rozpakować UPDATE-UbuntuInstaller.zipjako katalog, powiedzmy UPD-Ub, a następnie zastąpić go .apktam z wbudowanym w poprzednim kroku, a następnie ponownie spakować 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 .)

Następnie, po uruchomieniu w trybie odzyskiwania TWRP, możesz sideload z komputera za pomocą:

adb sideload UPDATE-UbuntuInstallerNew.zip

... a zaktualizowana aplikacja zostanie zainstalowana na telefonie.

Tutaj aplikacja się otworzy, a nawet pobierze z kanału (próbowałem stable/bq-aquaris.en) i rozpakuje - jednak kiedy w końcu wykonasz „Reboot to Ubuntu” w aplikacji, po prostu uruchomi się ponownie w celu odzyskania TWRP. Problem polega na tym, że aplikacja nadal oczekuje odzyskiwania CWM i zasadniczo kopiuje dane pobrane do katalogów specyficznych dla CWM, a nie TWRP. A ponieważ CWM nie ma już pamięci ROM dla tego urządzenia, aplikacja jako taka niestety nie nadaje się do podwójnego rozruchu na tym urządzeniu.

Jedyną inną opcją podwójnego rozruchu w Aquarisie E5 wydaje się być aplikacja MultiROM Manager dla Androida, która wydaje się być oparta na / pracy z odzyskiwaniem TWRP - niestety nie rozpoznaje również tego urządzenia: gdy jest uruchomione, stwierdza: To nie jest obsługiwane urządzenie (Aquaris_E5_HD)! ”

sdbbs
źródło
0

Wystarczy włączyć debugowanie USB w opcjach programisty Androida i kliknąć „OK”, gdy pojawi się wyskakujące okienko.

Wyjaśnienie: Bez debugowania USB komputer nie może wysyłać poleceń do telefonu.

Marton
źródło