Commit graph

47 commits

Author SHA1 Message Date
Mikhail Novosyolov
7b7e171726 Do not autoactivate INTEGRITY_TRUSTED_KEYRING by IMA_TRUSTED_KEYRING 2020-11-13 03:04:16 +03:00
Mikhail Novosyolov
14cd264aa2 allow to read IMA policy at runtime, keep loading x509 by kernel offed and keep changing IMA policy after initial load offed (initrd or systemd load the policy) 2020-11-13 03:04:04 +03:00
Mikhail Novosyolov
cb3433c5ce Enable some IMA integrity parts, configs of x86_64 and i586 were different 2020-11-05 02:42:36 +03:00
Mikhail Novosyolov
b021593695 Enable -fstack-protector(-strong)
It is a rather low cost (in performance terms) additional security
and is useful for e.g. certified systems.
As the performance difference is not expected to be even measurable well enough,
let's enable is everywhere. We do not need to support GCC 5 any more.

https://lwn.net/Articles/584225/
https://zatoichi-engineer.github.io/2017/10/04/stack-smashing-protection.html
2020-06-23 12:48:16 +03:00
Mikhail Novosyolov
5f08ed1263 Add AltHa LSM Module
TODO: https://bugzilla.altlinux.org/show_bug.cgi?id=38225 has to be resolved
2020-03-16 23:58:42 +03:00
Mikhail Novosyolov
b320b958ee Build UML (User Mode Linux) 2020-03-13 20:35:12 +03:00
Evgenii Shatokhin
34e76862b9 Updated configs and AUFS patch for kernel 5.4.3
AUFS patch was rediffed manually due to missing upstream version for kernel 5.4
2019-12-16 16:09:18 +03:00
Evgenii Shatokhin
4ca3b2aeb5 Updated to version 5.3.1 2019-09-24 18:31:28 +03:00
Evgenii Shatokhin
d0260ef581 Updated to version 5.2.2 2019-07-22 13:30:14 +03:00
Evgenii Shatokhin
2dee2c0e88 Revisited configs to support kernel 5.1.x 2019-07-21 21:44:03 +03:00
Evgenii Shatokhin
27010ed411 Updated to version 5.0.7
AUFS was updated to version "4.20.4+-20190311" as well.
2019-04-09 18:56:43 +03:00
Evgenii Shatokhin
847ae8701e Updated to 4.20.10 - the first take; sorted the configs
AUFS was updated to "4.20.4+-20190211" in the process.

As for the sorted entries in the config files - this helps a lot during
rebases to the newer stable kernel branches.

Signed-off-by: Evgenii Shatokhin <eshatokhin@virtuozzo.com>
2019-02-23 11:44:19 +03:00
Evgenii Shatokhin
c5e1469ee5 Removed nrj-laptop flavour
It was long since obsolete but sometimes difficult to maintain.
Now that the common Ubuntu-like kernels are the main ones in ROSA, one
common flavour of stable-based kernels is enough.

Stable-based kernels are often inferior to Ubuntu-based ones in terms of
stability, performance and hardware support. Now they are only intended for
debugging and experiments with some new features.

Signed-off-by: Evgenii Shatokhin <eshatokhin@virtuozzo.com>
2019-02-20 09:46:06 +03:00
Evgenii Shatokhin
cad40ee513 Updated to version 4.19.6
Besides the upstream update, I have disabled building of nrj-laptop
kernels here.

Now that the main kernels used in ROSA are based on the sources from
Ubuntu, the stable-based kernels like this one are mostly intended for
debugging. No need to build nrj-laptop flavour each time. Let us make
things a bit easier for other ABF users at least.

Signed-off-by: Evgenii Shatokhin <eshatokhin@virtuozzo.com>
2018-12-02 20:05:14 +03:00
Evgenii Shatokhin
49aef36843 Updated to version 4.18.6 2018-09-08 20:07:02 +03:00
Evgenii Shatokhin
16b61b0a03 Updated to version 4.17.4 2018-07-06 22:31:19 +03:00
Evgenii Shatokhin
ec37d8a7d6 Updated to version 4.16.3 2018-04-22 16:28:32 +03:00
Evgenii Shatokhin
cc4817f8f8 Updated to version 4.15.2
Note: flex and bison are now required for the kernel build
unconditionally.
2018-02-11 22:31:37 +03:00
Evgenii Shatokhin
dbe92a9eb3 config: unwinder-related options have been renamed upstream 2018-01-10 22:34:38 +03:00
Evgenii Shatokhin
8e5b45ca4f Enable page table isolation (PTI) on x86_64 2018-01-10 22:22:05 +03:00
Evgenii Shatokhin
5ab5a294b2 Updated to version 4.14.1 2017-11-23 00:18:59 +03:00
Evgenii Shatokhin
b2fb4fa7cd Enable CONFIG_EFI_MIXED 2017-10-10 17:14:40 +03:00
Evgenii Shatokhin
40b56bd835 Updated to version 4.13.1 2017-09-11 18:31:26 +03:00
Evgenii Shatokhin
e59ce8d00a amdgpu: enable experimental support for "Southern Islands" series of GPUs
Ubuntu already has it enabled in its kernels 4.12.0-x.
2017-09-11 12:56:11 +03:00
Evgenii Shatokhin
c2d7aa28fb Prepared the files for the kernel 4.12.2, the first take 2017-07-16 22:50:33 +03:00
Evgenii Shatokhin
c3fbc1a79e Updated to version 4.11.3, the first take 2017-06-04 16:27:41 +03:00
Evgenii Shatokhin
a70892aa21 Restore CONFIG_FW_LOADER_USER_HELPER=y
It was erroneously removed before.
2017-03-22 17:48:49 +03:00
Evgenii Shatokhin
768a2e6073 Revert "Revert some of the suspicious changes to debug the boot process"
This reverts commit e74b718f36.

Looks like it was a false alarm.
2017-03-22 17:46:14 +03:00
Evgenii Shatokhin
e74b718f36 Revert some of the suspicious changes to debug the boot process 2017-03-19 19:54:54 +03:00
Evgenii Shatokhin
e8471b42b2 Updated to 4.10.x (4.10.4 atm), the first take
While at it, made the configs a bit closer to those from Ubuntu:
* disabled IDE drivers which are now barely maintained anyway;
* disabled some debugging facilities (verboseness of some drivers,
  etc.);
* made some often used modules like vfat, fuse, ata_piix, etc.,
  built-in.
* and so forth.
2017-03-19 16:56:31 +03:00
Evgenii Shatokhin
1d3485b8be Set the missing config options 2017-03-12 17:43:09 +03:00
Evgenii Shatokhin
3663fa6899 Allow to set the default loglevel threshold for the console at build time
...And set it to 3, which should only allow to print the messages with
KERN_EMERG, KERN_ALERT and KERN_CRIT levels. This should make the boot
process less noisy.

Can be overridden with loglevel=n boot option.
2017-03-12 17:09:04 +03:00
Evgenii Shatokhin
25c71c8f1d x86_64: Reset PHYSICAL_START to its default value. 2017-03-12 16:44:23 +03:00
Evgenii Shatokhin
d8d72ad35b x86_64: Enable KEXEC_FILE - might be needed for the newer kexec tools to work 2017-03-12 16:41:08 +03:00
Evgenii Shatokhin
b23d434eec Make it explicit that ext4 is used for ext2 and ext3 now 2017-01-21 18:33:36 +03:00
Evgenii Shatokhin
79fd81ffd1 Adapted the configuration files for version 4.9.0 2017-01-06 21:08:06 +03:00
Evgenii Shatokhin
72f5272106 Enable encryption support in ext4 2016-11-16 16:09:23 +03:00
Evgenii Shatokhin
0260460708 Updated to version 4.8.4, the first take
Besides the upstream kernel update to 4.8.x, the following changes were
made:

* BFQ was updated to v8r4
* AUFS was updated to version 4.8-20161010
2016-10-23 22:01:06 +03:00
Evgenii Shatokhin
156e7930a5 Disable FW_LOADER_USER_HELPER_FALLBACK
It causes problems with WiFi:
http://forum.rosalab.ru/viewtopic.php?f=53&t=5372&p=76294#p76294
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1398458
2016-09-18 22:39:48 +03:00
Evgenii Shatokhin
779aaf6307 Enabled support for SMB2, SMB3 as well as FS cache for CIFS 2016-09-05 18:00:59 +03:00
Evgenii Shatokhin
1ecfcf2705 Made "schedutil", "conservative" and "powersave" CPU governors built-in
They were built as cpufreq_* modules before, unlike "ondemand" and such.
Making them all builtin makes it easier experimenting with them.
2016-08-31 16:34:11 +03:00
Evgenii Shatokhin
e7a7e32ae0 Revisited the patches and configs for the kernel 4.7.x 2016-08-23 16:24:13 +03:00
Evgenii Shatokhin
9d9b9b948c Revisited memory sanitization mechanism for 4.6.x
1. Got rid of statistics to simplify maintenance. Changing global
kernel structures is not a thing to take lightly.

2. Removed sanitization of pages. Starting from kernel 4.6, page
poisoning should be used instead. To enable it, set page_poison=on in
the boot options for the kernel.

3. The sanitization patch is now applied only if enhanced security is
enabled (disabled by default for ROSA Fresh, enabled for cert. builds).

You can also use "rpmbuild -ba --with enhanced_security <...>" to force
enable the feature.
2016-07-29 13:39:16 +03:00
Evgenii Shatokhin
fc4df3e1ea Build support for SELinux instead of TOMOYO
This helps unify the kernels for the ordinary systems and for the
certified systems a bit more.

SELinux components are built-in but disabled by default. To enable
SELinux, it should be enough to add "selinux=1" to the kernel options
at boot time (or in the bootloader configuration file).
2016-07-26 16:14:14 +03:00
Evgenii Shatokhin
457c8e99e4 Enabled INTEGRITY and IMA
This helps unify the kernels for the ordinary systems and for the
certified systems a bit more.
2016-07-26 12:54:15 +03:00
Evgenii Shatokhin
ec9b2ccf64 Minor fixes for the builds with debug info enabled
"rpmbuild -ba --with debug kernel.spec" can now be used to build the
kernel with debug info.
2016-07-21 15:59:26 +03:00
Evgenii Shatokhin
05a8c49046 Revisited the set of kernel flavours and the generation of config files
Until now, the build system for the kernel supported a number of
flavours: nrj and non-nrj ones, desktop-, laptop-, server- and
netbook-oriented, etc.

It turned out over the years, however, that our users mostly need the
following:

* a kernel to use on the desktops (home and office use) with reasonable
  default settings for performance and responsiveness;
* a kernel for laptops, with a bit more emphasis on power consumption.

Other variants were rarely used. We also did not have enough time to
properly support all these.

Besides, the kernels for ARM and other architectures need a somewhat
different build process than for x86. So, they are better off to be in
separate ABF projects, even if they are needed. No signs of ROSA on ARM
yet, btw.

So, I kept only nrj-desktop and nrj-laptop flavours and only x86.

Non-PAE systems also seem to be rare now, so I enabled PAE by default
for the 32-bit kernels. Non-PAE kernels are no longer built. If they are
needed, we may use a separate git branch or an ABF project for that.

To simplify debugging, maintenance and experimentation with the kernel
builds further, I revisited the process of preparing the kernel
configuration files. The goal is to get rid of a separate git repo with
the default configs (kernel-patches-and-configs) and keep everything in
this project.

The default config files are now kept here. For x86_64:
* kernel-x86_64.config contains the options for both nrj-desktop and
  nrn-laptop flavours;
* kernel-{nrj_desktop|nrj_laptop}-x86_64.config files contain the
  flavour-specific options.

This way, it is easier to track which config options changed when,
easier to experiment with the custom configs and so on.

The kernel will be built with debug info if rpmbuild is called with
"--with debug".
2016-07-21 13:56:25 +03:00