linux-libre-arm64-generic lacks CONFIG_CGROUP_FREEZER=y

  • Done
  • quality assurance status badge
Details
4 participants
  • Vitaliy Shatrov
  • Leo Famulari
  • Tobias Geerinckx-Rice
  • Vagrant Cascadian
Owner
unassigned
Submitted by
Vitaliy Shatrov
Severity
normal
V
V
Vitaliy Shatrov wrote on 27 Aug 2020 20:52
(address . bug-guix@gnu.org)(name . Vagrant Cascadian)(address . vagrant@debian.org)
87d03bly45.fsf@disroot.org
Hello Guix.

I:
1. had linux-libre-arm64-generic as my kernel.
2. added only (elogind-service-type) to my Guix System's config.
3. ran `guix system reconfigure`.
4. get some errors: "///sys/something/freezer cannot be something".
5. rebooted, and were unable to log-in (get no prompt).

The issue was solved by using the same linux-libre-arm64-generic, but
customized: i set a 'CONFIG_CGROUP_FREEZER=y' in kconfig.

As this is only one config related to logind that not enabled, i want us
to have it enabled by default on linux-libre-arm64-generic, or as Vagrant
wrote on IRC, "added to gnu/packages/linux.scm: %default-extra-linux-options".

I need logind for sway WM to work.. and probably for other things.

Thanks.
L
L
Leo Famulari wrote on 27 Aug 2020 23:58
(name . Vitaliy Shatrov)(address . guix.vits@disroot.org)
20200827215821.GA20617@jasmine.lan
On Fri, Aug 28, 2020 at 01:52:58AM +0700, Vitaliy Shatrov wrote:
Toggle quote (12 lines)
> Hello Guix.
>
> I:
> 1. had linux-libre-arm64-generic as my kernel.
> 2. added only (elogind-service-type) to my Guix System's config.
> 3. ran `guix system reconfigure`.
> 4. get some errors: "///sys/something/freezer cannot be something".
> 5. rebooted, and were unable to log-in (get no prompt).
>
> The issue was solved by using the same linux-libre-arm64-generic, but
> customized: i set a 'CONFIG_CGROUP_FREEZER=y' in kconfig.

This option is enabled in all of our kernel configurations:

------
$ git grep CGROUP_FREEZER
gnu/packages/aux-files/linux-libre/4.14-arm.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/4.14-i686.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/4.14-x86_64.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/4.19-arm.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/4.19-arm64.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/4.19-i686.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/4.19-x86_64.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/4.4-i686.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/4.4-x86_64.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/4.9-i686.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/4.9-x86_64.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/5.4-arm.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/5.4-arm64.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/5.4-i686.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/5.4-x86_64.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/5.7-arm.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/5.7-arm64.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/5.7-i686.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/5.7-x86_64.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/5.8-arm.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/5.8-arm64.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/5.8-i686.conf:CONFIG_CGROUP_FREEZER=y
gnu/packages/aux-files/linux-libre/5.8-x86_64.conf:CONFIG_CGROUP_FREEZER=y
------
T
T
Tobias Geerinckx-Rice wrote on 28 Aug 2020 00:57
(name . Leo Famulari)(address . leo@famulari.name)
87eenrn1d3.fsf@nckx
Leo, Vits,

Leo Famulari ???
Toggle quote (21 lines)
> On Fri, Aug 28, 2020 at 01:52:58AM +0700, Vitaliy Shatrov wrote:
>> Hello Guix.
>>
>> I:
>> 1. had linux-libre-arm64-generic as my kernel.
>> 2. added only (elogind-service-type) to my Guix System's
>> config.
>> 3. ran `guix system reconfigure`.
>> 4. get some errors: "///sys/something/freezer cannot be
>> something".
>> 5. rebooted, and were unable to log-in (get no prompt).
>>
>> The issue was solved by using the same
>> linux-libre-arm64-generic, but
>> customized: i set a 'CONFIG_CGROUP_FREEZER=y' in kconfig.
>
> This option is enabled in all of our kernel configurations:
>
> ------
> $ git grep CGROUP_FREEZER

