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

NTFS, exfat and xfs modules are not compiled in x86-64 arch #2723

Closed
interkelstar opened this issue Sep 1, 2023 · 9 comments
Closed

NTFS, exfat and xfs modules are not compiled in x86-64 arch #2723

interkelstar opened this issue Sep 1, 2023 · 9 comments
Labels
board/generic-x86-64 Generic x86-64 Boards (like Intel NUC) bug stale

Comments

@interkelstar
Copy link

Describe the issue you are experiencing

When launching a SambaNAS addon I can see in the logs

modprobe: module ntfs3 not found in modules.dep
[12:33:37] WARNING: ntfs3 module not available!
modprobe: module exfat not found in modules.dep
[12:33:37] WARNING: exfat module not available!
modprobe: module xfs not found in modules.dep
[12:33:37] WARNING: xfs module not available!

I am using Home Assistant OS in generic x86-64 device (smth like Intel NUC) and according to this comment from add-on repo
dianlight/hassio-addons#160 (comment)
As well as some others dianlight/hassio-addons#160 (comment)

The problem is that x86-64 version of Hassos doesn't have this modules compiled, but what surprises me that some other arch version has. So is there any particular reason for such a discrepancy? Will it be reasonable to compile these modules into the next release version of Hassos x86-64m even if it's not the main idea of the OS, but if aarch64 can have it, why not us?

What operating system image do you use?

generic-x86-64 (Generic UEFI capable x86-64 systems)

What version of Home Assistant Operating System is installed?

Home Assistant OS 10.5

Did you upgrade the Operating System.

Yes

Steps to reproduce the issue

  1. Install SambaNAS addon from https://github.com/dianlight/hassio-addons
  2. Check the logs

Anything in the Supervisor logs that might be useful for us?

No

Anything in the Host logs that might be useful for us?

No

System information

No response

Additional information

No response

@agners
Copy link
Member

agners commented Sep 5, 2023

The problem is that x86-64 version of Hassos doesn't have this modules compiled, but what surprises me that some other arch version has. So is there any particular reason for such a discrepancy?

No particular reason. This is because we typically base board specific kernel default configurations of some existing configuration (e.g. from the Raspberry Pi team).

I have on my todo to align the kernel configurations a bit more. Essentially move all "generic" kernel modules to the operating system kernel configuration.

Will it be reasonable to compile these modules into the next release version of Hassos x86-64m even if it's not the main idea of the OS, but if aarch64 can have it, why not us?

I'll consider it. While I rather prefer to not support "wild" usage of HAOS, these modules are upstream and rather low maintenance from HAOS point of view.

@agners agners added the board/generic-x86-64 Generic x86-64 Boards (like Intel NUC) label Sep 5, 2023
@interkelstar
Copy link
Author

I actually get the idea of not making HAOS more "wild" in order to keep it easier to support and in general.
But at the same time if it already has these modules in some of the archs we could yet consider it a maintenance liability, moreover it can actually be useful in some non-wild use cases I imagine (more options for config usb).

And yeah, there of course is the issue with the discrepancy across arch's configurations.

PS
From personal my point of view I'd be really grateful for this small upgrade in HAOS, since my "wild" usage barely exceeds basic one, but at the same time is too small for full-scale NAS OS, so in this case with a little (I hope) effort it could fall right onto the sweet spot =)

@codyrocco
Copy link

Personally i compile some of these modules - exfat, ntfs, ntfs3, even fuse - and load them manually, at homeassistant start. but this isn't always working with sambanas addon, depending by addons loading order.
having them compiled by default will bring the possibility to use the hardware in extended modes - actual minipcs could pack a lot of power, a lot more than HA requires

@tomw1964
Copy link

I was just about to move my XFS 4TB of storage from an old power hungry PC on to my shiny new HAOS box and have stumbled into this issue. +1 vote for adding XFS into the kernel from me :-)

Copy link

There hasn't been any activity on this issue recently. To keep our backlog manageable we have to clean old issues, as many of them have already been resolved with the latest updates.
Please make sure to update to the latest Home Assistant OS version and check if that solves the issue. Let us know if that works for you by adding a comment 👍
This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale label Jan 28, 2024
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Feb 4, 2024
@adri535
Copy link

adri535 commented Jul 14, 2024

Personally i compile some of these modules - exfat, ntfs, ntfs3, even fuse - and load them manually, at homeassistant start. but this isn't always working with sambanas addon, depending by addons loading order. having them compiled by default will bring the possibility to use the hardware in extended modes - actual minipcs could pack a lot of power, a lot more than HA requires

could you explain a bit more on how to do that please?

@codyrocco
Copy link

codyrocco commented Jul 15, 2024

first of all, reading this: https://developers.home-assistant.io/docs/operating-system/getting-started/

then, modifying few config files, as follow:

  • buildroot.external/configs/generic_x86_64_defconfig - added "BR2_PACKAGE_NTFS-3G=y" (useless, as require some other packages, it's a bit over my linux knowledge)
  • buildroot.external/configs/ova_defconfig - added "BR2_PACKAGE_NTFS-3G=y" (same)
  • buildroot.external/kernel/device-support.config - added "CONFIG_USB_NET_AQC111=m" (had a 5gbps usb-ethernet with Aquantia chipset, this is only as an example for other usb net modules)
  • buildroot.external/kernel/hassos.config - added "CONFIG_NTFS_FS=m", "CONFIG_NTFS3_FS=m", "CONFIG_EXFAT_FS=m", "CONFIG_FUSE_FS=m", CONFIG_XFS_FS=m" (fs modules!)

then run "sudo scripts/enter.sh make generic_x86_64"

after compiling, search for "aqc111.ko", "ntfs.ko", etc - don't remember exactly the build path.

please nothe that these modules aren't present in modules.dep (as not entire haos will be replaced). not loadable with modprobe. i have a script running after homeassistant finish to load, with required commands - like "/sbin/insmod /mnt/data/supervisor/homeassistant/modules/ntfs.ko". for usb net modules, "/sbin/modprobe usbnet" is required first.. any operation requiring for these modules to be already loaded before the running the script will fail.

for sure, all of these modifications coudl be made by HA developers directly in source, but is their decision not to do so.

@lamauny
Copy link
Contributor

lamauny commented Aug 11, 2024

@agners could you consider again adding support to these filesystems ?
I'd really like using the SambaNAS addon with my NTFS disks too...

lamauny added a commit to lamauny/ha-operating-system that referenced this issue Aug 11, 2024
@lamauny
Copy link
Contributor

lamauny commented Aug 11, 2024

added pull request #3516

sairon added a commit that referenced this issue Aug 14, 2024
Enable NTFS and exFAT drivers, as they're not in defconfigs of all platforms and may be useful when mounting removable drives. 

Fixes #2723

Co-authored-by: Jan Čermák <sairon@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
board/generic-x86-64 Generic x86-64 Boards (like Intel NUC) bug stale
Projects
None yet
Development

No branches or pull requests

6 participants