all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Enable modules in Linux configuration.
@ 2017-07-29 19:33 Dmitry Nikolaev
  2017-07-30  9:33 ` ng0
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Dmitry Nikolaev @ 2017-07-29 19:33 UTC (permalink / raw)
  To: help-guix

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

Hi everybody.

I'm trying to set up GuixSD on Reiser4 file system. I've succeeded with
patching and compiling Linux with Reiser4 patch, but I've found that
reiser4 module is disabled by default. Everything I did was pointless 8-]

How do I enable Reiser4 module in Linux configuration? As far as I know I
need to add "REISER4_FS=m" to .config after running "make defconfig", but
before "make".

I've found an example of linux.scm with description how to build
linux-libre with additional modules

https://raw.githubusercontent.com/drewc/guix/master/gnu/packages/linux.scm

But it looks too complex for me. Is there an easier way to enable
additional modules in Linux configuration? Shouldn't I use "extra-options"
in make-linux-libre function? How could I do that?

One more question for GuixSD maintainers: will you add linux-libre-reiser4,
libaal and reiser4progs packages to main package repository if I'll send
you patches?

Dmitry Nikolaev

[-- Attachment #2: Type: text/html, Size: 1243 bytes --]

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

* Re: Enable modules in Linux configuration.
  2017-07-29 19:33 Enable modules in Linux configuration Dmitry Nikolaev
@ 2017-07-30  9:33 ` ng0
  2017-07-30 18:11 ` Joshua Branson
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: ng0 @ 2017-07-30  9:33 UTC (permalink / raw)
  To: Dmitry Nikolaev; +Cc: help-guix

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

Dmitry Nikolaev transcribed 2.4K bytes:
> Hi everybody.
> 
> I'm trying to set up GuixSD on Reiser4 file system. I've succeeded with
> patching and compiling Linux with Reiser4 patch, but I've found that
> reiser4 module is disabled by default. Everything I did was pointless 8-]
> 
…

I'm going to respond only to this part:

> will you add linux-libre-reiser4,
> libaal and reiser4progs packages to main package repository if I'll send
> you patches?

That depends mainly on the licenses, from my point of view.
I haven't looked into the sources, but from what other systems
provide:
 - libaal: GPL2
 - reiser4progs: GPL2
 and I think the reiser4 patches were GPL2 too?

The other question is, will someone maintain this linux-libre package
variation? Are there people who would update it? We don't assign people
to packages, but knowing that there is at least one person caring for
it would help.

> Dmitry Nikolaev

-- 
ng0
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://n0is.noblogs.org/my-keys
https://www.infotropique.org https://krosos.org

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: Enable modules in Linux configuration.
  2017-07-29 19:33 Enable modules in Linux configuration Dmitry Nikolaev
  2017-07-30  9:33 ` ng0
@ 2017-07-30 18:11 ` Joshua Branson
  2017-07-30 18:18   ` ng0
  2017-07-31 11:45 ` Mark H Weaver
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 8+ messages in thread
From: Joshua Branson @ 2017-07-30 18:11 UTC (permalink / raw)
  To: help-guix@gnu.org

Out of curiosity why would you want Reiser4?  I'm sure it's an ok 
filesystem, but it's just being maintain these days right?  Not really 
developed.


I feel like your life would be so much simplier if you just used ext4 or 
XFS.


On 07/29/2017 03:33 PM, Dmitry Nikolaev wrote:
> Hi everybody.
>
> I'm trying to set up GuixSD on Reiser4 file system. I've succeeded 
> with patching and compiling Linux with Reiser4 patch, but I've found 
> that reiser4 module is disabled by default. Everything I did was 
> pointless 8-]
>
> How do I enable Reiser4 module in Linux configuration? As far as I 
> know I need to add "REISER4_FS=m" to .config after running "make 
> defconfig", but before "make".
>
> I've found an example of linux.scm with description how to build 
> linux-libre with additional modules
>
> https://raw.githubusercontent.com/drewc/guix/master/gnu/packages/linux.scm
>
> But it looks too complex for me. Is there an easier way to enable 
> additional modules in Linux configuration? Shouldn't I use 
> "extra-options" in make-linux-libre function? How could I do that?
>
> One more question for GuixSD maintainers: will you add 
> linux-libre-reiser4, libaal and reiser4progs packages to main package 
> repository if I'll send you patches?
>
> Dmitry Nikolaev


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

* Re: Enable modules in Linux configuration.
  2017-07-30 18:11 ` Joshua Branson
