yashsingh1/xdaforums huggingface dataset:
[Pixel C Android Development] followmsi:
No, it's not part of any Update.zip file.

On pure Android devices, without the Chromium part, you can flash bootloader via Update.zip files.

Most probably this will work with Chromium bootloader too.

I did not test until now .. and there is still a quite high risk to fail and to kill your device.

As I don't want to take the risk of broken device(s), we should use the recommended way via fastboot.

Bootloader changes 1 - 3 times a year .. not every month.

Maybe there is a way .. maybe also a way to remove the 30 seconds waiting time :)
[Pixel C Android Development] followmsi:
Kernel time :)

We are going from android-7.1.1_r0.16 to android-7.1.1_r0.23

Change-log: https://android.googlesource.com/kernel/tegra/+log/10e2dd9d254ebe71c0a08baa24bd7fe5b5e72f13

10e2dd9 BACKPORT: aio: mark AIO pseudo-fs noexec by Jann Horn · 3 months ago android-tegra-dragon-3.18-nougat-mr1.1 android-7.1.1_r0.23

17ad871 net: wireless: bcmdhd: fix use-after-free in _dhd_pno_get_for_batch() by Greg Hackmann · 3 months ago

4abe057 fs/proc/array.c: fix use after free of group_leader by Adrian Salido · 10 weeks ago

ff0f089 Merge branch 'android-chromeos-dragon-3.18-nyc' into android-chromeos-dragon-3.18-nyc-mr1 by Adrian Salido · 10 weeks ago

21e115e Merge "Android: binder: check set_context_mgr permission on time." into android-chromeos-dragon-3.18 by Adrian Salido · 3 months ago android-7.1.1_r0.16

BETA 7.1.2

Update.ZIP_PixelC_Ryu_kernel_tegra-3.18_v170207_NPG05D_followmsi.zip

PixelC_Ryu_kernel_tegra-3.18_v170207_NPG05D_followmsi_boot.img

7.1.1

Update.ZIP_PixelC_Ryu_kernel_tegra-3.18_v170207_N4F26O_followmsi.zip

PixelC_Ryu_kernel_tegra-3.18_v170207_N4F26O_followmsi_boot.img

Installation:

1. Reboot into TWRP -> TWRP_dragon_3.0.2-23.img

2. Install Update.ZIP_PixelC_Ryu_kernel_tegra-3.18_v170207_xxxxxx_followmsi.zip

3. Install SR3-SuperSU-v2.79-SR3-20170114223742.zip

4. Reboot into system

And again .. due to supersu installation it will boot twice - no panic, it´s normal !

Enjoy ...
[Pixel C Android Development] Alxoom33:
But, when I manually boot into the bootloader it gives the new bootloader Id, I did not fastboot flash.

---------- Post added at 12:15 AM ---------- Previous post was at 12:10 AM ----------

Edit, I did do a FlashFire flash of the 7.1.2 factory image, but went back to 7.1.1 when I tried to reformat the file system to f2s encryption and I bootlooped. Wound up restoring my 7.1.1 Nandroid. Do you think the new bootloader could have stuck?
[Pixel C Android Development] followmsi:
Yes, could be still the new beta bootloader.

Anyway .. should not hurt if you run 7.1.2 bootloader on 7.1.1 Android.

Cheers
[Pixel C Android Development] Alxoom33:
Yes, but even better since I'm now on Android 7.1.2 beta ;)

Curious, there is no option this time to convert the file system to f2s encryption.
[Pixel C Android Development] followmsi:
Sorry, did not test F2FS on Pixel C at all .. some time ago on another device.

What partitions did you change to f2fs ?

system as well ?

Or just data and cache ?

Not sure if the Pixel C kernel has included f2fs .. maybe via FUSE.

No boot problems .. etc. ?

Did you change dragon.fstab as well ?

As you can see .. I have more questions as answers :)

EDIT:

It seems F2FS does not work via FUSE .. it needs to be compiled into the kernel.

The BETA 7.1.2 does include the "make_f2fs" binary already .. f2fs utils. (/system/bin/make_f2fs )

I have made a test kernel and included F2FS and NTFS filesystems.

Just for testing .. not sure if it will work as expected.

The boot.img is made for the BETA 7.1.2 only.

Update.ZIP_PixelC_Ryu_kernel_tegra-3.18_v170208_NPG05D_followmsi.zip

PixelC_Ryu_kernel_tegra-3.18_v170208_NPG05D_followmsi_boot.img

The ramdisk is still default NPG05D, just the binary has been changed.

For this reason the ramdisk will still try to mount the partitions using ext4 filesystem. (fstab.dragon is unchanged)

Within my next Pixel C "play time slot" I will do more testing .. maybe :)
[Pixel C Android Development] followmsi:
Just booted the test kernel ..

dragon:/ $ su

dragon:/ # cat /proc/filesystems

nodev sysfs

nodev rootfs

nodev tmpfs

nodev bdev

nodev proc

nodev cgroup

nodev cpuset

nodev debugfs

nodev securityfs

nodev sockfs

nodev pipefs

nodev ramfs

nodev configfs

nodev devpts

ext3

ext2

ext4

squashfs

vfat

iso9660

hfsplus

nodev ecryptfs

nodev sdcardfs

ntfs

fuseblk

nodev fuse

nodev fusectl

udf

f2fs

nodev pstore

nodev selinuxfs

nodev mtd_inodefs

nodev functionfs

dragon:/ #

Now we have NTFS and F2FS as available filesystems ..

Cheers
[Pixel C Android Development] Alxoom33:
I believe it was just data and cache. It was an automated conversion from Developers Settings. Bootlooped until restored Nandroid and flashed your new Zips.
[Pixel C Android Development] followmsi:
With the new kernel you can boot now ?

Still have your F2FS data/cache partition now ?

Pls post output of "mount" command.

Thx
[Pixel C Android Development] nigelhealy:
I tried the 7.1.2 beta I just recovery flashed tegra kernel zip and the system-vendor zip and i could not boot, it went back to recovery. I did though successfully use the current 7.1.1

Is this because I need to download the full 7.1.2 ROM and flash the bootloader???
[Pixel C Android Development] followmsi:
Pls try with new beta bootloader again.
[Pixel C Android Development] Deltalfa:
Fresh install of 7.1.2 but after flashing kernel not boot
[Pixel C Android Development] followmsi:
Had no problems at all .. same like every month release.

Maybe your download is corrupted.

Which kernel did you install .. v170207 or v170208 ?

Via fastboot or via Update.zip ?

Did you install SuperSU.zip afterwards ?

We need more information ...
[Pixel C Android Development] revengers:
It looks like corruption may be pretty common; is there a way for you to hash the original files and post the checksums for us to verify. Thank you very much!:cool:
[Pixel C Android Development] followmsi:
For the BETA 7.1.2 boot.img ... checksum.sha256

9050b12e03e9d3cdac687dcc81404245a88eaeee5e73f5fdf244f4c9f067ca8b *PixelC_Ryu_kernel_tegra-3.18_v170207_NPG05D_followmsi_boot.img
66fd80f255583b7e75b7885ca898628402caf192334c49d886e343215457528b *PixelC_Ryu_kernel_tegra-3.18_v170208_NPG05D_followmsi_boot.img
e9c5d9a0822f5e439e42277584d1a4a89092d58f9c5af6ed3ee9130bb5a6d0ed *Update.ZIP_PixelC_Ryu_kernel_tegra-3.18_v170207_NPG05D_followmsi.zip
ccdaa37b986e374fff3ce67c9ca7b4350e22eed2d7663402609689c4a642bae6 *Update.ZIP_PixelC_Ryu_kernel_tegra-3.18_v170208_NPG05D_followmsi.zip
[Pixel C Android Development] nigelhealy:
i reckon you need to change bootloader to 7.1.2

Mine would not boot but as its beta I just went to latest 7.1.1 and sit it out.
[Pixel C Android Development] followmsi:
The new bootloader for the beta is located in the onedrive folder too.

You may have a try ;)

Yes, you need a cable and latest fastboot binary.
[Pixel C Android Development] Alxoom33:
Did you flash the su zip after kernel?
[Pixel C Android Development] followmsi:
For the F2FS stuff I have made a new kernel .. e.g. boot.img.

