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

initrd: use pkgs.kmod for modprobe instead of busybox #145

Merged
merged 1 commit into from Sep 15, 2023

Conversation

thefloweringash
Copy link
Member

@thefloweringash thefloweringash commented May 6, 2020

Removes "Unknown symbol" errors while booting:

[    3.817788] bmp280_spi: Unknown symbol bmp280_regmap_config (err -2)
[    3.817844] bmp280_spi: Unknown symbol bmp280_common_probe (err -2)
[    3.823219] bmp280_spi: Unknown symbol bmp280_dev_pm_ops (err -2)
[    3.829247] bmp280_spi: Unknown symbol bmp180_regmap_config (err -2)

This might come down to personal taste a little. I was having trouble getting the right modules loaded for usb rndis while working on the lg hammerhead. The actual resolution to that was #141, but I tried this as well after seeing the "Unknown symbol" errors printed. It does makes the boot log shorter and cleaner.

Removes "Unknown symbol" errors while booting:

[    3.817788] bmp280_spi: Unknown symbol bmp280_regmap_config (err -2)
[    3.817844] bmp280_spi: Unknown symbol bmp280_common_probe (err -2)
[    3.823219] bmp280_spi: Unknown symbol bmp280_dev_pm_ops (err -2)
[    3.829247] bmp280_spi: Unknown symbol bmp180_regmap_config (err -2)
@samueldr samueldr added the 3. topic: stage-1 stage-1, boot, init label May 6, 2020
@samueldr
Copy link
Member

samueldr commented May 6, 2020

I haven't had the time to check yet, but here's my main concern:

  • What's the added weight to the closure?

We have an extremely tight budget in stage-1, where I'm already over the ~7MiB for the compressed stage-1 (excluding kernel).

Assuming it doesn't add much, what else depends on what this depends on? E.g. right now I think there's systemd-udevd that brings in a bunch of deps that it's the only thing depending on. Stage-1 needs a udev-like tool, but not necessarily that one. It will probably be replaced due to these budgetary restrictions.

As an added side-note, this is all assuming we may actually move the goalposts a bit for that stage-1, and make it also a stage-0, where it would kexec a bog standard NixOS stage-1+kernel. In that sense, I expect this will somewhat change some of the design decisions. (I'm now thinking, maybe we want to always switch_root into the NixOS stage-1 even if we don't kexec?)

@samueldr samueldr added the 4. type: enhancement New feature or request label May 6, 2020
@samueldr
Copy link
Member

The increase is of ~68KiB.

@samueldr samueldr changed the base branch from master to development September 14, 2023 21:44
@samueldr
Copy link
Member

samueldr commented Sep 15, 2023

TODO

  • Test against a ChromeOS device (since they use kernel modules to work around upstream issues)

@samueldr
Copy link
Member

I can't confirm it solves the intended problem, but I can confirm it's not a regression, so it's good enough to merge.

Thank you, even though it took this long.

@samueldr samueldr merged commit 81cbda8 into NixOS:development Sep 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3. topic: stage-1 stage-1, boot, init 4. type: enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants