Commit Graph

48 Commits

Author SHA1 Message Date
Rahul Chandra
7ec0be3542 Merge branch 'trunk' into rahul/power-profiles-daemon 2024-02-09 20:39:24 -05:00
Xi Ruoyao
b27871069a
keyutils: Add more kernel configuration needed by the test suite, ...
and document a known failure due to the removal of SHA1 with RSA
signed certificate from the kernel.
2024-02-07 04:48:56 +08:00
Xi Ruoyao
d3146ca393
kernel-config: Add USB_PCI to config for USB devices
It seems needed to use USB on *all* of my PC-like systems...
2024-02-03 22:10:31 +08:00
Xi Ruoyao
20aab88f91
kernel-config: Adjust config needed by keyutils test
CRYPTO_DH is automatically set if KEY_DH_OPERATIONS is set, so there is
no need to mention it.  CRYPTO_LIB_CHACHA20POLY1305 is needed to be y
or BIG_KEYS won't show up.
2024-02-03 19:23:10 +08:00
Rahul Chandra
16d42f6942 Add power-profiles-daemon 2024-01-27 20:34:54 -05:00
Xi Ruoyao
434e3e0c89
keyutils: Use generic kernel config rendering 2024-01-25 17:34:11 +08:00
Xi Ruoyao
34b284fffe
kernel-config: Regenerate with 6.7.1
No content change!
2024-01-22 14:42:40 +08:00
Pierre Labastie
865ea30e33 Change to UTF-8 in kernel opt files 2024-01-19 22:39:35 +01:00
Xi Ruoyao
58c5c91272
kernel-config: Add back EFI_STUB to GRUB UEFI kernel configuration
This is a preparation for GRUB 2.12.  With GRUB 2.12 EFI stub is the
recommended way to boot x86 (32-bit or 64-bit) kernels with UEFI, and
the old way is only kept as fallback.
2023-12-21 19:32:14 +08:00
Xi Ruoyao
333d2a8433
kernel-config: The hot key for choices is just the first character
Stupid inconsistency...
2023-12-06 17:26:14 +08:00
Xi Ruoyao
62684867f0
kernel-config: Fix wrong highlight with digits and punctuations 2023-12-06 01:22:37 +08:00
Xi Ruoyao
2dd6b6bc66
libnl: Add kernel configuration for test suite 2023-12-05 15:50:06 +08:00
Xi Ruoyao
5a809f3053
kernel-config: Fix "the last config entry in a Kconfig file thrown away"
Triggered when I'm trying to add libnl test suite kernel configuration
parsing net/l3mdev/Kconfig :(.
2023-12-05 15:08:14 +08:00
Xi Ruoyao
900bdf4ab1
kernel-config: Don't leave bad .xml files when the command fails 2023-12-05 15:01:36 +08:00
Xi Ruoyao
da09255a1c
kernel-config: Drop FB
In Linux 6.6, we can select DRM_FBDEV_EMULATION without FB, so FB is no
longer needed.  And now FRAMEBUFFER_CONSOLE is not enforced (even if FB
is selected), so we need to select it manually.
2023-12-05 14:47:55 +08:00
Xi Ruoyao
b870678442
kernel-config: Regenerate with Linux 6.6.3
Intel and AMD microcode support is now always enabled on x86[_64] and
CONFIG_MICROCODE is now hidden, thus remove amd-ucode and intel-ucode
kernel configuration info.

The other changes seem trivial.
2023-12-05 14:29:14 +08:00
Xi Ruoyao
e0b726d16d
kernel-config: Remove stale file 2023-10-12 00:21:46 +08:00
Xi Ruoyao
b6d544942b
building-notes: Note how to use cgroup for limiting resource usage
We were saying "-jN means using N cores (or N threads)".  This is
completely wrong. "-jN" only tells the building system to run N jobs
simultaneously, but each job can start their own subprocesses or threads
and there is no way for the building system to know how many
subprocesses or threads a job will start.

This caused a lot of misunderstandings and encouraged users to wrongly
blame building systems.

Fix the description of -jN, and add how to use cgroup to control the
usage of CPU cores and system RAM.

On a systemd-based system, systemd is the cgroup manager and manually
operating on cgroups may puzzle systemd.  So use systemd-run for
creating and setting up cgroup.  On a sysv-based system create and set
up the cgroup manually.
2023-09-19 02:59:45 +08:00
Xi Ruoyao
a20b7c9281
kernel-config: Remove stale reiser.toml 2023-09-06 04:14:40 +08:00
Xi Ruoyao
a82dedfe3c
kernel-config: Remove REISERFS_FS{,_*} from btrfs-progs-test 2023-09-06 01:35:48 +08:00
Xi Ruoyao
57d41d4ccb
kernel-config: Regenerate with Linux 6.5.1
For some reason the Reiserfs is moved before Btrfs in menuconfig.
2023-09-06 01:28:21 +08:00
Xi Ruoyao
2e397ac816
kernel-config: Fix the location of kea.toml 2023-08-21 10:08:04 +08:00
Xi Ruoyao
bc2c990bc1
kernel-config: Add toml file for bubblewrap kernel and fix a small issue
I guess Ken forgot a "git add" here :).