If you want to play with F2FS you should install this kernel ...

Update.ZIP_PixelC_Ryu_kernel_tegra-3.18_v170210_NPG05D_followmsi.zip

PixelC_Ryu_kernel_tegra-3.18_v170210_NPG05D_followmsi_boot.img

Cheers

EDIT:

To finish the F2FS topic entirely I have made a customized ramdisk for F2FS based /cache and /data partitions ..

Update.ZIP_PixelC_Ryu_kernel_tegra-3.18_v170210_NPG05D_F2FS_followmsi.zip

PixelC_Ryu_kernel_tegra-3.18_v170210_NPG05D_followmsi_F2FS_boot.img

The ramdisk modifications will mount your /cache and /data partition as F2FS first.

Pls don't forget SuperSU installation afterwards.

The "F2FS" topic is closed now :)
[Pixel C Android Development] revengers:
Fantastic,

No more 'corrupt file' excuses:p

Thanks a bunch!:cool:
[Pixel C Android Development] Alxoom33:
Working great with the updated TWRP. Thanks. See my post in the TWRP thread.
[Pixel C Android Development] Alxoom33:
Can F2fs topic be reopened. It's pretty interesting.
[Pixel C Android Development] nigelhealy:
F2FS in my experience helps slower devices but I cannot perceive a performance boost on faster devices, such as I would expect on the Pixel C. The example from the past is my Nexus 9 crawled, and when I put f2fs on it, it shined, similar experience with Nexus 7, Nexus 4. I experimented on faster devices like OnePlus and I could not detect an improvement. So I suspect any performance gain on Pixel C will be placebo.

The most noticeable improvement I experienced is counter logical. f2fs improves writes, worsens reads. /cache is heavy reading after it is populated, and yet trying /cache ext4 vs f2fs offered marked improvements. /data is heavier write but it didn't seem to improve the situation. So there's something counter obvious going on.

F2FS does come at some risk. The main one is that you need custom kernels and ROMs to support f2fs and the mounting, and if you make an error such as forget to flash the kernel after the ROM the booting will often (always in my experience) decide to reformat the partition. Now, reformatting say /cache is not damaging, but reformatting /data and /internal data would be quite an annoyance. Just be wary, is all I'm saying.

So if you wanted to experiment, give a try with /cache first.

In my case, my Pixel C is my productivity device for moving around lighter and I often spend days or weeks on the move with just phone and Pixel C, I don't have a laggy performance problem to tune improvement, apart from Wifi performance which is not filesystem related, and I would not want the accidental risk of total data loss to occur, but others may be using them just as media consumption, games, etc and so knock yourself out!

I am about to move nearly non-stop for 3 weeks and my Pixel C is my main device, but guess what, my backup tablet is the Nexus 7, and I put it on with custom ROM and kernel which supports f2fs and I put it on f2fs and the odd bit of stuttering in a few apps vanishes.
[Pixel C Android Development] Alxoom33:
Thanks, I converted both Cache and Data to F2fs and as you predicted it did reformat my Data partition, even with the F2fs kernel that I had previously flashed. Not a problem as my System Partition was nearly empty due to ransomware that I needed to remove a week earlier (Osiris).

Performance appears to be faster, especially on XDA and web browsing. May be due to faster write speeds. Thank you for your advice.
[Pixel C Android Development] followmsi:
Below you can see a F2FS fstab.dragon file .. including /system as F2FS

# Android fstab file.
#<src>	<mnt_point>	<type>	<mnt_flags and options>	<fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK

/dev/block/platform/700b0600.sdhci/by-name/APP	/system	f2fs	ro,inline_xattr	wait,verify
/dev/block/platform/700b0600.sdhci/by-name/VNR	/vendor	ext4	ro,barrier=1	wait,verify
/dev/block/platform/700b0600.sdhci/by-name/CAC	/cache	f2fs	rw,discard,nosuid,nodev,noatime,nodiratime,inline_xattr	wait,check
/dev/block/platform/700b0600.sdhci/by-name/UDA	/data	f2fs	rw,discard,nosuid,nodev,noatime,nodiratime,inline_xattr	wait,check,encryptable=/dev/block/platform/700b0600.sdhci/by-name/MD1
/dev/block/platform/700b0600.sdhci/by-name/KERN-A	/boot	emmc	defaults	defaults
/dev/block/platform/700b0600.sdhci/by-name/recovery	/recovery	emmc	defaults	defaults
/dev/block/platform/700b0600.sdhci/by-name/MSC	/misc	emmc	defaults	defaults
/dev/block/platform/700b0600.sdhci/by-name/PST	/persistent	emmc	defaults	defaults
/dev/block/zram0	none	swap	defaults	zramsize=533413200,notrim
/devices/70098000.usb/70090000.usb-host/usb*	auto	auto	defaults	voldmanaged=usb:auto

