btrfs got added in u-boot v2017.11...
fs: btrfs: Add U-Boot fs handlers. · u-boot/u-boot@0c936ee · GitHub
Hmm... I couldn't get it to work. I could never get it to actually find
any of the files on the btrfs root. I'll try again. It would certainly
simplify things.
No Worries, they posted that to u-boot the same week i disabled it in
the kernel..
It's something i'd like to personally test too, just haven't had a
moment to see what the u-boot version could do..
>
> For my app, this leaves well over 2GB of free space on the eMMC as
> compared
> to about 500MB before. Performance is about the same. Anyway, I
> thought I'd share it with others in case they want to try it out, play
> with
> it, suggest enhancements, etc....
Careful around v4.14.x+ "I" dropped btrfs, it saves a good second or
two on bootup, from all the raid6 calculations that are done. (if we
could force it to always use one mode, and thus not waste bootup time,
i'll gladly reenable it)
Ick... That would be REALLY bad for me. I've switch over to btrfs on
pretty much all my beaglebones, even on the SD cards. The files I have
are large (>500MB) but highly compressible so it's much faster to read them
from btrfs than ext4. That said, I'm still on 4.4 as we use uio-pruss for
working with the PRU's and have not plans/desire to change that (and last I
looked, there were issues with it on 4.9+, maybe those issues are now
fixed).
For me, an extra second or two on a bootup that takes almost 75 seconds is
irrelevant when the beaglebone is up for weeks/months on end.
Yeah, i'd like to bring it back, just be careful with the v4.14.x from
today, so here's what i see on bootup:
v4.9.x
[ 0.551792] omap4_sram_init:Unable to allocate sram needed to
handle errata I688
[ 0.551810] omap4_sram_init:Unable to get sram pool needed to
handle errata I688
[ 0.661277] raid6: int32x1 gen() 257 MB/s
[ 0.729310] raid6: int32x1 xor() 229 MB/s
[ 0.797283] raid6: int32x2 gen() 322 MB/s
[ 0.865257] raid6: int32x2 xor() 283 MB/s
[ 0.933293] raid6: int32x4 gen() 328 MB/s
[ 1.001258] raid6: int32x4 xor() 267 MB/s
[ 1.069373] raid6: int32x8 gen() 300 MB/s
[ 1.089205] random: fast init done
[ 1.137287] raid6: int32x8 xor() 233 MB/s
[ 1.205231] raid6: neonx1 gen() 1454 MB/s
[ 1.273231] raid6: neonx1 xor() 843 MB/s
[ 1.341225] raid6: neonx2 gen() 1921 MB/s
[ 1.409220] raid6: neonx2 xor() 1203 MB/s
[ 1.477241] raid6: neonx4 gen() 1088 MB/s
[ 1.545216] raid6: neonx4 xor() 791 MB/s
[ 1.613209] raid6: neonx8 gen() 803 MB/s
[ 1.681241] raid6: neonx8 xor() 732 MB/s
[ 1.681251] raid6: using algorithm neonx2 gen() 1921 MB/s
[ 1.681259] raid6: .... xor() 1203 MB/s, rmw enabled
[ 1.681267] raid6: using intx1 recovery algorithm
[ 1.692396] edma 49000000.edma: TI EDMA DMA engine driver
v4.14.x:
[ 0.186505] omap4_sram_init:Unable to allocate sram needed to
handle errata I688
[ 0.186529] omap4_sram_init:Unable to get sram pool needed to
handle errata I688
[ 0.206935] edma 49000000.edma: TI EDMA DMA engine driver
the "raid6" part of the btrfs driver is required, it always picks
"neonx2 gen()" i'd like to patch btrfs to always just force that mode
for us..
On the devices such as the PocketBeagle, we need fast bootup, as
there's no good indicator of bootup, till the usb gadget device comes
alive.
Regards,