Trouble with install on Nexus 7 2013 wifi (flo)



  • I've been trying for a couple days to install Ubuntu Touch on my Nexus 7 2013 wifi. Note that I'm new to this though I did do a little Android dev in the past.

    I first used the Windows installer ( ubports-installer.0.2.2-beta.exe ). I think I did all the steps correctly (unlocked bootloader, usb debugging, adb/fastboot install, drivers, etc.) The installer seems happy, going through all its steps flashing files and such. It even makes it to the final pop-up where it says it's done. But, my Nexus is hung-up on the recovery screen:

    IMG_0037.jpg

    Note the fsck/mount errors at the bottom. Should I be worried about that? I see those whenever I enter UB recovery. I don't know what any of it means. It seems to still work otherwise, but the OS update didn't happen.

    I've searched for other people having trouble with flo in the past. This lead me to try installing Ubuntu as a VM in VirtualBox. First I did 18 then also 16 (wanted to try ubuntu-device-flash but ran into trouble... a lot of info I find is old). I tried it on MacOS (on a "hackintosh" setup), but it was similar.

    I've tried doing the manual install steps, but then run into something that doesn't work. Most often, some adb command (usually "adb shell...") but my adb isn't finding the device. This may well be my fault as I'm learning the mode I'm in matters a lot for that. I may try that again as I think being in recovery mode may be what is needed...

    I have 3 usb cables. 1 of them is definitely bad, the other 2 seem to work. So, I don't think it's my cable, though I can see how it could be.

    In my repeated attempts, I did mess up my Nexus 7 a few times. I think it's called "bootloop" where it just shows the Google logo over and over. I've used "Nexus Root Toolkit" to get it back to stock ROMs and it's fine after that. NRT is a little old out-of-date, but it's nice to have something that can restore it all.

    One post mentioned that if you install LineageOS first, the UT install will then work. I was able to install LineageOS via twrp and sideloading a zip with adb. But when I did the UT install after that, it failed in the usual way. Actually, if I just boot now, I still get LineageOS. So, whatever the UT install did, it didn't change the current OS, though the recovery screen is Ubunto's (orange with the errors, see images).

    Here's a close-up of the errors:

    IMG_0038.jpg

    I haven't found anyone else reporting these errors when I search, so maybe it is my main issue. But, I don't know what I could do about it.

    Thanks in advance for any help.



  • This may be relevant or related too. I was just trying again to install using the manual method on Ubunto 18 running in a VM on my Windows PC. When I get to this step, I get an error:

    $ fastboot format cache
    Couldn't parse erase-block-size '0x'.
    Couldn't parse logical-block-size '0x'.
    mke2fs 1.44.1 (24-Mar-2018)
    /tmp/TemporaryFile-GDMwDI: Unimplemented ext2 library function while setting up
    superblock
    /usr/lib/android-sdk/platform-tools/mke2fs failed with status 1
    mke2fs failed: 1
    error: Cannot generate image for cache



  • Well, that may just be some issue with my Ubunto 18 VM setup. I switched back to just Windows and was able to do the "fastboot format cache". And, I completed all the other manual steps. They all seemed to work fine. But, much like the automated install tool, when I do the final reboot to recovery, I just get hung up there and no install seems to happen. Eventually, I can restart and the previous OS is still installed.

    Here's what my windows cmd windows looked like for the final manual steps. Note that mount -a did give errors, but a comment said this was OK.

    C:\Users\bill\n7\manual>adb shell "mount -a"
    mount: mounting /dev/block/platform/msm_sdcc.1/by-name/cache on /cache failed: No such file or directory
    mount: mounting /dev/block/platform/msm_sdcc.1/by-name/userdata on /data failed: No such file or directory
    mount: mounting /dev/block/platform/msm_sdcc.1/by-name/system on /system failed: No such file or directory

    C:\Users\bill\n7\manual>adb shell "mkdir -p /cache/recovery"

    C:\Users\bill\n7\manual>adb push pool/ubports-420bfa80c833e7736e0197d969b5cd981f18eee1215ad3bfae6d82aab9105f03.tar.xz /cache/recovery/
    pool/ubports-420bfa80c833e7736e0197d969b5cd981f18eee1215ad...r.xz: 1 file pushed. 7.5 MB/s (389773648 bytes in 49.245s)

    C:\Users\bill\n7\manual>adb push pool/ubports-420bfa80c833e7736e0197d969b5cd981f18eee1215ad3bfae6d82aab9105f03.tar.xz.asc /cache/recovery/
    pool/ubports-420bfa80c833e7736e0197d969b5cd981f18eee1215ad....tar.xz.asc: 1 file pushed. 0.1 MB/s (473 bytes in 0.005s)

    C:\Users\bill\n7\manual>adb push pool/device-1481ee5bb7d4443bbc1506c297bc19aecc0520a305dca7a3ef800c57969ac9f4.tar.xz /cache/recovery/
    pool/device-1481ee5bb7d4443bbc1506c297bc19aecc0520a305dca7...tar.xz: 1 file pushed. 7.6 MB/s (64892292 bytes in 8.184s)

    C:\Users\bill\n7\manual>adb push pool/device-1481ee5bb7d4443bbc1506c297bc19aecc0520a305dca7a3ef800c57969ac9f4.tar.xz.asc /cache/recovery/
    pool/device-1481ee5bb7d4443bbc1506c297bc19aecc0520a305dca7....tar.xz.asc: 1 file pushed. 0.2 MB/s (473 bytes in 0.002s)

    C:\Users\bill\n7\manual>adb push pool/keyring-4c4e7ef380ebcfa2c31084efa199138e93bfed8fc58aa3eb06bdf75a78af9b57.tar.xz /cache/recovery/
    pool/keyring-4c4e7ef380ebcfa2c31084efa199138e93bfed8fc58aa...b57.tar.xz: 1 file pushed. 0.6 MB/s (1504 bytes in 0.002s)

    C:\Users\bill\n7\manual>adb push pool/keyring-4c4e7ef380ebcfa2c31084efa199138e93bfed8fc58aa3eb06bdf75a78af9b57.tar.xz.asc /cache/recovery/
    pool/keyring-4c4e7ef380ebcfa2c31084efa199138e93bfed8fc58aa....tar.xz.asc: 1 file pushed. 0.1 MB/s (473 bytes in 0.004s)

    C:\Users\bill\n7\manual>adb push pool/version-7.tar.xz /cache/recovery/
    pool/version-7.tar.xz: 1 file pushed. 0.2 MB/s (460 bytes in 0.002s)

    C:\Users\bill\n7\manual>adb push pool/version-7.tar.xz.asc /cache/recovery/
    pool/version-7.tar.xz.asc: 1 file pushed. 0.2 MB/s (473 bytes in 0.003s)

    C:\Users\bill\n7\manual>adb push gpg/image-signing.tar.xz /cache/recovery/
    gpg/image-signing.tar.xz: 1 file pushed. 0.4 MB/s (900 bytes in 0.002s)

    C:\Users\bill\n7\manual>adb push gpg/image-signing.tar.xz.asc /cache/recovery/
    gpg/image-signing.tar.xz.asc: 1 file pushed. 0.2 MB/s (473 bytes in 0.002s)

    C:\Users\bill\n7\manual>adb push gpg/image-master.tar.xz /cache/recovery/
    gpg/image-master.tar.xz: 1 file pushed. 0.2 MB/s (864 bytes in 0.004s)

    C:\Users\bill\n7\manual>adb push gpg/image-master.tar.xz.asc /cache/recovery/
    gpg/image-master.tar.xz.asc: 1 file pushed. 0.1 MB/s (473 bytes in 0.004s)

    C:\Users\bill\n7\manual>adb push commandfile /cache/recovery/ubuntu_command
    commandfile: 1 file pushed. 0.7 MB/s (723 bytes in 0.001s)

    C:\Users\bill\n7\manual>adb reboot recovery





  • Yeah, sounds the same. I posted there too. Thanks.
    I don't know if there's some workaround or alternative way to install.
    I'd just love to get Touch running so I can check it out.



  • @flowbee I don't have any experience installing UT on a Nexus 7 but I hope someone who has it can help you 👍





  • I see that new post about reformating the data partition with twrp. Yeah, I'll try that. It sounds like it may work given that fsck and mount are the error messages I'm seeing. I'm a little unsure how I could have a bad data partition given that other stuff seems to work fine. But, it's something to try... thanks again.



  • Well, using twrp to "repair" (seemed to be e2fsck) the filesystems ran fine, but the UT install still failed in the same way and I saw the same e2fsck errors (as shown in the images posted here). I also tried "adb shell" then running e2fsck -vf on each of the devices (cache, userdata, system) by hand. Again is ran fine, didn't find an errors. But, it didn't fix the issue either.

    I'm not really sure what I'm doing. Perhaps the errors are actually something else (another filesystem?). Or, the issue is more subtle somehow (fstype somehow not right or superblock issue?) I'm not sure what in recovery is running e2fsck and what options it's using. Also, not sure what error 8 really means. Also, my filesystem seems to work fine otherwise, so it just seems odd.

    But, it seems like an interesting line of inquiry, so I'll keep researching it.



  • @flowbee said in Trouble with install on Nexus 7 2013 wifi (flo):

    Well, using twrp to "repair"

    Maybe try to use UT recovery instead of twrp. That way you test with the same system that's used during install. Both twrp and UT recovery allow you to connect with and and run manual commands like e2fsck, mount, etc



  • Thanks for the idea. I'm using "adb shell" while my Nexus is in UT Recover. What I seem to be finding is that the block devices for cache userdata and system are not there. e.g.

    % /etc/fstab
    /dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 rw
    /dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw
    /dev/block/platform/msm_sdcc.1/by-name/system /system ext4 rw

    But...
    % ls /dev/block/
    loop0 loop2 loop4 loop6 ram0 ram10 ram12 ram14 ram2 ram4 ram6 ram8 vold
    loop1 loop3 loop5 loop7 ram1 ram11 ram13 ram15 ram3 ram5 ram7 ram9

    There's no "platform" directory in /dev/block!

    I also found /tmp/recovery.log which seems to be the logfile and it gives more info on the "error 8" from e2fsck I'm getting:

    /sbin/e2fsck: No such file or directory while trying to open /dev/block/platform/msm_sdcc.1/by-name/cache
    Possibly non-existent device?
    E:e2fsck check for device [/dev/block/platform/msm_sdcc.1/by-name/cache] failed with 8

    So yeah, that seems to confirm that /dev/block/platform/msm_sdcc.1/by-name/cache does indeed not exist and thus in the install fails with lots of errors when it tries to e2fsck or mount it.

    But, I have no idea why /dev/block/platform/... doesn't exist or how to restore it.

    Notably, twrp's recovery does have these devices and they seem fine. So, it seems like there's something off with UT's recovery and how it finds/creates devices, at least for my Nexus 7 (maybe it has slightly different hardware somehow?)



  • @flowbee I am pretty sure that the partitions/devices are there just not at these paths, what happens when you do in UT recovery, adb:

    mount /cache 
    mount 
    ls -l /cache 
    

    and in twrp recovery, adb:

    cat /etc/fstab
    mount /cache
    mount
    


  • UT recovery, "adb shell":

    ~ # mount /cache
    mount: mounting /dev/block/platform/msm_sdcc.1/by-name/cache on /cache failed: No such file or directory
    ~ # mount
    rootfs on / type rootfs (rw)
    tmpfs on /dev type tmpfs (rw,nosuid,relatime,mode=755)
    devpts on /dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000)
    proc on /proc type proc (rw,relatime)
    sysfs on /sys type sysfs (rw,relatime)
    tmpfs on /storage type tmpfs (rw,relatime,mode=050,gid=1028)
    tmpfs on /mnt/secure type tmpfs (rw,relatime,mode=700)
    tmpfs on /mnt/fuse type tmpfs (rw,relatime,mode=775,gid=1000)
    ~ # ls -l /cache
    ~ #

    twrp recovery, "adb shell":

    ~ # cat /etc/fstab
    /dev/block/mmcblk0p22 /system ext4 rw 0 0
    /dev/block/mmcblk0p30 /data ext4 rw 0 0
    /dev/block/mmcblk0p23 /cache ext4 rw 0 0
    /usb-otg vfat rw 0 0
    ~ # mount /cache
    mount: mounting /dev/block/mmcblk0p23 on /cache failed: Device or resource busy
    ~ # mount
    rootfs on / type rootfs (rw,seclabel)
    tmpfs on /dev type tmpfs (rw,seclabel,nosuid,relatime,mode=755)
    devpts on /dev/pts type devpts (rw,seclabel,relatime,mode=600)
    proc on /proc type proc (rw,relatime)
    sysfs on /sys type sysfs (rw,seclabel,relatime)
    selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
    tmpfs on /tmp type tmpfs (rw,seclabel,relatime)
    /dev/block/mmcblk0p30 on /data type ext4 (rw,seclabel,relatime,data=ordered)
    /dev/block/mmcblk0p30 on /sdcard type ext4 (rw,seclabel,relatime,data=ordered)
    /dev/block/mmcblk0p23 on /cache type ext4 (rw,seclabel,relatime,data=ordered)
    ~ #



  • Note that on twrp recovery, /dev/block/platform/msm_sdcc.1/by-name/cache is a symlink:

    /dev/block/platform/msm_sdcc.1/by-name/cache -> /dev/block/mmcblk0p23

    On UT recovery, neither /dev/block/platform/msm_sdcc.1/by-name/cache nor /dev/block/mmcblk0p23 exists. You can see above where I did a "ls /dev/block" and just get loop* ram* and vold files on UT Recovery. On twrp, there are many more mmcblk* files as well as a platform/msm_sdcc.1 which seems to mostly be for symlinks that link back to /dev/block/mmcblk* files.

    My impression is that for my Nexus 7 device, the dev/block/mmcblk* files don't get created, not do the symlinks under platform.



  • @flowbee strange . Do you have /dev/mmcblablah... ?

    Edit: And can you pastebin your kernel log? I think you can get it with adb shell dmesg > dmesg.log, ideally the UT rec and the twrp ones

    Edit2: is it this thing https://github.com/ubports/ubuntu-touch/issues/300 all over again? but why?



  • % ls /dev/mmc*
    ls: /dev/mmc*: No such file or directory

    Here's a: adb shell dmesg > dmesg.log

    UT Recovery (exhibiting e2fsck errors): https://pastebin.com/k1ARAK5f

    TWRP Recovery (normal/works for comparison): https://pastebin.com/AnJwjZFe

    Yes, I'd seen: https://github.com/ubports/ubuntu-touch/issues/300 which lead me to install UB 16 to try their fixes, but I didn't get that far with it. You can clearly see people still having the issue at the end though. So, yeah...



  • Yeah, the more I read that 300 issue, the more I'm sure it's the same thing.

    https://askubuntu.com/questions/674179/ubuntu-device-flash-fails-on-nexus-7-2013-android-5-0-2-cant-copy-image-to/675499 says:

    "Nexus 7 "flo" models, made in/after late 2014 and shipped with Android L have a different revision to their eMMC controller/hardware/something. Asus posted a kernel change:"

    There's an image in https://github.com/ubports/ubuntu-touch/issues/300 that's identical to the e2fsk errors I have.

    The trouble is the fixes posted are a bit stale... links no longer work. But, I did get the flo-newkernel-2.zip . And the recovery in that zip does not give the errors! I tried to take it further, and it even seemed to install, but I'm getting stuck in the google logo (as the askubuntu talks about). I'm going to try again tomorrow to follow the steps more exactly. I tried to do it with just fastboot on Windows since my UB 16 VM didn't seem to have a working ubuntu-device-flash. But, I can try harder to get that working if it's needed (not the same as flashboot?... they seem to use both tools, so probably not).

    Anyway, something else to try... I'll try to report the bug or something too. And, if I do get UT running, I'll try to post my steps too.



  • @flowbee said in Trouble with install on Nexus 7 2013 wifi (flo):

    % ls /dev/mmc*
    ls: /dev/mmc*: No such file or directory

    Here's a: adb shell dmesg > dmesg.log

    UT Recovery (exhibiting e2fsck errors): https://pastebin.com/k1ARAK5f

    right, UT has a

    <3>[    2.483093] mmc0: error -22 whilst initialising MMC card
    

    TWRP Recovery (normal/works for comparison): https://pastebin.com/AnJwjZFe

    while twrp has no error and instead detects the partitions:

    <6>[    2.714904]  mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 p29 p30
    

    which is the line I was looking for and the UT version does not have this detection of partitions, just the error. that's definitely a problem and it does sound very much like #300

    But, I did get the flo-newkernel-2.zip . And the recovery in that zip does not give the errors!

    OK, that DEFINITELY sounds like #300 then. Workaround could be to use ubuntu-device-flash command with the --recovery switch (syntax from memory might be called slightly different)

    @UniSuperBox remember good ol #300 plaguing flo? Could this have regressed? Did we do smt with the kernel images?



  • I'm a bit lazy to really read everything in this thread but in my experience, it's always better to install stock android first (I used Nexus Root Toolkit on mine) and then running the UBports installer.
    And if you don't mind losing your data, then selecting Wipe might also help 🙂



  • @kugiigi said in Trouble with install on Nexus 7 2013 wifi (flo):

    I'm a bit lazy to really read everything in this thread but in my experience, it's always better to install stock android first

    after having seen this error:

    <3>[ 2.483093] mmc0: error -22 whilst initialising MMC card

    I am pretty sure that stock Android doesn't make a difference at this point



  • I've got Ubuntu Touch installed and running on my Nexus 7!

    Yesterday after looking more closely at #300, I downloaded flo-newkernel-2.zip from https://github.com/ubports/ubuntu-touch/issues/300#issuecomment-450403133

    After unzipping, from a Windows cmd window I did:
    % fastboot flash boot flo-boot-new.img
    % fastboot flash recovery flo-recovery-new.img'
    then I did the manual install steps from https://devices.ubuntu-touch.io/device/flo, replacing recovery.img with flo-recovery-new.img for from the flash step. I noticed the recovery page no longer had the e2fsck errors. And, I saw the ubuntu logo with the progress bar slowly advancing (seemed to be installing). But, ultimately, it ended up stuck on the google logo screen. I think I reflashed the flo-*-new.img files as well. Close, but no cigar.

    Today, I booted up my Ubuntu 16 VirtualBox VM under Windows, got the usb sharing setup, installed adb and ubuntu-device-flash via https://repo.ubports.com/pool/bionic/main/g/goget-ubuntu-touch/ubuntu-device-flash_0.35+ubports+0~20181221200828.5~1.gbpd7daaa_amd64.deb linked from https://github.com/ubports/ubuntu-touch/issues/300#issuecomment-449490485

    I ran it like so:

    $ sudo ubuntu-device-flash touch --server=https://system-image.ubports.com --device=flo ----recovery-image=flo-recovery-new.img
    2019/07/12 10:03:06 Device is |flo|
    2019/07/12 10:03:07 Flashing version 7 from ubports-touch/16.04/stable channel and server https://system-image.ubports.com to device flo
    2019/07/12 10:03:07 Start pushing /home/bill/.cache/ubuntuimages/ubports-touch/16.04/stable/flo/version-7.tar.xz to device
    2019/07/12 10:03:07 Start pushing /home/bill/.cache/ubuntuimages/pool/keyring-4c4e7ef380ebcfa2c31084efa199138e93bfed8fc58aa3eb06bdf75a78af9b57.tar.xz to device
    2019/07/12 10:03:07 Start pushing /home/bill/.cache/ubuntuimages/gpg/image-signing.tar.xz to device
    2019/07/12 10:03:07 Start pushing /home/bill/.cache/ubuntuimages/gpg/image-master.tar.xz to device
    99.48 KB / 371.72 MB [_____________________________________________________] 0.03 % 492.57 KB/s 12m52s2019/07/12 10:03:07 Done pushing /home/bill/.cache/ubuntuimages/ubports-touch/16.04/stable/flo/version-7.tar.xz to device
    2019/07/12 10:03:07 Done pushing /home/bill/.cache/ubuntuimages/pool/keyring-4c4e7ef380ebcfa2c31084efa199138e93bfed8fc58aa3eb06bdf75a78af9b57.tar.xz to device
    2019/07/12 10:03:07 Done pushing /home/bill/.cache/ubuntuimages/gpg/image-signing.tar.xz to device
    2019/07/12 10:03:07 Done pushing /home/bill/.cache/ubuntuimages/gpg/image-master.tar.xz to device
    61.89 MB / 61.89 MB [============================================================] 100.00 % 7.77 MB/s
    2019/07/12 10:03:15 Start pushing /home/bill/.cache/ubuntuimages/pool/device-1481ee5bb7d4443bbc1506c297bc19aecc0520a305dca7a3ef800c57969ac9f4.tar.xz to device
    371.72 MB / 371.72 MB [=========================================================] 100.00 % 11.28 MB/s
    2019/07/12 10:03:40 Start pushing /home/bill/.cache/ubuntuimages/pool/ubports-420bfa80c833e7736e0197d969b5cd981f18eee1215ad3bfae6d82aab9105f03.tar.xz to device
    2019/07/12 10:03:55 Done pushing /home/bill/.cache/ubuntuimages/pool/device-1481ee5bb7d4443bbc1506c297bc19aecc0520a305dca7a3ef800c57969ac9f4.tar.xz to device
    2019/07/12 10:05:40 Done pushing /home/bill/.cache/ubuntuimages/pool/ubports-420bfa80c833e7736e0197d969b5cd981f18eee1215ad3bfae6d82aab9105f03.tar.xz to device
    2019/07/12 10:05:40 Created ubuntu_command: /home/bill/.cache/ubuntuimages/ubuntu_commands361972522
    2019/07/12 10:05:40 Rebooting into recovery to flash

    And, basically that just worked. Recovery had no errors, I saw the ubuntu logo with the progress bar (takes a few minutes), then it rebooted with Ubuntu Touch working.

    I'm not sure how much what I did yesterday (the fastboot flashes) were important, but I'm mentioning them just in case. That 300 page seems to say you can do the fastboot flash's after as well. But, anyway, for anyone odd Nexus 7 owners like me who happen to see this: it is possible to get this installed. It says 16.04 (OTA-9) in about and seems to be generally working.

    But yeah, it does seem like the bug from that 300 page wasn't actually fixed for the current installer somehow. But, otherwise the fixed imgs in the zip from 300 still works to fix it.

    Thanks everyone for the help with this. I'm excited to be using Ubuntu Touch now!


Log in to reply