/system partition will be mounted ro -> read-only

As we don't write to /system I do not see any benefit of using F2FS on /system partition.

And as discussed before .. our Pixel C is lightning fast, we do not need any file-system changes at all :)

Cheers
[Pixel C Android Development] ericp2:
Matching release number and pure nexus ROM

Hi [MENTION=5480152]followmsi[/MENTION],

thank you for your work on kernel and especially f2fs. i've had f2fs on all my devices for a while now, and i want to do the same for my pixel C. could you please just confirm something: i am currently running pure Nexus ROM, which runs really nicely, and want to keep it. To install new kernel, i see i have to install as well the matching vendor file NPG05D, and also updated TWRP. does it matter at all which android is running? ie, can i just install:

1. bootloader-dragon-google_smaug.7900.50.0 (i already have that one)

2. Update.ZIP_PixelC_Ryu_kernel_tegra-3.1.8_v170210_NPG05D_F2FS_followmsi.zip

3. install Update.ZIP_TWRP_dragon_3.0.3-3.zip

4. reinstall superSU

5. extract and flash vendor NPG05D from corresponding system-vendor.zip (unless you have an update_vendor.zip standalone?)

then of course, reformat data/cache to f2fs

would that work?
[Pixel C Android Development] followmsi:
You can update the TWRP version at anytime .. not related to the ROM or Kernel you are using.

The build number (NPG05D) naming for the followmsi kernel (boot.img) is not related to the vendor partition - it's the RAMDISK of the release.

As I know the current PureNexus ROM still wants to have January vendor.img - not really relevant here.

If you want to run f2fs on PureNexus ROM you need to modify the RAMDISK of the current PureNexus boot.img accordingly.

Pls see thread above for f2fs fstab.

0. Install TWRP 3.0.3-3 :)

1. keep your bootloader - not relevant here ..

2. keep your january vendor.img - not relevant here.

3. extract ramdisk of purenexus boot.img

4. modify fstab to f2fs

5. repack boot.img -> reapck modified purenexus ramdisk with f2fs supported kernel binary (image.fit) - you can take my image.fit (v170210)

6. flash your new boot.img ( .. and do not boot into system in between and boot directly into recovery )

7. install supersu.zip via TWRP.

Enjoy :)

EDIT:

As I'm in a good mood today .. :)

Update.ZIP_PixelC_Ryu_kernel-tegra-3.18_v170210_PureNexus-21-01-17_F2FS_followmsi.zip

PixelC_Ryu_kernel-tegra-3.18_v170210_PureNexus-21-01-17_F2FS_followmsi_boot.img

Only /cache and /data are modified for f2fs .. /system is still ext4.

This is a one time task - for the next PureNexus release you have to find another way ... step 3 -5 from above.

If there are not much changes to the ramdisk, the same boot.img will may work with the next purenexus release as well.

Cheers

EDIT 2: :)

Between step 6 -7 you may change your /cache and /data partitions to f2fs.

Just as a warning - It seems there are still some issues with systemless SuperSU installation onto f2fs /data partitions.

Needs to be tested .. seems to be related to the f2fs sources - which are quite old inside tegra kernel sources tree.

For the tegra-3.18 kernel we just use plain google sources .. https://android.googlesource.com/kernel/tegra/
[Pixel C Android Development] ericp2:
Hi [MENTION=5480152]followmsi[/MENTION],