@ 2017-07-30 18:18   ` ng0
  0 siblings, 0 replies; 8+ messages in thread
From: ng0 @ 2017-07-30 18:18 UTC (permalink / raw)
  To: Joshua Branson; +Cc: help-guix@gnu.org

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

Joshua Branson transcribed 1.7K bytes:
> I feel like your life would be so much simplier if you just used ext4 or 
> XFS.

I can hand you work in progress (but-not-really-because-currently
-otherwise-busy) xfs + xfs/static patches if you want XFS instead
of reiser4.

> On 07/29/2017 03:33 PM, Dmitry Nikolaev wrote:
> > Hi everybody.
> >
> > I'm trying to set up GuixSD on Reiser4 file system. I've succeeded 
> > with patching and compiling Linux with Reiser4 patch, but I've found 
> > that reiser4 module is disabled by default. Everything I did was 
> > pointless 8-]
> >
> > How do I enable Reiser4 module in Linux configuration? As far as I 
> > know I need to add "REISER4_FS=m" to .config after running "make 
> > defconfig", but before "make".
> >
> > I've found an example of linux.scm with description how to build 
> > linux-libre with additional modules
> >
> > https://raw.githubusercontent.com/drewc/guix/master/gnu/packages/linux.scm
> >
> > But it looks too complex for me. Is there an easier way to enable 
> > additional modules in Linux configuration? Shouldn't I use 
> > "extra-options" in make-linux-libre function? How could I do that?
> >
> > One more question for GuixSD maintainers: will you add 
> > linux-libre-reiser4, libaal and reiser4progs packages to main package 
> > repository if I'll send you patches?
> >
> > Dmitry Nikolaev
> 

-- 
ng0
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://n0is.noblogs.org/my-keys
https://www.infotropique.org https://krosos.org

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: Enable modules in Linux configuration.
  2017-07-29 19:33 Enable modules in Linux configuration Dmitry Nikolaev
  2017-07-30  9:33 ` ng0
  2017-07-30 18:11 ` Joshua Branson
@ 2017-07-31 11:45 ` Mark H Weaver
  2017-07-31 11:57 ` Mark H Weaver
  2017-07-31 21:39 ` Marius Bakke
  4 siblings, 0 replies; 8+ messages in thread
From: Mark H Weaver @ 2017-07-31 11:45 UTC (permalink / raw)
  To: Dmitry Nikolaev; +Cc: help-guix

Hi,

Dmitry Nikolaev <cameltheman@gmail.com> writes:

> I'm trying to set up GuixSD on Reiser4 file system. I've succeeded
> with patching and compiling Linux with Reiser4 patch, but I've found
> that reiser4 module is disabled by default. Everything I did was
> pointless 8-]
>
> How do I enable Reiser4 module in Linux configuration? As far as I
> know I need to add "REISER4_FS=m" to .config after running "make
> defconfig", but before "make".

You would also need to add Reiser4-related code to (gnu system
linux-initrd) and (gnu build file-systems).  Search for "btrfs" in our
source tree to get an idea of what code needs to be added.

> One more question for GuixSD maintainers: will you add
> linux-libre-reiser4, libaal and reiser4progs packages to main package
> repository if I'll send you patches?

As long as the licenses comply with the GNU FSDG, I see no obstacle to
merging 'libaal' and 'reiser4progs' to the main repository.

However, 'linux-libre-reiser4' makes me a bit nervous.  As the de-facto
maintainer of our linux-libre packages, my main concern is the
additional maintenance burden going forward.  Every time a new major
version of 'linux-libre' is released, the job of updating and testing
the reiser4 patch would fall on my shoulders.

However, I can tell you from personal experience that it is quite easy
to run GuixSD from your own private git branch, and to periodically
rebase your local changes on our upstream master branch (or, if you
prefer, to merge upstream master into your local branch).  I've been
doing this for a long time.  My method is to have a git checkout in my
home directory that is always kept in good working order, and then to
put the following script in ~/bin/guix and ~root/bin/guix:

  #!/bin/sh
  exec /home/mhw/guix/pre-inst-env guix "$@"

I also add "PATH=/home/mhw/bin:$PATH" to my .bash_profile, and the
analogous thing for root.  Let me know if you need help setting this up.

     Regards,
       Mark

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

* Re: Enable modules in Linux configuration.
  2017-07-29 19:33 Enable modules in Linux configuration Dmitry Nikolaev
                   ` (2 preceding siblings ...)
  2017-07-31 11:45 ` Mark H Weaver
@ 2017-07-31 11:57 ` Mark H Weaver
  2017-07-31 21:39 ` Marius Bakke
  4 siblings, 0 replies; 8+ messages in thread
From: Mark H Weaver @ 2017-07-31 11:57 UTC (permalink / raw)
  To: Dmitry Nikolaev; +Cc: help-guix

Hi again,

Dmitry Nikolaev <cameltheman@gmail.com> writes:

> How do I enable Reiser4 module in Linux configuration? As far as I
> know I need to add "REISER4_FS=m" to .config after running "make
> defconfig", but before "make".

Sorry, I realize that I didn't answer this question in my last message.
It might be sufficient to merely add "REISER4_FS=m" to

  gnu/packages/aux-files/linux-libre/<version>-<arch>.conf

in the Guix source tree.  However, if there are other configuration
options that need to be changed to accommodate Reiser4, then this might
not be enough.

The more general method is to unpack a copy of the linux-libre source
tree, copy the appropriate config file from the Guix source tree to
.config in the top-level linux-libre source, run "make oldconfig" (or
whichever *config target you prefer) to update the config, and then copy
the updated .config file back to the Guix source tree.

