Ubuntu uninstallable on 32GB 3G Nexus 7

Reported by James Brierley on 2012-11-16
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ubuntu-nexus7
High
Chris Van Hoof
ac100-tarball-installer (Ubuntu)
High
Oliver Grawert
Raring
High
Oliver Grawert

Bug Description

Description: Nexus7 variants without 3G support map their user data partition (UDA) to mmcblk0p9, where variants with 3G support map UDA to mmcblk0p10

=======================================================================================
Since opening my new Nexus 7 this morning I have been trying without success to install Ubuntu. I have tried both the 32GB and 16GB images with the same result.

I have been just as unsuccessful in taking a picture of the error messages that I receive that isn't blurry and unreadable, so I will do my best to copy them out:

NTFS signature is missing.
Failed to mount /dev/mmcblk0p9: Invalid argument
The device '/dev/mmcblk0p9' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way round?
mount: mounting /dev/mmcblk0p9 on /root failed: Invalid argument
mount: mounting /dev/mmcblk0p9 on /root failed: Invalid argument
mount: mounting /dev on /root/dev failed: No such file or directory
mount: mounting /sys on /root/sys failed: No such file or directory
mount: mounting /proc on /root/proc failed: No such file or directory
Target filesystem doesn't have required /sbin/init.
No init found. Try passing init= bootarg.

I am then dropped at an (of course unusable) BusyBox shell.

I bought my N7 specifically to help the developers test Ubuntu on tablets and am disappointed that I am so far unable to install. Is this a bug, or have I overlooked something?

As a side note, the Nexus 7 installer displayed strange behavior such as failing to verify the checksum on the 16GB image (despite me verifying the images as undamaged with sha256sum) and sticking on erasing the boot partition. Both problems required a reboot.

James Brierley (jmb8710) wrote :

I missed what is presumably the key part of the error: directly before the beginning of what I copied there, I get:

EXT3-FS (mmcblk0p9) error: couldn't mount because of unsupported features (40)
EXT2-FS (mmcblk0py) error: couldn't mount because of unsupported features (40)

(I know this is a no-go when it comes to bug reports, but I'm going to break the rules and say I need a quick response, because under UK consumer protection laws I only have a limited time to return the tablet for a refund and abdicate as an amateur tester.)

Chris Van Hoof (vanhoof) wrote :

Hi James -- When did you download these images, was it today? The kernel errors you are seeing in comment #1 are expected as the rootfs is ext4, however ext2 and 3 are tested for during boot.

Please ensure you're on the latest version of the ubuntu-nexus7-installer (1.6) and please delete the ~/Downloads/UbuntuNexus7 directory and download the images appropriate for your device. I have a 32gb model here which has been flashed quite a few times :)

Lastly, feel free to ping me (vanhoof) on freenode IRC if you would like a hand with anything.

--chris

Changed in ubuntu-nexus7:
importance: Undecided → High
status: New → In Progress
assignee: nobody → Chris Van Hoof (vanhoof)
James Brierley (jmb8710) wrote :

Hi Chris, thank you very much for your reply. It was today that I downloaded the images, and in fact I deleted everything in the relevant directory and re-downloaded several times. I checked for updates from the PPA beforehand and have version 1.6~q of the installer.

Has anyone else tried installing on the 32GB+3G version of the N7? As it only came out on Tuesday, possibly not. I know it's substantially the same hardware, but could that be an issue?

I have put Android back on the device for now but I will have another go at putting Ubuntu on it later.

Chris Van Hoof (vanhoof) wrote :

Ah the 32GB variants we have do not have 3G. Since you're back in Android, would you mind going to Settings -> Developer Options ... enable them, then enable usb debugging, and connect to a machine with adb installed and paste the output of:

$ adb shell df /data

For reference, here is my 32G w/o 3G:

$ adb shell df /data
Filesystem Size Used Free Blksize
/data 27G 8G 18G 4096

Chris Van Hoof (vanhoof) wrote :

Actually a `adb shell df` in its entirety would be nice as well

James Brierley (jmb8710) wrote :

Android is nagging me to install an update, so I'll do that and then do as you suggested, so watch this space.

I really do appreciate your help.

James Brierley (jmb8710) wrote :

Here you are then, Chris:

[Fri Nov 16 18:39:37] james@blackbull:~$ adb shell df
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
Filesystem Size Used Free Blksize
/dev 487M 32K 487M 4096
/mnt/asec 487M 0K 487M 4096
/mnt/obb 487M 0K 487M 4096
/system 639M 434M 204M 4096
/cache 436M 87M 348M 4096
/data 5G 200M 5G 4096
/storage/sdcard0 5G 200M 5G 4096

Chris Van Hoof (vanhoof) wrote :

James -- That output is a bit odd, showing that you only have 5GB partition space on /data which is what I would expect to see on a 8GB variant of the Nexus7.

Once you're done with the update, would you mind also sending some fastboot output over?

$ adb reboot bootloader

... while you're waiting in the bootloader, from your hostmachine connected via usb:

$ sudo fastboot getvar all

--chris

James Brierley (jmb8710) wrote :

Wait - sorry about this Chris, I've just realised that I've installed the 'nakasi' rather than 'nakasisig' Android firmware. I am not sure if that matters in terms of partition size, given that there is only one nakasi firmware for the 8/16/32GB wi-fi only versions, but I will install the correct version.

In the meantime, here is the output you requested.

(bootloader) version-bootloader: 4.13
(bootloader) version-baseband: N/A
(bootloader) version-hardware: ER3
(bootloader) version-cdma: N/A
(bootloader) variant: grouper
(bootloader) serialno: 015d2a50443ffe10
(bootloader) product: grouper
(bootloader) secure: no
(bootloader) unlocked: yes
(bootloader) uart-on: no
(bootloader) partition-size:bootloader: 0x0000000000600000
(bootloader) partition-type:bootloader: emmc
(bootloader) partition-size:recovery: 0x0000000000c00000
(bootloader) partition-type:recovery: emmc
(bootloader) partition-size:boot: 0x0000000000800000
(bootloader) partition-type:boot: emmc
(bootloader) partition-size:system: 0x0000000028a00000
(bootloader) partition-type:system: ext4
(bootloader) partition-size:cache: 0x000000001bb00000
(bootloader) partition-type:cache: ext4
(bootloader) partition-size:userdata: 0x0000000180b00000
(bootloader) partition-type:userdata: ext4
all:
finished. total time: 0.740s

Chris Van Hoof (vanhoof) wrote :

Hi James -- That is quite odd, your userdata partition is showing as 0x0000000180b00000, converted to decimal, 6453985280 bytes, or roughly 6gb.

This value matches the results I see on a 8gb Nexus7, where my 32GB yields 0x0000000700f00000, converted to decimal, 30080499712 bytes, or roughly 28gb

Are you certain this is a 32GB model? Let me know if your results change after installing the updated image you're trying now.

--chris

James Brierley (jmb8710) wrote :

Dear Chris,

The nakasisig Android fails to install, I'm reloading the plain nakasi version now to check that I haven't bricked my N7.

Unless Google has messed up in a major way, this is definitely the 32GB 3G model - I quote my order receipt:

Shipping Status Quantity Item Price
Delivered in 3-5 business days 1 Nexus 7 (32GB, WiFi + Mobile data, Unlocked) £239.00

James Brierley (jmb8710) wrote :

Sorry for the long pause Chris, I am in the midst of the agonising wait for the tablet to be reflashed. However, I did note that:

Creating filesystem with parameters:
    Size: 6453985280

was output.

I am putting two and two together and, considering that the radio image cannot be flashed and that the formatted partition is still shown to be 6GB, I have come to the conclusion that Google has sent me the wrong tablet. If this turns out to be the case, I apologise profusely for wasting your time.

Chris Van Hoof (vanhoof) wrote :

Not a problem James -- Keep me posted, as far as I know you're the first to give the 32GB+3G a whirl, so even if they did send over the wrong device I'd still like to know how things work out for you!

If you're curious, you can try the 8gb image, which if our theory is correct here should flash and boot without an issue.

$ adb shell getprop

... while booted in android might give you a bit more insight as to what is going on, for instance on my 32gb wlan only version:

<snip>
[ro.carrier]: [wifi-only]
</snip>

--chris

James Brierley (jmb8710) wrote :

Dear Chris,

That seals the deal. I get wifi-only as well.

It is official. Google's warehouse staff are completely incompetent. :-)

I am so sorry about this. I will get on to Google first thing in the morning and tell them to get their act together.

What a farce!

Changed in ubuntu-nexus7:
status: In Progress → Invalid
Chris Van Hoof (vanhoof) wrote :

Thanks for the update James! At least we got to the bottom of this :)

Dan J (unkeum) wrote :

