Leave Your Message
*Name Cannot be empty!
* Enter product details such as size, color,materials etc. and other specific requirements to receive an accurate quote. Cannot be empty
Запросить ценовое предложение
Три способа обновления ядра системы CentOS на промышленных компьютерах
Блог

Три способа обновления ядра системы CentOS на промышленных компьютерах

2024-10-17 15:08:44

При использовании CentOS обновление ядра неизбежно, но иногда из-за проблем с зависимостями компиляции исходного кода не все программы поддерживают последнюю версию ядра. Поэтому ниже будут рассмотрены три способа обновления ядра.

Примечание:
О типах ядра:
Аббревиатура ml в kernel-ml — это сокращение от [mainline stable] на английском языке, а последняя стабильная версия основной ветки указана в elrepo-kernel.
Аббревиатура lt в kernel-lt — это сокращение от [long term support] на английском языке, а версия с долгосрочной поддержкой указана в elrepo-kernel.
Проверьте версию ядра.
имя -р

Изображение 1
Оглавление

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" list --showduplicates | sort -r | grep
kernel-ml.x86_64
3. Выберите версию ML или LT для установки.
Если версия не указана, по умолчанию устанавливается последняя версия.
Установить версию ML
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
Установите версию LT, выберите её для всех приложений Kubernetes.
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y
4. Проверьте текущую последовательность загрузки ядра.
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
5. Измените элемент загрузки по умолчанию.
xxx — это серийный номер, который указывает, что загрузочным элементом является x-й элемент в списке загрузки, и отсчет по x начинается с 0.
grub2-set-default xxxx
Например, если вы хотите настроить загрузку с ядром 4.4.
Затем введите напрямую "grub2-set-default 0", и при следующем запуске вы сможете начать с версии 4.4.
Проверьте последовательность загрузки ядра.
[root@localhost ~] awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.179-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-6d4c599606814867814f1a8eec7bfd1e) 7 (Core)
Установите порядковый номер загрузки.
[root@localhost ~] grub2-set-default 0
Перезагрузить
перезагрузить
Проверьте версию ядра.
имя -р

Изображение 2

2. Установка RPM

Проверьте версию ядра.
имя -р
1. Найдите версию
Поскольку исходный код ELRepo содержит последнюю версию, старую версию ядра можно загрузить только вручную.
Найдите историческую версию пакета kernel 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
headers-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.об/мин
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 *.rpm
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=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.215-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (Core)
Установите порядок загрузки.
[root@localhost ~]# grub2-set-default 0
Для вступления изменений в силу перезагрузите компьютер.
[root@localhost ~]# reboot

3. Установка исходного кода

1. Установите основной пакет программного обеспечения.
yum install -y gcc make git ctags ncurses-devel openssl-devel
yum install -y bison flex elfutils-libelf-devel bc
2. Создайте каталог для компиляции ядра.
Используйте каталог kernelbuild в домашней директории.
mkdir ~/kernelbuild
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.
make -jx
Установите ядро
После компиляции ядра выполните установку: Внимание: Для выполнения команд далее требуются права root, иначе установка завершится неудачей.
make modules_install install
7. Настройка запуска
Проверьте последовательность запуска.
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.17.11-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (Core)
Установить порядок загрузки
[root@localhost ~]# grub2-set-default 0
Для вступления изменений в силу перезагрузите компьютер.
[root@localhost ~]# reboot


Сопутствующие товары

Платформа для вычислений с использованием искусственного интеллекта Intel® Core™ Ultra 200S, безвентиляторный мини-ПКПлатформа для вычислений с использованием искусственного интеллекта Intel® Core™ Ultra 200S, безвентиляторный мини-ПК.
02

Платформа для вычислений с использованием искусственного интеллекта Intel® Core™ Ultra 200S, безвентиляторный мини-ПК

2025-12-23
  1. Процессор: Поддерживает процессоры Intel® Core Процессоры Ultra 200S (сокет LGA 1851, 65 Вт/35 Вт)
  2. Память: 1 слот SODIMM, поддержка до 64 ГБ памяти DDR5 6400.
  3. Изображение: Интегрированная графика Intel® Xe LPG
  4. Интерфейсы дисплея: 1 порт HDMI с максимальным разрешением 3840 x 2160; 1 порт DisplayPort с максимальным разрешением 3840 x 2160.
  5. Хранение данных: 1 легко заменяемый отсек для 2,5-дюймовых накопителей (можно установить жесткие диски/SSD толщиной 7 мм), 1 слот M.2 2280 M-key (PCIe Gen4x4), поддерживающий NVMe SSD.
  6. Ethernet: 4 порта Ethernet 2,5GBASE-T с фиксирующими винтами, использующие контроллер Intel I226 Gigabit Ethernet. Порт 4 поддерживает функцию Wake-on-Network (WOL).
  7. USB: 4 порта USB 3.2 Gen1 (5 Гбит/с), 2 порта USB 2.0.
  8. Габариты: 212 мм (Ш) x 165 мм (Г) x 63 мм (В), вес около 2,2 кг.
  9. Подходит для: роботизированных манипуляторов, автономных мобильных роботов, систем машинного зрения и придорожных шкафов.
посмотреть подробности
01

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.