thanks a lot! it's much clearer now! there are however some issues here. supersu which indeed needs up to date f2fs source tree to garantee correct functionning, but also the pain of repacking ramdisk everytime. Also, f2fs has evolved and some issues have been worked out recently enough, so it would be worth including more recent sources. What would be great is that upon installing the kernel, the script itself does the unpacking and repacking of adequate fstab according to actual partition types, this would make it a lot easier to use and fairly independant of the actual ROM being used, and would likely work for subsequent releases of purenexus or any other ROM. i used to run anykernel for the Nexus 10, and user [MENTION=4577448]Khaon[/MENTION] had done exactly that. github sources are here :

https://github.com/Khaon/AnyKernel2 . I hope this information is useful to you.
[Pixel C Android Development] followmsi:
Sorry, it was not the plan to make a "custom" kernel.

To activate NTFS and F2FS is not a big deal, but I will not include non-google code and start maintaining different kernel sources.

The khaon "Android kitchen" .. all the chromeos part is missing and needs to be included.

Pixel C is not pure Android device .. the Boot.img has a Chromium header, not an Android header.

Have a look here .. https://xdaforums.com/pixel-c/orig-development/lazyflasher-make-install-custom-kernels-t3537487

Nice Project .. chromeos part already working.

Here are some Update.zip packages for encrypt and no-verity.

https://build.nethunter.com/android-tools/no-verity-opt-encrypt/

You need to add / replace a script for f2fs fstab correction.

As I saw the f2fs sources are the same old version .. new f2fs version needs to be integrated first.

Like Franco did here ...

https://github.com/franciscofranco/angler/commit/8a8f4472a2ba50ca91e2f8d1a84e5475ce787dd6

You may have a try and build your own custom kernel :)

Sorry, I will not have the time to help you better on this topic ..

Cheers
[Pixel C Android Development] followmsi:
Thank you .. for the quick test :)
[Pixel C Android Development] followmsi:
And here is the Android N version of this kernel ... Update.ZIP_PixelC_Ryu_chromeos-3.18-kernel_Android-N_v160519_followmsi.zip :)

Download: https://onedrive.live.com/?authkey=!ABLdSOKIeXgg_XU&id=479EB75F5DD9DA59!117&cid=479EB75F5DD9DA59

Cheers
[Pixel C Android Development] dkryder:
a suggestion is to create a thread for twrp images and one for kernel images and then developers could place whatever image they want to post in the proper specific thread. it would be much easier for members to go to the proper thread to find a specific image. as it stands right now there are just too many threads and there seems to be a cross posting going on with kernels in twrp threads and visa versa.

anyway , i downloaded a copy of twrp 5.1 and instead of immediately flashing it via fastboot , i booted it via fastboot boot. i was able to see that it was not mounting, however, the interesting thing is when i went to format there were error messages about unable to mount yet it did proceed to successfully format /data. i don't understand that. anyway, i was then able to mount after a reboot [boot to bootloader and then fastboot boot again] and then dropped to bootloader to push supersu and then flash twrp, and reboot to twrp, install supersu in twrp. and reboot to system. so it was a round about way to get things done. tablet is now unencrypted/rooted.

edit: i also wanted to ask what the current thoughts are as to why the twrp interface is sluggish and if there are plans to work that out. thanks
[Pixel C Android Development] followmsi:
Yes .. it's stock like - no root, nothing.

But as we the new SuperSU now .. :)

Does it still run stable for you ?

For me no problems ..

Thanks for you "full" testing :)

Cheers
[Pixel C Android Development] redukt:
It´s running fine :) The battery indicator in DU is a little buggy. It doesn´t show the electricity consumption correctly (since last evening from charger but it´s shown as still charging hehe). 94% deepsleep no wifi interruptions. All running great :) Thanks again! :)
[Pixel C Android Development] followmsi:
Thanks for your suggestions .. I will try to keep all "my" work here in this thread.

But it's hard to manage this for several different developers, and here on Pixel C they are still not that many developers.

And me, I am not a "real" developer anyway :)

TWRP is sluggish on Pixel C since the first xceed version. :(

Maybe this can be fixed as well .. maybe it's related to the recovery kernel.

V5.1 was a try to port "official" TWRP encryption method from Nexus "angler" to Pixel C!

It does not work ... Pixel C is using different way to decrypt it's own data partition.

At least the "angler" way is not working, yet.

Here I describe the technical stuff .. http://xdaforums.com/pixel-c/general/twrp-decryption-pixel-c-t3380344

Yeah .. again a different thread :)

As I know, all the existing TWRP versions for Pixel C have the same decryption problem.

As they can not mount encrypted data an error message is to be expected.

But TWRP has modified fstab , similar like rooted kernel. (flag: encryptable)

This modified fstab is the trigger to format the data partition.. Like you did.

And then copy SuperSu to install .. etc.

I would love to have decryption working on Pixel C.

Then you can access the encrypted data partition in TWRP as well.

No need to format data at all .. if encrypted or uncreypted TWRP could always access your data.

As I understood, this way it's working fine on angler today.

This is also the reason why SuperSU offers new "keep forceencrypted" flag.

You can be rooted, having TWRP installed and but still have encrypted data partition!

Not yet on Pixel C :(

Maybe another release or another developer is able to make it work. :)

If this part could be managed it's the time for the "official" TWRP for Pixel C.

Like SuperSU now, with support from the core developers.

To be downloaded from twrp.me and not from a XDA thread anymore.

Cheers
[Pixel C Android Development] followmsi:
Made also new TWRP based on the same kernel .. but typing inside TWRP terminal is still sluggish.

Maybe a little bit faster .. not sure. :)

Update.ZIP_TWRP_dragon_3.0.2-0_v4.5.zip

Of course, USB-OTG and direct system.img / vendor.img flashing should work in this version as well.

It's just the new fresh kernel from yesterday.
[Pixel C Android Development] redukt:
Well I remember the first release of TWRP 3.0.0 was laggy and sluggish on almost all devices. In 3.0.1 those issues are fixed.

Thanks for the new version. :)
[Pixel C Android Development] dkryder:
ok, thanks for the explanations. you know, i was using cheepsk8 twrp back several months ago so , yeah, i was aware of sluggish ui then. i guess i was thinking that now there are 2 or 3 more devs looking at the situation that perhaps there is new insight. it might work out that as with that bootloader delay there is just not much that can be done with it. anyway , thanks for your work on twrp and kernels. i'm a fan of your rapid fire turnaround on your projects.
[Pixel C Android Development] followmsi:
Here is another rapid turn around :)

I think I found the issue ... made some modifications to the ramdisk now.

Pls test this version .. looks better now.

No more sluggish typing in TWRP terminal anymore .. and USB-OTG should still work :)

Update.ZIP_TWRP_dragon_3.0.2-0_v4.6.zip

TWRP_dragon_3.0.2-0_v4.6.img

Download here: https://onedrive.live.com/?authkey=!ABLdSOKIeXgg_XU&id=479EB75F5DD9DA59!117&cid=479EB75F5DD9DA59

it´s a little bit bigger because the kernel is not compressed !

But it will boot fine .. no worries.

If there is no bug inside .. this will be my last TWRP 3.0.2-0 version .. :)

Thanks
[Pixel C Android Development] dkryder:
yeah, that is a considerable improvement, especially the terminal , typing is much improved over previous.. the 3 buttons on the bottom, back/home/messages are still about the same though. it is significant delay between home then messages then back. otherwise it is becoming acceptable although the slider bar on the right is not very sticky, in other words it is difficult to grab/hold and then move either up or down. all in all, very good job! whatever you did. i booted temporary to test, i think i will go ahead and flash this. thanks.
[Pixel C Android Development] followmsi:
Thanks for confirmation... This version will be freezed now ! :)
[Pixel C Android Development] NYCHitman1:
The sluggishness of the UI is due to the fact that Omni's bootable_recovery repo does not support images scaled to our resolution. Thus, we're stuck with non-optimized junk. Honestly, I don't care much for the sluggishness of the UI as long as the recovery itself performs the functions that it should without issue(s).

You were trying to port over the wrong stuff. Being that the chipset is Tegra, not Qualcomm -- you should have looked at what TeamWin did for Flounder (Nexus 9) as that would have led you in the proper direction as far as bringing in encryption libs, etc.. are concerned.

As an aside, decryption works fine. I'm decrypted. The real issue is that recovery cannot read the device when encrypted.