A good way to unpack the source is to run "guix build -S linux-libre"
(or your own variant package), and then "tar xf" on the returned file
name.

A good way to make sure you have the necessary software in your
environment to run "make oldconfig" is to run "guix environment
linux-libre" and then work within the spawned shell.

      Mark

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

* Re: Enable modules in Linux configuration.
  2017-07-29 19:33 Enable modules in Linux configuration Dmitry Nikolaev
                   ` (3 preceding siblings ...)
  2017-07-31 11:57 ` Mark H Weaver
@ 2017-07-31 21:39 ` Marius Bakke
  2017-08-02 14:37   ` Joshua Branson
  4 siblings, 1 reply; 8+ messages in thread
From: Marius Bakke @ 2017-07-31 21:39 UTC (permalink / raw)
  To: Dmitry Nikolaev, help-guix

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

Dmitry Nikolaev <cameltheman@gmail.com> writes:

> But it looks too complex for me. Is there an easier way to enable
> additional modules in Linux configuration? Shouldn't I use "extra-options"
> in make-linux-libre function? How could I do that?

I suppose we could export the various Linux-Libre variables so that the
following (untested) would work:

--8<---------------cut here---------------start------------->8---
(use-package-modules linux)
(operating-system
  (kernel
    (make-linux-libre %linux-libre-version %linux-libre-hash
                      %intel-compatible-systems
                      #:extra-options
                      (cons ("CONFIG_REISER4" . m)
                            %default-extra-linux-options)
--8<---------------cut here---------------start------------->8---

It would be a convenient way to add custom options and patches without
maintaing a full-blown kernel configuration on the side.

Just to cover all bases, here's what I do today for a custom
kernel configuration file next to a GuixSD 'config.scm':
 
--8<---------------cut here---------------end--------------->8---
(define-module (my packages)
  #:use-module (gnu packages linux))

(define kernel-config
  (string-append (dirname (current-filename)) "/kernel.config"))

(define-public my-kernel
  (package
    (inherit linux-libre)
    (native-inputs
     `(("kconfig" ,kernel-config)
       ,@(alist-delete "kconfig"
                       (package-native-inputs linux-libre))))))

(use-modules (my packages))
(operating-system
  [...]
  (kernel my-kernel)
--8<---------------cut here---------------end--------------->8---

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

* Re: Enable modules in Linux configuration.
  2017-07-31 21:39 ` Marius Bakke
@ 2017-08-02 14:37   ` Joshua Branson
  0 siblings, 0 replies; 8+ messages in thread
From: Joshua Branson @ 2017-08-02 14:37 UTC (permalink / raw)
  To: help-guix@gnu.org

Wow!  I did not know that you could use guixSD to maintain specific 
versions of packages!  Having it manage a custom linux kernel is pretty 
awesome!


On 07/31/2017 05:39 PM, Marius Bakke wrote:
> Dmitry Nikolaev <cameltheman@gmail.com> writes:
>
>> But it looks too complex for me. Is there an easier way to enable
>> additional modules in Linux configuration? Shouldn't I use "extra-options"
>> in make-linux-libre function? How could I do that?
> I suppose we could export the various Linux-Libre variables so that the
> following (untested) would work:
>
> --8<---------------cut here---------------start------------->8---
> (use-package-modules linux)
> (operating-system
>    (kernel
>      (make-linux-libre %linux-libre-version %linux-libre-hash
>                        %intel-compatible-systems
>                        #:extra-options
>                        (cons ("CONFIG_REISER4" . m)
>                              %default-extra-linux-options)
> --8<---------------cut here---------------start------------->8---
>
> It would be a convenient way to add custom options and patches without
> maintaing a full-blown kernel configuration on the side.
>
> Just to cover all bases, here's what I do today for a custom
> kernel configuration file next to a GuixSD 'config.scm':
>   
> --8<---------------cut here---------------end--------------->8---
> (define-module (my packages)
>    #:use-module (gnu packages linux))
>
> (define kernel-config
>    (string-append (dirname (current-filename)) "/kernel.config"))
>
> (define-public my-kernel
>    (package
>      (inherit linux-libre)
>      (native-inputs
>       `(("kconfig" ,kernel-config)
>         ,@(alist-delete "kconfig"
>                         (package-native-inputs linux-libre))))))
>
> (use-modules (my packages))
> (operating-system
>    [...]
>    (kernel my-kernel)
> --8<---------------cut here---------------end--------------->8---


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

end of thread, other threads:[~2017-08-02 14:37 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-29 19:33 Enable modules in Linux configuration Dmitry Nikolaev
2017-07-30  9:33 ` ng0
2017-07-30 18:11 ` Joshua Branson
2017-07-30 18:18   ` ng0
2017-07-31 11:45 ` Mark H Weaver
2017-07-31 11:57 ` Mark H Weaver
2017-07-31 21:39 ` Marius Bakke
2017-08-02 14:37   ` Joshua Branson

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.