I received my Nexus 7 32Gb+3G on Wednesday 14th as per James above.

Thursday did the same as James and got the same results. I did not try the 8Gb or 16Gb images, just the 32Gb.

I do believe my Nexus is correct as ordered, but not sure how to check that. Just used an app called OS monitor which states I have /data area Available of 28,298,652K.

I am extremely interested in getting Ubuntu onto my Nexus 7 and hopefully can follow what you suggest is the next step. I will tell you I am perhaps not as knowledgeable as you guys, so I will need some considerable hand holding in this venture.

Dan

James Brierley (jmb8710) wrote :

Dan, you can try what Chris advised me to do: reinstall Android, enable USB debugging, and poke around with adb as I did above. adb can be installed on an Ubuntu machine with apt-get install android-tools-adb.

Your /data partition looks the right size, if I've got my kilo/mega/giga conversion right in my head.

Dan J (unkeum) wrote :

Sorry for delay in getting back to you James.
I will get there soon, as per your suggestion and then report what I find.

Dan J (unkeum) wrote :

Here is a copy of my terminal output.

doudou@i7:~$ sudo fastboot devices
[sudo] password for doudou:
015d3c26353c041c fastboot
doudou@i7:~$ sudo fastboot oem unlock
...
(bootloader) Bootloader is already unlocked
OKAY [ 0.020s]
finished. total time: 0.020s
doudou@i7:~$ sudo fastboot reboot-bootloader
rebooting into bootloader...
OKAY [ 0.020s]
finished. total time: 0.020s
doudou@i7:~$ adb shell df /data
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
error: device not found
doudou@i7:~$ adb shell df
error: device not found
doudou@i7:~$ sudo fastboot getvar all
< waiting for device >
^Cdoudou@i7:~$ adb shell getprop
error: device not found
doudou@i7:~$

The N7 is in the Busybox shell just as your first comment above. After about 10 minutes the screen just blanks on the N7.

I am running Ubuntu on my workstation 12.10, if that helps.

James Brierley (jmb8710) wrote :

Dan, the N7 needs to be booted into Android with USB debugging enabled for adb to work. Reinstall Android as per the instructions on the wiki first.

Dan J (unkeum) wrote :

Just re-installed Android and all is okay. Sorry, but don't know how to boot into debugging mode.

Dan J (unkeum) wrote :

Okay adb works and here is the output.

doudou@i7:~/Downloads/nakasig-jop40c$ adb shell df
Filesystem Size Used Free Blksize
/dev 487M 32K 487M 4096
/mnt/secure 487M 0K 487M 4096
/mnt/asec 487M 0K 487M 4096
/mnt/obb 487M 0K 487M 4096
/system 639M 464M 174M 4096
/cache 436M 7M 428M 4096
/data 27G 581M 26G 4096
/mnt/shell/emulated 27G 581M 26G 4096

Dan J (unkeum) wrote :

Output as per Chris request.

doudou@i7:~/Downloads/nakasig-jop40c$ adb reboot bootloader
doudou@i7:~/Downloads/nakasig-jop40c$ sudo fastboot getvar all
[sudo] password for doudou:
(bootloader) version-bootloader: 4.13
(bootloader) version-baseband: 1231_0.10.0_1021
(bootloader) version-hardware: PR
(bootloader) version-cdma: N/A
(bootloader) variant: tilapia
(bootloader) serialno: 015d3c26353c041c
(bootloader) product: tilapia
(bootloader) secure: no
(bootloader) unlocked: yes
(bootloader) uart-on: no
(bootloader) partition-size:bootloader: 0x0000000000600000
(bootloader) partition-type:bootloader: emmc
(bootloader) partition-size:recovery: 0x0000000000c00000
(bootloader) partition-type:recovery: emmc
(bootloader) partition-size:boot: 0x0000000000800000
(bootloader) partition-type:boot: emmc
(bootloader) partition-size:system: 0x0000000028a00000
(bootloader) partition-type:system: ext4
(bootloader) partition-size:cache: 0x000000001bb00000
(bootloader) partition-type:cache: ext4
(bootloader) partition-size:userdata: 0x00000006fff00000
(bootloader) partition-type:userdata: ext4
all:
finished. total time: 0.974s

Oliver Grawert (ogra) wrote :

ogra@chromebook:~$ printf "%d\n" 0x00000006fff00000
30063722496

obviously a 30G partition

Oliver Grawert (ogra) wrote :

