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.
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
Local build and upload included.Multiple cloud build service configurations may be included - GitHub Actions, BuildJet, AWS CodeBuilder, etc.
Kernel may be configured as follows:
- Obtain kernel configuration from upstream dist/OS package or sources (eg. Debian Stable linux-config-ver package).
- Configure kernel with 'make oldconfig' and 'make menuconfig' until _kernelConfig_desktop report is acceptably similar to the report for a previous kernel version.
- 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.
git clone --depth 1 [email protected]:mirage335/mirage335KernelBuild.git cd mirage335KernelBuild/ ./ubiquitous_bash.sh _gitBest submodule update --init --depth 1 --recursive
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.
https://en.wikipedia.org/wiki/Menuconfig 'Configuring Linux is a significant labor' Maybe not so much anymore.
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/>.