Indeed, and the bug[0] reported here is that -generic doesn't use
these configurations at all:
(define-public linux-libre-arm64-generic
(make-linux-libre* linux-libre-version
linux-libre-source
'("aarch64-linux")
#:defconfig "defconfig"
#:extra-version "arm64-generic"
#:extra-options
(append
`(;; needed to fix the RTC on rockchip
platforms
("CONFIG_RTC_DRV_RK808" . #t))
%default-extra-linux-options)))
Note the missing #:configuration-file.

[0]: I don't know if this is really a bug--in fact I suspect it's
the raison d'être of this variant--but this needs to be better
documented and perhaps even renamed. To me, ‘generic’ means
‘distro default’, or perhaps ‘sanely minimal’, not ‘our own
upstream's sometimes questionable defconfig that can't boot our
own desktop’.

Allegedly.

Kind regards,

T G-R
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQT12iAyS4c9C3o4dnINsP+IT1VteQUCX0g6WAAKCRANsP+IT1Vt
eVsBAQDpQCaDh0Efu8GEm9qvpzbVBDau2IwU7u5tno3J179TtgEA/6PZ07IRTwYK
VLEe/ypeNOG91tNVZ4D67Mb/VtVWYQ8=
=R7kc
-----END PGP SIGNATURE-----

V
V
Vagrant Cascadian wrote on 28 Aug 2020 01:25
Re: linux-libre-arm64-generic lacks CONFIG_CGROUP_FREEZER=y
(name . Vitaliy Shatrov)(address . guix.vits@disroot.org)(address . 43078@debbugs.gnu.org)
87h7sny8lp.fsf@yucca
On 2020-08-28, Vitaliy Shatrov wrote:
Toggle quote (13 lines)
> 1. had linux-libre-arm64-generic as my kernel.
> 2. added only (elogind-service-type) to my Guix System's config.
> 3. ran `guix system reconfigure`.
> 4. get some errors: "///sys/something/freezer cannot be something".
> 5. rebooted, and were unable to log-in (get no prompt).
>
> The issue was solved by using the same linux-libre-arm64-generic, but
> customized: i set a 'CONFIG_CGROUP_FREEZER=y' in kconfig.
>
> As this is only one config related to logind that not enabled, i want us
> to have it enabled by default on linux-libre-arm64-generic, or as Vagrant
> wrote on IRC, "added to gnu/packages/linux.scm: %default-extra-linux-options".

Given that this is present in all the "linux-libre" packages
(e.g. without arm-generic or arm64-generic ...), I think it makes sense
to add this to %default-extra-linux-options.

*Untested* patch attached.

I did at one point try to enable this on arm-generic and it required
additional features I couldn't track down... and at some point this was
enabled on arm64-generic (I tested on "pinebook" with arm64-generic a
while back).

live well,
vagrant
From d91a90a667262b6e0ab82542a28c48b70eee37fc Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@debian.org>
Date: Thu, 27 Aug 2020 14:47:43 -0700
Subject: [PATCH] gnu: %default-extra-linux-options: Enable
CONFIG_CGROUP_FREEZER.


* gnu/packages/linux (%default-extra-linux-options): Enable
CONFIG_CGROUP_FREEZER.
---
gnu/packages/linux.scm | 2 ++
1 file changed, 2 insertions(+)

Toggle diff (15 lines)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 26ce379568..1f6236163f 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -641,6 +641,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
("CONFIG_USER_NS" . #t)
("CONFIG_PID_NS" . #t)
("CONFIG_NET_NS" . #t)
+ ;; cgroup freezer needed for elogind: https://issues.guix.gnu.org/43078
+ ("CONFIG_CGROUP_FREEZER" . #t)
;; Modules required for initrd:
("CONFIG_NET_9P" . m)
("CONFIG_NET_9P_VIRTIO" . m)
--
2.20.1
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCX0hA8gAKCRDcUY/If5cW
qgapAQCo3NDALLIzYri69dN7NrohY6ARNaaBBMk1kfGdofuWGQEAyatmznpNpVv0
n5I/k/ECCj1MtNQ/49KvKRXMi4VKPQ0=
=MY3o
-----END PGP SIGNATURE-----

V
V
Vagrant Cascadian wrote on 2 Sep 2020 00:47
(name . Vitaliy Shatrov)(address . guix.vits@disroot.org)
87blipnmhi.fsf@ponder
On 2020-08-27, Vagrant Cascadian wrote:
Toggle quote (20 lines)
> On 2020-08-28, Vitaliy Shatrov wrote:
>> 1. had linux-libre-arm64-generic as my kernel.
>> 2. added only (elogind-service-type) to my Guix System's config.
>> 3. ran `guix system reconfigure`.
>> 4. get some errors: "///sys/something/freezer cannot be something".
>> 5. rebooted, and were unable to log-in (get no prompt).
>>
>> The issue was solved by using the same linux-libre-arm64-generic, but
>> customized: i set a 'CONFIG_CGROUP_FREEZER=y' in kconfig.
>>
>> As this is only one config related to logind that not enabled, i want us
>> to have it enabled by default on linux-libre-arm64-generic, or as Vagrant
>> wrote on IRC, "added to gnu/packages/linux.scm: %default-extra-linux-options".
>
> Given that this is present in all the "linux-libre" packages
> (e.g. without arm-generic or arm64-generic ...), I think it makes sense
> to add this to %default-extra-linux-options.
>
> *Untested* patch attached.

Tested and added some more kernel options needed for
linux-libre-arm-generic on armhf as well.

Pushed a fix as 450dcd1aff741c4f81cc9508ce33f19e62edefb7.

Thanks for reporting the issue!


live well,
vagrant
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCX07PagAKCRDcUY/If5cW
qhA6APwPBrWlxmGfl/A283wX5oVj1fuxSYk4yMFcWmch/bAcAAD+N06Zb4JeXQEp
Isyza9eaAQ8T8VrSE5qjyFfU/9y3IAQ=
=fQ0O
-----END PGP SIGNATURE-----

Closed
?