Skip to content

Assistance for ensuring reasonably correct Linux kernel configuration and building.

License

Notifications You must be signed in to change notification settings

soaringDistributions/mirage335KernelBuild

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Copyright (C) 2022 mirage335 See the end of the file for license conditions. See license.txt for mirage335KernelBuild license conditions.

Assistance for ensuring reasonably correct Linux kernel configuration and building.

Usage

Copy '.config' files to ' "$scriptLib"/linux/lts/.config ' or similar.

 ./_getMinimal_cloud
 ./_build_cloud
 #./_build_cloud_lts
 #./_build_cloud_mainline
 ./_export_cloud
 #./_export_cloud_lts
 #./_export_cloud_mainline
 ./_upload_cloud
 #./_upload_cloud_lts
 #./_upload_cloud_mainline
 
 ./_getMinimal_cloud
 ./_create_lts
 ./_create_mainline

Design

Local build and upload included.

Multiple cloud build service configurations may be included - GitHub Actions, BuildJet, AWS CodeBuilder, etc.

Design - Kernel Configuration

Kernel may be configured as follows:
  1. Obtain kernel configuration from upstream dist/OS package or sources (eg. Debian Stable linux-config-ver package).
  2. Configure kernel with 'make oldconfig' and 'make menuconfig' until _kernelConfig_desktop report is acceptably similar to the report for a previous kernel version.
  3. Configure kernel again with 'make oldconfig' and 'make menuconfig', this time to acceptably satisfy _kernelConfig_server report.

Both the LTS and Mainline kernels may be configured as such. Beware the upstream dist/OS package should be for as recent a kernel as possible (to correctly enable drivers for newer hardware), but NEVER newer than the kernel to configure (as 'make oldconfig' obviously may not correctly backport differently named kernel symbols to a previous kernel version config). Reports from _kernelConfig functions are strong but not absolute recommendations (eg. some messages may be precautionary references to obsolete kernel symbol names in case these are ever seen again).

For the 'server' config, minimizing the effect of any future or unknown vulnerabilities, especially for kernel network drivers, 'BadUSB'/SDIO, etc, is most important.

Upstream changes to '_kernelConfig' report functions, once compiled in, will affect 'statement.sh' files, which can be used to quickly obtain and git diff new reports.

Redistribution and Preservation

git clone --depth 1 [email protected]:mirage335/mirage335KernelBuild.git cd mirage335KernelBuild/ ./ubiquitous_bash.sh _gitBest submodule update --init --depth 1 --recursive

Safety

Reasonably sane Linux kernel configuration still does not ensure reliability, security, performance, etc. Be careful to at least understand the choices presented, experiment thoroughly, and when appropriate, update frequently. Your accident is your accident. You have been warned.

Reference

https://en.wikipedia.org/wiki/Menuconfig 'Configuring Linux is a significant labor' Maybe not so much anymore.

Copyright

This file is part of mirage335KernelBuild.

mirage335KernelBuild is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

mirage335KernelBuild is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with mirage335KernelBuild. If not, see <http://www.gnu.org/licenses/>.

About

Assistance for ensuring reasonably correct Linux kernel configuration and building.

Resources

License

Stars

Watchers

Forks

Packages

No packages published