unofficial mirror of guix-devel@gnu.org 
 help / color / Atom feed
* Kernel module configuration service
@ 2020-05-15 19:31 Brice Waegeneire
  2020-05-26 20:34 ` Danny Milosavljevic
  0 siblings, 1 reply; 3+ messages in thread
From: Brice Waegeneire @ 2020-05-15 19:31 UTC (permalink / raw)
  To: guix-devel

Hello Guix,

I'm working on the future 'kernel-module-configuration-service-type'[0]
(KMCS) and I need some guidance. This service will be a one stop shop 
for
all kernel module related configuration by doing the following 4 things:
1. Generate a config directory for modrope to use
2. Load loadable kernel module by extending 
'kernel-module-loader-service'
3. Configure built-in module by being a new source for
    'operating-system-kernel-arguments'
4. Add loadable kernel modules to the kernel profile by being a source 
for
    'operating-system-kernel-loadable-modules'

ATM I need help with point number 1 in regard to putting in place the
config directory for modprobe. To do so I need to change
'%modprobe-wrapper' into a procedure to take the configuration directory 
as
an argument, since the directory will now come from '/gnu/store/' 
instead
of '/etc/'. The problem is that the wrapper is currently put in place by
'%linux-bare-metal-service' which is an essential service, so it seems 
that
KMCS will have to become one too. Looking around at some essential 
service
most of them are straight forward and don't extend services like
'kernel-module-loader-service-type' (which itself extend
'shepherd-root-service-type').

What are the guidelines to add a service to the essential-services? Can
KMCS become an essential-service? Any other remarks/idea?

[0]: https://issues.guix.info/40274#18

Have a good day,
- Brice


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Kernel module configuration service
  2020-05-15 19:31 Kernel module configuration service Brice Waegeneire
@ 2020-05-26 20:34 ` Danny Milosavljevic
  2020-05-26 20:39   ` Danny Milosavljevic
  0 siblings, 1 reply; 3+ messages in thread
From: Danny Milosavljevic @ 2020-05-26 20:34 UTC (permalink / raw)
  To: Brice Waegeneire; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1908 bytes --]

Hi Brice,

On Fri, 15 May 2020 19:31:51 +0000
Brice Waegeneire <brice@waegenei.re> wrote:

> (1) Generate a config directory for modrope to use
> (2) Load loadable kernel module by extending 'kernel-module-loader-service'
[...]
> ATM I need help with point number 1 in regard to putting in place the
> config directory for modprobe. To do so I need to change
> '%modprobe-wrapper' into a procedure to take the configuration directory 
> as
> an argument, since the directory will now come from '/gnu/store/' 
> instead
> of '/etc/'. The problem is that the wrapper is currently put in place by
> '%linux-bare-metal-service' which is an essential service, so it seems 
> that
> KMCS will have to become one too.

I think that essential services are just services that aren't randomly
restarted or removed by Guix while the system is running.

Also, a user shouldn't need to touch (swap out) essential services.

I envision that mostly other services would extend the KMCS--so it
shouldn't matter that user can't touch the KMCS essential service.

That said, maybe still good to have a field in the <operating-system> record
that lets the user specify manual kernel module configuration amendments.

The kernel module configuration directory should be there as early as possible
in the boot process since the kernel can invoke modprobe whenever it wants.

Definitely don't wait for shepherd (or even more stuff) to start up.

> service
> most of them are straight forward and don't extend services like
> 'kernel-module-loader-service-type'

> (which itself extend
> 'shepherd-root-service-type').

Oops.

> What are the guidelines to add a service to the essential-services? Can
> KMCS become an essential-service? Any other remarks/idea?

If necessary one can always not do (2)--although it would be nice to do it.
But if it means waiting for shepherd, nope.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Kernel module configuration service
  2020-05-26 20:34 ` Danny Milosavljevic
@ 2020-05-26 20:39   ` Danny Milosavljevic
  0 siblings, 0 replies; 3+ messages in thread
From: Danny Milosavljevic @ 2020-05-26 20:39 UTC (permalink / raw)
  To: Brice Waegeneire; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 138 bytes --]

Could also have modprobe-config-directory-service and extra KMCS service and
load them at different times in the boot process, I guess.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-15 19:31 Kernel module configuration service Brice Waegeneire
2020-05-26 20:34 ` Danny Milosavljevic
2020-05-26 20:39   ` Danny Milosavljevic

unofficial mirror of guix-devel@gnu.org 

Archives are clonable:
	git clone --mirror https://yhetil.org/guix-devel/0 guix-devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 guix-devel guix-devel/ https://yhetil.org/guix-devel \
		guix-devel@gnu.org
	public-inbox-index guix-devel

Example config snippet for mirrors

Newsgroups are available over NNTP:
	nntp://news.yhetil.org/yhetil.gnu.guix.devel
	nntp://news.gmane.io/gmane.comp.gnu.guix.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git