Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

f2fs support as a root fs during installation #1522

Closed
insilications opened this issue Nov 23, 2019 · 39 comments
Closed

f2fs support as a root fs during installation #1522

insilications opened this issue Nov 23, 2019 · 39 comments
Assignees

Comments

@insilications
Copy link

f2fs is probably one of the fastest file systems for SSD right now. Clear Linux has added the f2fs-tools package and enabled f2fs as a kernel module (#154). Would it be possible to enable f2fs as a root file system and give it as a choice during installation?

@bryteise
Copy link
Member

This and xfs seem fairly reasonable to me. Needs to be at least validated with clr-boot-manager support in addition to the installer support though.

@Deacymc
Copy link

Deacymc commented Dec 5, 2019

I agree, this is for me the last 'papercut' issue I have with Clear Linux. Benchmarks have shown that in raw performance ext4 is competitive, albeit still slower.

With the biggest advantage is that f2fs has a significantly faster application start-up time over other file-systems. And it was an average of 28% faster than ext4, calculated from a geometric mean over different workloads, according to Phoronix benchmarks done on an Intel Optane 900 pci-e nvme.

It wouldn't make sense to switch the default of course, but for the advanced user the installer should allow both ext4 and f2fs if used with manual partitioning.

It seems to be an easy performance win for SSD users to allow the option, especially considering that Clear Linux prides itself on speed and high performance.

@ahkok
Copy link
Contributor

ahkok commented Dec 5, 2019

what we'd need is to get @miguelinux to consider adding these filesystems as builtin, and then @mdhorn to consider making it so that the installer can offer these as a choice.

@ahkok ahkok removed the new label Dec 5, 2019
@ahkok
Copy link
Contributor

ahkok commented Dec 5, 2019

@dorileo for cbm feedback

@mdhorn
Copy link

mdhorn commented Dec 5, 2019

@dorileo I'd want to know the clear-boot-manager will work with root as f2fs before we consider installer changes.

@dorileo
Copy link

dorileo commented Jan 7, 2020

@mdhorn @ahkok it should work, we can do this in three steps, enable the required kernel modules then I validate cbm then we enable clr-installer. But again, I don't see any reason it cbm shouldn't work.

@bkdwt
Copy link

bkdwt commented Jan 16, 2020

That is a great idea! F2FS is being added to other distros out there, such as Debian, which will now allow it to be used on the root disk.

For those who use source-based distributions, this has not been a problem for a long time!

@simonbcn
Copy link

It still fails.
Selección_0013

Any Linux distro today supports a custom file system. Why is Clear Linux so inflexible?

@mdhorn
Copy link

mdhorn commented Jan 21, 2020

It still fails.
Selección_0013

Any Linux distro today supports a custom file system. Why is Clear Linux so inflexible?

This issue is still open. There is still enabling work for this file system type to be usable.
Not sure why you think Clear Linux is inflexible, it is open source and free. You are welcome to contribute change to help enable this.

@ZVNexus
Copy link

ZVNexus commented Feb 9, 2020

@mdhorn @ahkok it should work, we can do this in three steps, enable the required kernel modules then I validate cbm then we enable clr-installer. But again, I don't see any reason it cbm shouldn't work.

I validated CBM with F2FS when I was trying to use F2FS on Solus, they grab CBM straight from the CLR repos so it should be fine. The only thing left should be the installer.

@ZVNexus
Copy link

ZVNexus commented Feb 11, 2020

Alright I added F2FS support to the installer, I'll be submitting a patch within a day or two.

@bkdwt
Copy link

bkdwt commented Feb 11, 2020

Alright I added F2FS support to the installer, I'll be submitting a patch within a day or two. Everything looks to be good.

Thank you so much man! I excited to test this. 😁

@mdhorn
Copy link

mdhorn commented Feb 11, 2020

@ZVNexus Look forward to the PR.
Keep in mind, even after it is merged, we will have to do a few more steps internally before it hits a release. We will need to update the clr-installer bundler to add f2fs-tools-bin to the requirements, do some testing, and cut a new release with the changes.

@ZVNexus
Copy link

ZVNexus commented Feb 11, 2020

@ZVNexus Look forward to the PR.
Keep in mind, even after it is merged, we will have to do a few more steps internally before it hits a release. We will need to update the clr-installer bundler to add f2fs-tools-bin to the requirements, do some testing, and cut a new release with the changes.

Ah thought everything went through the mailing list, RIP already submitted a patch there. Should I submit a pull request? I find that's easier for code review than a mailing list.

@ZVNexus
Copy link

ZVNexus commented Feb 14, 2020

Alright now that installer is done is adding F2FS support as a possible /boot fstype something that's viable? I saw the F2FS maintainer added it for GRUB but not sure if he'd do it for CBM. Not even sure if there's benefits to doing that either.

@fenrus75
Copy link
Contributor

fenrus75 commented Feb 14, 2020 via email

@ZVNexus
Copy link

ZVNexus commented Feb 14, 2020

efi wants that to be vfat

Oh is EXT4 support on CBM just for legacy BIOS?

@bkdwt
Copy link

bkdwt commented Feb 14, 2020

Alright now that installer is done is adding F2FS support as a possible /boot fstype something that's viable? I saw the F2FS maintainer added it for GRUB but not sure if he'd do it for CBM. Not even sure if there's benefits to doing that either.

For EFI you need a FAT32 partition. Grub already support F2FS for UEFI and BIOS mode.

@lebensterben
Copy link

Alright now that installer is done is adding F2FS support as a possible /boot fstype something that's viable? I saw the F2FS maintainer added it for GRUB but not sure if he'd do it for CBM. Not even sure if there's benefits to doing that either. ...

@bkdwt but clearlinux doesn't use GRUB...

@bkdwt
Copy link

bkdwt commented Feb 14, 2020

Alright now that installer is done is adding F2FS support as a possible /boot fstype something that's viable? I saw the F2FS maintainer added it for GRUB but not sure if he'd do it for CBM. Not even sure if there's benefits to doing that either. ...

@bkdwt but clearlinux doesn't use GRUB...

Ops, my mistake. 😅

@dorileo
Copy link

dorileo commented Feb 14, 2020

@ZVNexus what is your use case for f2fs /boot partition? Can't you boot EFI? I'll not add anything to support f2fs boot partitions as long as we have a strong requirement to that, look at the clr-boot-manager README file and see all the possible fs combinations. You can boot on legacy mode with vfat and ext fs which I think is just good enough for most use cases, feel free to open a new issue on the clr-boot-manager project asking for f2fs /boot partition support however bare in mind that it may sit there for a while - until we have some real requirement to that.

@ZVNexus
Copy link

ZVNexus commented Feb 14, 2020

@ZVNexus what is your use case for f2fs /boot partition? Can't you boot EFI? I'll not add anything to support f2fs boot partitions as long as we have a strong requirement to that, look at the clr-boot-manager README file and see all the possible fs combinations. You can boot on legacy mode with vfat and ext fs which I think is just good enough for most use cases, feel free to open a new issue on the clr-boot-manager project asking for f2fs /boot partition support however bare in mind that it may sit there for a while - until we have some real requirement to that.

Nah I just thought it was interesting. There's no real demand for that.

@ahkok
Copy link
Contributor

ahkok commented Feb 14, 2020

F2FS support as a possible /boot fstype

Please ignore this entirely.

UEFI doesn't support FSF2 (full stop). On UEFI systems, we will always use vfat. On legacy boot systems we will prefer vfat because of simplicity (allows you to boot the same OS with the same /boot and switch UEFI/legacy if you install both syslinux and systemd-boot into that same boot partition) or just plain extlinux->ext3/4.

@miguelinux
Copy link

The change is already in the -native kernel
clearlinux-pkgs/linux@a6347f8

@bkdwt
Copy link

bkdwt commented Feb 16, 2020

The change is already in the -native kernel
clearlinux-pkgs/linux@a6347f8

Now is just wait the next build release, right?

@ZVNexus
Copy link

ZVNexus commented Feb 16, 2020

The change is already in the -native kernel
clearlinux-pkgs/linux@a6347f8

Now is just wait the next build release, right?

No, it's not merged into the installer yet. It's currently blocked on adding F2FS to the clr-installer bundle, and then it can be merged (which a patch does exist for on the mailing list https://lists.clearlinux.org/hyperkitty/list/dev@lists.clearlinux.org/thread/MKNECVT34KV2UCYHURTAHHZFAYC2PGTI/). Then it should come probably a release or two after everything goes in, I thinnkkkk.

@mdhorn
Copy link

mdhorn commented Feb 18, 2020

The change is already in the -native kernel
clearlinux-pkgs/linux@a6347f8

@miguelinux Please let me know when you are able to add the same f2fs support to both the LTS kernels; 2017, 2018 as those are both selectable at installation time. We do not want the installer to be able to create an installation that can not be booted.

@mdhorn
Copy link

mdhorn commented Feb 18, 2020

The change is already in the -native kernel
clearlinux-pkgs/linux@a6347f8

Now is just wait the next build release, right?

No, it's not merged into the installer yet. It's currently blocked on adding F2FS to the clr-installer bundle, and then it can be merged (which a patch does exist for on the mailing list https://lists.clearlinux.org/hyperkitty/list/dev@lists.clearlinux.org/thread/MKNECVT34KV2UCYHURTAHHZFAYC2PGTI/). Then it should come probably a release or two after everything goes in, I thinnkkkk.

f2fs was added to the clr-installer bundle.
The last item we need is f2fs added to the LTS kernels like was done for the native. The LTS selectable at installation time, and if one is chosen and f2fs used, the user will end up with a successful installation that will not boot. Once the LTS kernels are updated and released, then clearlinux/clr-installer#654 can be merged. Once merged, we can create a new release of the clr-installer, then it will be in the OS and part of the new ISOs 1-2 business days later.

@mdhorn
Copy link

mdhorn commented Feb 21, 2020

@miguelinux
Please update this issue once the LTS kernels have had f2fs enabled as built-in instead of module.

@miguelinux
Copy link

I just updated the LTS, 17, 18 and 19, you will see them in the next release.

@mdhorn
Copy link

mdhorn commented Feb 27, 2020

I just updated the LTS, 17, 18 and 19, you will see them in the next release.

Thank you @miguelinux

clrpackages pushed a commit to clearlinux-pkgs/linux-lts2018 that referenced this issue Mar 2, 2020
clrpackages pushed a commit to clearlinux-pkgs/linux-lts2017 that referenced this issue Mar 2, 2020
@bkdwt
Copy link

bkdwt commented Mar 3, 2020

I just updated the LTS, 17, 18 and 19, you will see them in the next release.

I saw a new build iso for download on the CL homepage. Is the build with F2FS support on the installer?

@ZVNexus
Copy link

ZVNexus commented Mar 3, 2020

I just updated the LTS, 17, 18 and 19, you will see them in the next release.

I saw a new build iso for download on the CL homepage. Is the build with F2FS support on the installer?

Yep, I reinstalled yesterday on it.

@bkdwt
Copy link

bkdwt commented Mar 3, 2020

I just updated the LTS, 17, 18 and 19, you will see them in the next release.

I saw a new build iso for download on the CL homepage. Is the build with F2FS support on the installer?

Yep, I reinstalled yesterday on it.

Thanks buddy! :)

@bkdwt
Copy link

bkdwt commented Mar 3, 2020

@mdhorn @miguelinux Would it be possible to remove the requirement to have a swap partition in the system?
Screenshot from 2020-03-03 19-15-00

@bryteise
Copy link
Member

bryteise commented Mar 3, 2020

@bkdwt The kernel really wants to have a swap partition for performance reasons even if it is just a small one.

@mdhorn
Copy link

mdhorn commented Mar 3, 2020

@mdhorn @miguelinux Would it be possible to remove the requirement to have a swap partition in the system?
Screenshot from 2020-03-03 19-15-00

There is already an open issue for not requiring a swap partition
clearlinux/clr-installer#205
But we would still require minimum sized swap file in the root partition.
I'll see if this can be resourced in the near future.

@bkdwt
Copy link

bkdwt commented Mar 3, 2020

@bkdwt The kernel really wants to have a swap partition for performance reasons even if it is just a small one.

@mdhorn @miguelinux Would it be possible to remove the requirement to have a swap partition in the system?
Screenshot from 2020-03-03 19-15-00

There is already an open issue for not requiring a swap partition
clearlinux/clr-installer#205
But we would still require minimum sized swap file in the root partition.
I'll see if this can be resourced in the near future.

Ok, no problem. I'll delete the swap partition after installation and use zram instead.

@mdhorn
Copy link

mdhorn commented Mar 3, 2020

f2fs is available in clr-installer 2.4.1 starting with Clear Linux OS release 32510 or higher.

@mdhorn mdhorn closed this as completed Mar 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests