help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

How to list all possible values that can be used in (kernel ...)?


From: Rodrigo Morales
Subject: How to list all possible values that can be used in (kernel ...)?
Date: Fri, 7 Apr 2023 16:30:45 +0000

Table of Contents
_________________

1. The context
2. The question
3. Additional information

1 The context
=============

  As part of my learning journey with Guix, I want to experiment with
  different kernels and how they work differently on my system. Therefore,
  I want to specify different kernels under `(operating-system (kernel
  ...))' in the file `/etc/config.scm'.


2 The question
==============

  What are all the possible values that I can use in `(kernel ...)'
  (regardless of compatibility issues with my system's architecture)?

  Another way to put it: How to list all the kernels that have been
  defined in the guix default repository and that I can use in `(kernel
  ...)' under `(operating-system ...)' in `/etc/config.scm'??


3 Additional information
========================

  I know one possible value is `linux-libre'. Apparently, this is the
  default kernel that is used if no kernel is specified. I executed
  `guix edit linux-libre' to jump to the definition of that Guix package
  and see if I could find other kernel definitions. After inspecting the
  file, I found these relevant lines.

  ,----
  | (... some omitted lines ...)
  |
  | (define-public linux-libre-6.2
  |   (make-linux-libre* linux-libre-6.2-version
  |                      linux-libre-6.2-gnu-revision
  |                      linux-libre-6.2-source
  |                      '("x86_64-linux" "i686-linux" "armhf-linux"
  |                        "aarch64-linux" "powerpc64le-linux"
"riscv64-linux")
  |                      #:configuration-file kernel-config))
  |
  | (define-public linux-libre-version         linux-libre-6.2-version)
  | (define-public linux-libre-gnu-revision    linux-libre-6.2-gnu-revision)
  | (define-public linux-libre-pristine-source
linux-libre-6.2-pristine-source)
  | (define-public linux-libre-source          linux-libre-6.2-source)
  | (define-public linux-libre                 linux-libre-6.2)
  |
  | (define-public linux-libre-6.1
  |   (make-linux-libre* linux-libre-6.1-version
  |                      linux-libre-6.1-gnu-revision
  |                      linux-libre-6.1-source
  |                      '("x86_64-linux" "i686-linux" "armhf-linux"
  |                        "aarch64-linux" "powerpc64le-linux"
"riscv64-linux")
  |                      #:configuration-file kernel-config))
  |
  | (define-public linux-libre-5.15
  |   (make-linux-libre* linux-libre-5.15-version
  |                      linux-libre-5.15-gnu-revision
  |                      linux-libre-5.15-source
  |                      '("x86_64-linux" "i686-linux" "armhf-linux"
  |                        "aarch64-linux" "powerpc64le-linux"
"riscv64-linux")
  |                      #:configuration-file kernel-config))
  |
  | (... some omitted lines ...)
  `----

  By simple inspection, I thought that I could find all possible kernels
  by executing the following command (see output in the code block
  below). However, there are some other things that are liseted. I wish
  I could create a raw list of all the possible values instead of trying
  to find them using grep and a regular expression.

  ,----
  | grep -R '^(define-public linux-libre' ~/source-code/guix/gnu/packages
  `----

  ,----
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-6.2-version "6.2.10")
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-6.2-gnu-revision "gnu")
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-6.2-pristine-source
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-6.1-version "6.1.23")
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-6.1-gnu-revision "gnu")
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-6.1-pristine-source
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-5.15-version "5.15.106")
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-5.15-gnu-revision "gnu")
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-5.15-pristine-source
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-5.10-version "5.10.177")
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-5.10-gnu-revision "gnu1")
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-5.10-pristine-source
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-5.4-version "5.4.240")
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-5.4-gnu-revision "gnu1")
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-5.4-pristine-source
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-4.19-version "4.19.280")
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-4.19-gnu-revision "gnu1")
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-4.19-pristine-source
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-4.14-version "4.14.312")
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-4.14-gnu-revision "gnu1")
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-4.14-pristine-source
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-6.2-source
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-6.1-source
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-5.15-source
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-5.10-source
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-5.4-source
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-4.19-source
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-4.14-source
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-headers-6.2
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-headers-6.1
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-headers-5.15
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-headers-5.10
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-headers-5.4
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-headers-4.19
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-headers-4.14
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-headers-5.10.35
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-headers linux-libre-headers-5.10.35)
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-6.2
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-version         linux-libre-6.2-version)
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-gnu-revision    linux-libre-6.2-gnu-revision)
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-pristine-source linux-libre-6.2-pristine-source)
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-source          linux-libre-6.2-source)
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre                 linux-libre-6.2)
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-6.1
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-5.15
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-5.10
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-5.4
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-4.19
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-4.14
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-lts-version         linux-libre-6.1-version)
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-lts-gnu-revision    linux-libre-6.1-gnu-revision)
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-lts-pristine-source linux-libre-6.1-pristine-source)
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-lts-source          linux-libre-6.1-source)
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-lts                 linux-libre-6.1)
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-arm-generic
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-arm-generic-5.10
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-arm-generic-5.4
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-arm-generic-4.19
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-arm-generic-4.14
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-arm-omap2plus
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-arm-omap2plus-4.19
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-arm-omap2plus-4.14
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-arm64-generic
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-arm64-generic-5.10
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-arm64-generic-5.4
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-riscv64-generic
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-mips64el-fuloong2e
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-with-bpf
  | /home/rdrg/source-code/guix/gnu/packages/linux.scm:(define-public
linux-libre-documentation
  `----


reply via email to

[Prev in Thread] Current Thread [Next in Thread]