could you try "adb shell mount" as well and attach the output ?
i have a suspicion that the partition layout might be different (for the 8 and 16G models it was safe to assume the userdata partition is on mmcblk0p9, might be that this is different on some 32G models)

Dan J (unkeum) wrote :

Hi Oliver, output as requested.

root@i7:/home/doudou/Downloads/nakasig-jop40c# adb shell mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/secure tmpfs rw,relatime,mode=700 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/platform/sdhci-tegra.3/by-name/APP /system ext4 ro,relatime,user_xattr,acl,barrier=1,data=ordered 0 0
/dev/block/platform/sdhci-tegra.3/by-name/CAC /cache ext4 rw,nosuid,nodev,noatime,errors=panic,user_xattr,acl,barrier=1,nomblk_io_submit,data=ordered,discard 0 0
/dev/block/platform/sdhci-tegra.3/by-name/UDA /data ext4 rw,nosuid,nodev,noatime,errors=panic,user_xattr,acl,barrier=1,nomblk_io_submit,data=ordered,discard 0 0
/dev/fuse /mnt/shell/emulated fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0

Dan J (unkeum) wrote :

Also did this.

shell@android:/ $ ls
\acct
cache
config
d
data
default.prop
dev
etc
factory
fstab.grouper
init
init.goldfish.rc
init.grouper.rc
init.grouper.usb.rc
init.rc
init.trace.rc
init.usb.rc
mnt
proc
root
sbin
sdcard
storage
sys
system
ueventd.goldfish.rc
ueventd.grouper.rc
ueventd.rc
vendor
shell@android:/ $ exit

Chris Van Hoof (vanhoof) wrote :

Also to see the mapping of name to device can you send over:

$ adb shell ls -l /dev/block/platform/sdhci-tegra.3/by-name/

Just to compare, looking at my 32GB device (upgraded to 4.2 just to confirm):

vanhoof@brooklynzoo:~$ echo $(((0x0000000700f00000) >> 20))
28687

... versus your output:

vanhoof@brooklynzoo:~$ echo $(((0x00000006fff00000) >> 20))
28671

... still allows us to fit within the size limit of the rootfs.img which was built at 27GB

--chris

Dan J (unkeum) wrote :

adb shell ls -l /dev/block/platform/sdhci-tegra.3/by-name/
lrwxrwxrwx root root 2012-11-20 13:48 APP -> /dev/block/mmcblk0p3
lrwxrwxrwx root root 2012-11-20 13:48 CAC -> /dev/block/mmcblk0p5
lrwxrwxrwx root root 2012-11-20 13:48 LNX -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 2012-11-20 13:48 MDA -> /dev/block/mmcblk0p9
lrwxrwxrwx root root 2012-11-20 13:48 MSC -> /dev/block/mmcblk0p6
lrwxrwxrwx root root 2012-11-20 13:48 PER -> /dev/block/mmcblk0p8
lrwxrwxrwx root root 2012-11-20 13:48 RDO -> /dev/block/mmcblk0p4
lrwxrwxrwx root root 2012-11-20 13:48 SOS -> /dev/block/mmcblk0p1
lrwxrwxrwx root root 2012-11-20 13:48 UDA -> /dev/block/mmcblk0p10
lrwxrwxrwx root root 2012-11-20 13:48 USP -> /dev/block/mmcblk0p7

Dan

Chris Van Hoof (vanhoof) wrote :

Thanks Dan -- What this shows is that user data resides in partition 10, and the installation routine (after flashing) assumes user data (UDA) is on partition 9, where it resides on devices without 3G support.

I've added a task to track this bug against the appropriate source package.

James -- Once you receive your new device this will also impact you as well.

--chris

Changed in ac100-tarball-installer (Ubuntu):
status: New → Confirmed
importance: Undecided → High
assignee: nobody → Oliver Grawert (ogra)
Changed in ubuntu-nexus7:
status: Invalid → Confirmed
Chris Van Hoof (vanhoof) on 2012-11-20
description: updated
Dan J (unkeum) wrote :

Thanks Chris.

I guess I have to wait for an update on this?

James Brierley (jmb8710) wrote :

Chris and Dan - thank you very much for your work. Is the plan to add a separate image for 32GB wifi-only and 32GB+3G?

Dan J (unkeum) wrote :

I sure hope a new image will be available for the 32GB+3G as I bought the Nexus 7 to install Linux on it.

Oliver Grawert (ogra) wrote :

yes, we are working on it, give us some time ...

