Closed Bug 1207568 Opened 4 years ago Closed 4 years ago

Non booting system when using Nexus 5 L blobfree

Categories

(Firefox OS Graveyard :: B2gInstaller, defect)

ARM
Gonk (Firefox OS)
defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: gerard-majax, Assigned: gerard-majax)

References

Details

Attachments

(1 file)

52 bytes, text/x-github-pull-request
daleharvey
: review+
Details | Review
STR:
 0. Grab a Nexus 5 Lollipop user build (B, not Be on TaskCluster)
 1. Flash the blobfree system with the addon

Expected:
 Device boots

Actual:
 Device does not boots
Assignee: nobody → lissyx+mozillians
Flashing full nexus-5-l user build works.
Flashing nexus-5-l user boot partition, device still does not boot.
Flashing nexus-5-l user system partition device boots.
(In reply to Alexandre LISSY :gerard-majax from comment #3)
> Flashing nexus-5-l user system partition device boots.

The only difference I could spot was:
 - recovery-from-boot.p
 - bin/install-recovery.sh

Both are not present on the system partition that boots. But are present on the non booting one.

On a system partition built by the addon, once removed the previous recovery stuff, there is still a 4KB difference:
> sending 'system' (303792 KB)...

When the image ready to flash from nexus-5-l.zip:
> sending 'system' (303796 KB)...
On build system:
> make_ext4fs -s -T -1 -S out/target/product/hammerhead/root/file_contexts -l 1073741824 -a system out/target/product/hammerhead/obj/PACKAGING/systemimage_intermediates/system.img out/target/product/hammerhead/system
> Creating filesystem with parameters:
>   Size: 1073741824
>   Block size: 4096
>   Blocks per group: 32768
>   Inodes per group: 8192
>   Inode size: 256
>   Journal blocks: 4096
>   Label:
>   Blocks: 262144
>   Block groups: 8
>   Reserved block group size: 63
> Created filesystem with 1103/65536 inodes and 79781/262144 blocks

In addon:
> -s -l 1073741824 -a system
> Creating filesystem with parameters:
>   Size: 1073741824
>   Block size: 4096
>   Blocks per group: 32768
>   Inodes per group: 8192
>   Inode size: 256
>   Journal blocks: 4096
>   Label: 
>   Blocks: 262144
>   Block groups: 8
>   Reserved block group size: 63
> Created filesystem with 1104/65536 inodes and 79781/262144 blocks
So this is because we do not push the file_contexts for SELinux. Rebuilding by hand a system image with and without, I do reproduce 100%.
Blocks: aries-l
Attached file B2G Installer PR
Works on Linux, but we may have a problem with the hacked make_ext4fs on Mac ...
Attachment #8664875 - Flags: review?(dale)
Comment on attachment 8664875 [details] [review]
B2G Installer PR

ok that might be failing to build userdata partition
Attachment #8664875 - Flags: review?(dale)
(In reply to Alexandre LISSY :gerard-majax from comment #8)
> Comment on attachment 8664875 [details] [review]
> B2G Installer PR
> 
> ok that might be failing to build userdata partition

When calling make_ext4fs we are passing "-a userdata" but file_contexts seems to define "data" and not "userdata".
It looks like system boots without "-S ..." on userdata partition.
Comment on attachment 8664875 [details] [review]
B2G Installer PR

Successfully flashed a Nexus 5 L from Android to B2G from a Mac !
Attachment #8664875 - Flags: review?(dale)
Vosky, once we and this, it's going to bring us usable blobfree from the addon for Nexus 5 Lollipop :)
Flags: needinfo?(vosky78)
... once we land ...
Comment on attachment 8664875 [details] [review]
B2G Installer PR

I cant test this, no nexus 5 here, however the code looks great and you have tested it so happy to lgtm
Attachment #8664875 - Flags: review?(dale) → review+
Produced a blobfree Nexus 5 Lollipop earlier today, flashed successfully from a Mac.
Produced a blobfree Nexus 4 Kitkat earlier today, flashed successfully from a Mac.
https://github.com/mozilla-b2g/b2g-installer/commit/bd8c0b06c033fe93c1cfb152ee26edc2083f6806
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Flags: needinfo?(contact)
You need to log in before you can comment on or make changes to this bug.