Три способи оновлення ядра промислової комп'ютерної системи CentOS
Під час використання CentOS оновлення ядра є неминучим, але іноді через проблеми залежності компіляції вихідного коду не всі програми підтримують останню версію ядра, тому нижче буде представлено три способи оновлення ядра.
Примітка:
Про типи ядер:
ml у kernel-ml — це абревіатура від [mainline stable] англійською мовою, а остання стабільна версія mainline перелічена в elrepo-kernel.
LT у kernel-lt — це абревіатура від [long term support] англійською мовою, а версія з довгостроковою підтримкою вказана в elrepo-kernel.
Перевірте версію ядра
uname -r

Зміст
1. встановлення yum
1. Імпортуйте вихідний код репозиторію
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm-Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
2. Перегляньте пакети, що встановлюються
yum --enablerepo="elrepo-kernel" список --showduplicates | сортувати -r | grep
kernel-ml.x86_64
3. Виберіть версію ML або LT для встановлення
Якщо версія не вказана, за замовчуванням встановлюється остання версія
Встановити версію ML
yum --enablerepo=elrepo-kernel встановити kernel-ml-devel kernel-ml -y
Встановіть LT-версію, виберіть це для всіх K8S
yum --enablerepo=elrepo-kernel встановити kernel-lt-devel kernel-lt -y
4. Перевірте поточну послідовність завантаження ядра
awk -F\' '$1=="запис_меню" {print $2}' /etc/grub2.cfg
5. Змініть елемент завантаження за замовчуванням
xxx – це серійний номер, який вказує на x-й елемент у списку завантаження як елемент завантаження, а x починає відлік з 0.
grub2-set-за замовчуванням xxxx
Наприклад, якщо ви хочете налаштувати завантаження з ядром 4.4
потім безпосередньо введіть "grub2-set-default 0", і ви зможете почати з версії 4.4 наступного разу, коли запустите
Перевірте послідовність завантаження ядра
[root@localhost ~] awk -F\' '$1=="запис_меню" {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.179-1.el7.elrepo.x86_64) 7 (ядро)
CentOS Linux (3.10.0-693.el7.x86_64) 7 (ядро)
CentOS Linux (0-rescue-6d4c599606814867814f1a8eec7bfd1e) 7 (ядро)
Встановіть порядковий номер завантаження
[root@localhost ~] grub2-set-default 0
Перезавантаження
перезавантаження
Перевірте версію ядра
uname -r
2. Встановлення RPM
Перевірте версію ядра
uname -r
1. Знайдіть версію
Оскільки вихідний код ELRepo є останньою версією, стару версію ядра можна завантажити лише вручну.
Знайдіть історичну версію rpm ядра:
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/
2. Вам потрібно завантажити три типи rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt
devel-4.4.215-1.el7.elrepo.x86_64.rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt
заголовки-4.4.215-1.el7.elrepo.x86_64.rpm
wget
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-
4.4.215-1.el7.elrepo.x86_64.rpm
3. Встановіть ядро
rpm -ivh kernel-lt-4.4.215-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64.rpm
або
#Встановіть все одним клацанням миші
об/хв -Uvh *.об/хв
4. Підтвердьте встановлену версію ядра
[root@localhost ~]# rpm -qa | grep kernel
kernel-headers-3.10.0-1160.15.2.el7.x86_64
kernel-devel-3.10.0-1160.49.1.el7.x86_64
kernel-tools-libs-3.10.0-957.el7.x86_64
kernel-3.10.0-957.el7.x86_64
kernel-ml-4.9.9-1.el7.elrepo.x86_64
kernel-lt-4.4.215-1.el7.elrepo.x86_64
kernel-tools-3.10.0-957.el7.x86_64
kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64
5. Налаштування автозавантаження
Перевірте порядок запуску
[root@localhost ~]# awk -F\' '$1=="запис_меню" {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.215-1.el7.elrepo.x86_64) 7 (ядро)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (ядро)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (ядро)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (ядро)
Встановіть порядок завантаження
[root@localhost ~]# grub2-set-default 0
Перезавантажте, щоб набути чинності
[root@localhost ~]# перезавантаження
3. Встановлення вихідного коду
1. Встановіть основний програмний пакет
yum install -y gcc make git ctags ncurses-devel openssl-devel
yum install -y bison flex elfutils-libelf-devel bc
2. Створіть каталог компіляції ядра
Використовуйте каталог kernelbuild у розділі home
mkdir ~/збірка ядра
3. Отримайте вихідний код ядра
Дзеркальний сайт Університету Цінхуа:
https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/?C=M&O=D
Адреса для завантаження іншого пакета встановлення вихідного коду:
https://mirrors.edge.kernel.org/pub/linux/kernel/
linux-4.xx.xx.tar.xz
linux-4.xx.xx.tar.gz
Обидва формати прийнятні, tar.xz має вищий коефіцієнт стиснення та менший розмір файлу.
Завантажити онлайн: wget https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/linux-4.17.11.tar.xz
4. Розпакуйте код ядра
Після розпакування, увійдіть до каталогу з вихідним кодом:
tar -xvJf linux-4.17.11.tar.xz
Щоб переконатися, що дерево ядра абсолютно чисте, увійдіть до каталогу ядра та виконайте команду make mrproper:
cd linux-4.17.11
зробити чистим та зробити належним
5. Конфігурація ядра
Скопіюйте поточний файл конфігурації ядра
config-3.10.0-862.el7.x86_64 — це файл конфігурації ядра мого поточного середовища, змініть його відповідно до фактичної ситуації.
cp /boot/config-3.10.0-862.el7.x86_64 .config
Розширена конфігурація
y увімкнено, n вимкнено, а m увімкнено за потреби.
make menuconfig: старий інтерфейс ncurses замінено на nconfig
make nconfig: Новий інтерфейс командного рядка ncurses
6. Компіляція та встановлення
Компіляція ядра
Якщо у вас чотириядерний процесор, x може бути 8
зробити -jx
Встановіть ядро
Після компіляції ядра встановіть: Попередження: Відтепер вам потрібні root-права для виконання команд, інакше це призведе до помилки.
зробити встановлення modules_install
7. Налаштування автозавантаження
Перевірте послідовність запуску
[root@localhost ~]# awk -F\' '$1=="запис_меню" {print $2}' /etc/grub2.cfg
CentOS Linux (4.17.11-1.el7.elrepo.x86_64) 7 (ядро)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (ядро)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (ядро)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (ядро)
Встановити порядок завантаження
[root@localhost ~]# grub2-set-default 0
Перезавантажте, щоб набути чинності
[root@localhost ~]# перезавантаження
LET'S TALK ABOUT YOUR PROJECTS
- sinsmarttech@gmail.com
-
3F, Block A, Future Research & Innovation Park, Yuhang District, Hangzhou, Zhejiang, China
Our experts will solve them in no time.

ПК для монтажу в стійку
Вбудовані обчислення
Промислові портативні комп'ютери
Міцні планшети
Міцний ноутбук
Промисловий панельний ПК
Міцний портативний пристрій
Промисловий ПК Advantech