And the entry for NAMESPACES should be "-*-", not "[*]".  It's because
we assume everyone is not setting EXPERT.
2023-08-13 09:33:51 +08:00
Xi Ruoyao
d4f7a21b8a
kernel-config: Fix move-if-changed logic and regenerate with linux-6.4.8 2023-08-08 11:14:54 +08:00
Xi Ruoyao
ddf89fff24
kernel-config: Separate toplevel menus with empty lines 2023-08-01 09:22:41 +08:00
Xi Ruoyao
0d2ef60591
kernel-config: Reuse parse_config for parsing choice
The special parse_choice function is just duplicating code unnecessary
and it has some flaws.  Remove it and handle choice's with parse_config
too.

All kernel.xml files regenerated and there is no change.
2023-08-01 00:27:35 +08:00
Xi Ruoyao
b18a8f667e
libusb: Reword the kernel configuration 2023-07-31 21:44:38 +08:00
Xi Ruoyao
cddcdb1411
treewide: The remaining of kernel configuration rendering 2023-07-31 21:44:38 +08:00
Xi Ruoyao
1cf243636e
introduction: Use new kernel configuration rendering in conventions 2023-07-31 21:44:38 +08:00
Xi Ruoyao
0add36657c
networking: Use new kernel configuration rendering 2023-07-31 21:44:38 +08:00
Xi Ruoyao
c41cafb3bc
kernel-config: Add color for hotkey
Align with recent LFS change.  Regenerate all kernel.xml files.
2023-07-31 21:44:37 +08:00
Xi Ruoyao
e7cd19a120
general: Use new rendering method for kernel configuration
It's almost a plain "conversion".  Exceptions:

- In elogind, [CGROUPS] is dropped because it's in LFS now.
- In libusb, move the kernel configuration to match the layout of other
  packages.
2023-07-31 21:44:37 +08:00
Xi Ruoyao
2fbed8076c
kernel-config: Fix a bug causing some menu not rendered
For example:

    menu "Power management and ACPI options"

    config ARCH_SUPPORTS_ACPI
        bool

    config ACPI
        bool
        depends on ARCH_SUPPORTS_ACPI
	prompt "ACPI (Advanced Configuration and Power Interface) Support"

    endmenu

If ACPI=y, we need to "backward propagate" it to ARCH_SUPPORTS_ACPI, in
order to further mark the menu used.  Otherwise the ACPI menu won't show
up.
2023-07-31 21:44:37 +08:00
Xi Ruoyao
14176436f0
kernel-config: Update the script
1. Don't throw unspecified entries too early.  Doing so caused various
   rendering glitches.  And we can now also check if an entry is
   selected but it's parent not.
2. "menu"s in Kconfig can also have dependencies...