..."I bought my N7 specifically to help the developers test Ubuntu on tablets and am disappointed that I am so far unable to install. Is this a bug, or have I overlooked something?"...

note that working your issue was *IMMENSELY* helpful to us already, thanks to you 32GB+3G users will get a working install in future images ...
we wouldnt have identified the issue ourselves and your way of providing info helped us a lot to identify the issue quickly ... dont underestimate the amount of help you already provided ;)

i am working on a fix for raring right now and chris is already on it for the quantal images, you should be able to install soon ...

Dan J (unkeum) wrote :

Thanks Oliver, nice to be re-assured.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ac100-tarball-installer - 0.35

---------------
ac100-tarball-installer (0.35) raring; urgency=low

  * drop the stripping code for nexus7 tarballs completely
  * add detection of the largest partition, make sure this is used for /root
    and on the kernel cmdline to enable nexus7 32G+3G models (LP: #1079729)
  * improve uuid detection
 -- Oliver Grawert <email address hidden> Thu, 22 Nov 2012 14:11:22 +0100

Changed in ac100-tarball-installer (Ubuntu Raring):
status: Confirmed → Fix Released
Oliver Grawert (ogra) wrote :

once there is a 20121123 directory (should show up around 15:30 UTC tomorrow) at http://cdimage.ubuntu.com/daily-preinstalled you can try one of the experimental raring images the following manual way:

grab both files (img.gz and .bootimg)
gunzip the img.gz file

attach your device in flash mode and run the following four fastboot commands:

sudo fastboot erase boot
sudo fastboot erase userdata
sudo fastboot flash boot /path/to/downloaded/*.bootimg
sudo fastboot flash userdata /path/to/unzipped/*.img

and then to reboot:
sudo fastboot reboot

note that the images arent ready for general use yet, but you should get through to the graphical configuration if the fix works

Dan J (unkeum) wrote :

Great work Oliver, thanks.

Dan J (unkeum) wrote :

Okay done as you suggested Oliver.

Unfortunately it's stuck in an endless loop going through the Google start with the key showing.
Onto 5 lines of text, which quickly change to 2 lines of text and then restarts.

On the 2 lines of text I see that it says; line 252 not found.
Next line says something about rebooting.

Been through the process twice but same results. Hope this helps.

Oliver Grawert (ogra) wrote :

eek, thanks a lot !
even though i added the code to execute abootimg to update the partition info in the commandline for booting, i didnt include the abotimg binary in the initrd, so the update fails. fix is in the works ...

Changed in ac100-tarball-installer (Ubuntu Raring):
status: Fix Released → In Progress
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ac100-tarball-installer - 0.36

---------------
ac100-tarball-installer (0.36) raring; urgency=low

  * actually include abootimg in the initramfs if we want to use it
    (LP: #1079729)
  * add commented code for UUID generation for later use
 -- Oliver Grawert <email address hidden> Fri, 23 Nov 2012 21:43:42 +0100

Changed in ac100-tarball-installer (Ubuntu Raring):
status: In Progress → Fix Released
Dan J (unkeum) wrote :

It's slow to start and complained about not being a modem. However it has continued loading and now I am at the point of trying to input text at the 'who are you' screen.

It will not bring up an on-screen keyboard.

The touch screen is working to allow me to get to this screen. The background image is just a series of coloured lines and there are 6 icons at the top right of the screen. One of which is the keyboard, but doesn't respond to any 'touching'.

Hope this helps.

Update.....After fiddling with the icons at top of screen I suddenly managed to get an on-screen keyboard, which is very nice.
Currently it's going through installing and applying changes.

Dan J (unkeum) wrote :

2nd Update.

The main screen has loaded, but the loading was slow.
The left side and top of the screen is just a pattern, no icons.
Just touching areas does bring up windows, hit and miss what you are getting though.
Everything is small so trying to navigate is difficult.
Tried using a stylus but it does not respond to that.
When a window opens it is very clear and all appears in the right places.
Tried a re-boot but the top and right icons still just a pattern with NO icons showing.
Loading is much faster on re-boot.

Hope the above helps.

Oliver Grawert (ogra) wrote :

wonderful, thanks for testing, the other bits you are seeing are other bugs (feel free to file them), happy to see that the basics of the installation work on the 32G model now

Chris Van Hoof (vanhoof) wrote :

Marking this task as Fix Released as the install procedure on 32GB+3G has been validated in Raring

Changed in ubuntu-nexus7:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers