Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Начнем-с, а не собрать ли нам ядро?

Имеем в наличии

cat /etc/redhat-release

CentOS Linux release 7.6.1810 (Core)

uname -sr

Linux 3.10.0-957.10.1.el7.x86_64

Нам понадобятся:

  • wget
  • gcc
  • vim, но можно и обойтись vi или nano, тут кому как привычнее.
    Сначала лучше обновиться, а то вдруг все уже интересующие вкусности нового ядра с обновками придут.

yum update -y

Либо просто идем на https://www.kernel.org/ и тянем интересующее нас ядро.
Я выбрал последнее из longterm
Я сохраняю все сорсы в /usr/src, мне так удобнее, поэтому
cd /usr/src wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.36.tar.xz
Распаковываем архив
unzx -v linux-4.19.36.tar.xz
или
xz -d -v linux-4.19.36.tar.xz

Проверяем исходники ядра
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.36.tar.sign gpg --verify linux-4.19.36.tar.sign
и если получаем
gpg: Signature made Sat 20 Apr 2019 10:16:42 AM MSK using RSA key ID 6092693E gpg: Can't check signature: No public key

то имеем issue =)
Ладно мчим дальше, берем key ID
gpg --recv-keys 6092693E
и если с выходом в internet у вас все ок, то
gpg: keyring `/root/.gnupg/secring.gpg' created gpg: requesting key 6092693E from hkp server keys.gnupg.net gpg: /root/.gnupg/trustdb.gpg: trustdb created gpg: key 6092693E: public key "Greg Kroah-Hartman (Linux kernel stable release signing key) <[email protected]>" imported gpg: key 6092693E: public key "Totally Legit Signing Key <[email protected]>" imported gpg: key 6092693E: public key "Greg Kroah-Hartman <[email protected]>" imported gpg: no ultimately trusted keys found gpg: Total number processed: 3 gpg: imported: 3 (RSA: 3)
и опять верификация
gpg --verify linux-4.19.36.tar.sign
и если вам выдало похожее без всяких Error или Bad Signature
gpg: Signature made Sat 20 Apr 2019 10:16:42 AM MSK using RSA key ID 6092693E gpg: Good signature from "Greg Kroah-Hartman <[email protected]>" gpg: aka "Greg Kroah-Hartman <[email protected]>" gpg: aka "Greg Kroah-Hartman (Linux kernel stable release signing key) <[email protected]>" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 647F 2865 4894 E3BD 4571 99BE 38DB BDC8 6092 693E
идем дальше
tar xvf linux-4.19.36.tar.sign cd linux-4.19.36 cp -v /boot/config-$(uname -r) .config
Вывод команды:
‘/boot/config-3.10.0-957.5.1.el7.x86_64’ -> ‘.config’

Ставим пакет для разработки
yum groupinstall "Development Tools" -y
И дополнительные пакеты:
yum install ncurses-devel bison flex elfutils-libelf-devel openssl-devel

И переходим к самому таинству, а именно:
make menuconfig
и настраиваем конфиг в текстовом гуе.
В принципе, если вы знаете точные названия параметров, то можно обойтись и vim .config

После того, как изменили конфиг и сохранили его.
make
Чтобы ускорить можно в несколько потоков это сделать
make -j 4
или в зависимости от количества ядер CPU
make -j $(nproc)
у меня не хватило места, я потушил машину, расширил диск и далее:
в моем случае случаее всего две партиции и поэтому
fdisk -l /dev/sda
d 2 - удаляем вторую партицию
n p - добавляем ее и по дефолту дальше все
t 8e делаем ее Linux LVM
w - записываем
в ребут, после ребута
pvresize
pvdisplay

должны увидеть
Free PE 2048
Далее в моем случае
lvextend -l +2048 /dev/centos/root
и так как я профавлил на установке и у меня xfs то
xfs_growfs /dev/centos/root

и

Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   15G  6.1G  8.2G  43% /

И далее:
make modules_install

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.19.36
Found initrd image: /boot/initramfs-4.19.36.img
Found linux image: /boot/vmlinuz-4.19.36.old
Found initrd image: /boot/initramfs-4.19.36.img
Found linux image: /boot/vmlinuz-3.10.0-957.10.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-957.10.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-957.5.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-957.5.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-d9f5cf103bf448d3b3ff84ba8b528f9e
Found initrd image: /boot/initramfs-0-rescue-d9f5cf103bf448d3b3ff84ba8b528f9e.img

grubby --set-default /boot/vmlinuz-4.19.36

И проверим какое ядро по дефолту в буте:

/boot/vmlinuz-4.19.36

/sbin/reboot
и надеюсь у вас все удачно как у меня =)

4.19.36```