Some pre-existing .toml data files are found problematic after the
change, fix them and regenerate all rendered -kernel.xml files.
2023-07-31 21:44:37 +08:00
Xi Ruoyao
c1beec5499
lm_sensors: Modernize, and use new rendering for kernel configuration
I believe the book documented how to configure the sensors in 1990s.
Let's document some modern thing instead.
2023-07-31 21:44:37 +08:00
Xi Ruoyao
9cc0aba5bb
postlfs: Convert the remaining kernel configuration to new rendering 2023-07-31 21:44:37 +08:00
Xi Ruoyao
7ebdf4e9f5
firmware: Use new kernel configuration rendering 2023-07-31 21:44:37 +08:00
Xi Ruoyao
4e37f01a45
kernel-config: Do not include kernel version in every generated file
This is stupid and it will cause meaningless diffs in version control
(like this commit does :( ).

Remove the kernel version from the generated XML files.  Add
kernel.version file into git to track the kernel version.
2023-07-31 21:44:37 +08:00
Xi Ruoyao
d67d543479
filesystems: Convert the remaining kernel configurations to use new rendering
I don't know these FS very well so I did not change things, except:

- "SCSI_LOW_LEVEL" should be "SCSI_LOWLEVEL" (without the "_" between
  "LOW" and "LEVEL").
- RAID append mode is deprecated, so I removed it.

And I've fixed some issues in kernel-config.py as well.
2023-07-31 21:44:36 +08:00
Xi Ruoyao
921c13a021
ntfs-3g: Use new kernel configuration rendering
and clarify the condition where CONFIG_FUSE is needed.
2023-07-31 21:44:36 +08:00
Xi Ruoyao
185ffd913f
kernel-config: Allow specifying non-module style forcing for tristate
instead of relying on unsound heuristic.
2023-07-31 21:44:36 +08:00
Xi Ruoyao
4955b595ba
fuse: Use new kernel configuration rendering
And fix the test command, simplify the doc install command, document a
mysterious test failure.
2023-07-31 21:44:36 +08:00
Xi Ruoyao
2d9bcc8c4d
dosfstools: Use new kernel configuration rendering, and ...
clarify the rationale of the package and kernel support.

Note that we actually do not need this package if we only need to mount
FAT fs, not create or check or relabel it.
2023-07-31 21:44:36 +08:00
Xi Ruoyao
6af847b8dd
uefi: Use new kernel config
Fix an issue causing kernel-config.py not to process indented "source"
directive in Kconfig for this.
2023-07-31 21:44:36 +08:00
Xi Ruoyao
c36db1c461
Convert the remaining of X to use the new kernel-config system 2023-07-31 21:44:36 +08:00
Xi Ruoyao
831ba20acd
kernel-config: Handle if/endif pairs in Kconfig, and allow to set "forced" attribute for options
For example, CONFIG_INPUT is forced w/o CONFIG_EXPERT.

libevdev kernel section needs these features to be rendered
successfully.
2023-07-31 21:44:36 +08:00
Xi Ruoyao
5ca8d70839
kernel-config: Allow setting comments for options, and convert Mesa 2023-07-31 21:44:35 +08:00
Xi Ruoyao
604355989a
Add kernel-config infrastructure
The kernel-config.py script takes a toml file containing a set of
kernel configuration key-value pairs.  Then it parses the Kconfig files
in a kernel source tree and render the given configuration as a
LFS-style <screen> in a separate XML file.  The XML file can be used in
the book with xinclude.

Some "features":

1. The lines are limited to 80 columns.
   If the text of the configuration option is too long, it will be
   trimmed; if the symbolic name of the option cannot fit in this line,
   a separate line will be used for it.
2. If a configuration option is given but it does not exist in Kconfig
   files, the script will abort immediately.  This helps catching
   removed options.
3. The script also aborts immediately if a configuration option is
   illegal, for example setting an option to 'M' while it cannot be a
   module.
4. The infrastructure is not wired into the main Makefile.  It's because
   not all editors have the latest kernel tree, and even if they do the
   locations of the kernel tree are still different.  To update the
   generated XML files, use
   "make -C kernel-config KERNEL_TREE=/sources/linux-x.y.z".

Backword incompatible change:

The script no longer outputs "CONFIG_" prefix for the symbolic name.  It
really does not make too much sense to waste 7 characters here because
it's a common prefix for all options!

A limitation:

The script does not really validate the configuration.  Generally
validating the configuration requires to solve the 3-CNF-SAT problem,
which is NP-complete.
2023-07-31 21:44:35 +08:00