управление_ядром_и_модулями_в_linux

Управление ядром и модулями в Linux

Что за ядро

# uname -a

Модули ядра

# find /lib/modules/`uname -r`/kernel/

$ lsmod

# modinfo e1000

# modprobe ip_gre

# modprobe -r ip_gre

# iptables -L

# lsmod | grep ip

# cat /etc/modules

Сообщения ядра

$ dmesg -T

Переменные ядра

# sysctl -a

# sysctl net.ipv4.ip_default_ttl=2

# cat /etc/sysctl.conf

# sysctl -f

Сборка модулей ядра

Сборка ядра

Сборка ядра в Gentoo

# emerge --ask hardened-sources
# echo "=sys-kernel/hardened-sources-4.8.17-r2" >> /etc/portage/package.unmask
# emerge --ask hardened-sources
# time emerge -av sys-kernel/gentoo-sources

real    8m44.821s
user    5m37.132s
sys     1m56.026s

/usr/src/linux # make defconfig

/usr/src/linux # make menuconfig

/usr/src/linux # time make -j3

real    20m6.287s
user    34m28.865s
sys     4m4.605s

/usr/src/linux # make modules_install

/usr/src/linux # make install

# grub-mkconfig -o /boot/grub/grub.cfg

Сборка ядра в Debian/Ubuntu

Установка инструментария

# apt-get install libncurses5-dev kernel-package

# cd /usr/src/

Получение исходных текстов из репозитория

# apt-get install linux-source

# tar -xvf linux-source-X.X.XX.tar.bz2

Получение исходных текстов из kernel.org

# wget http://www.kernel.org/pub/linux/kernel/vX.X/linux-X.X.X.tar.bz2

# tar -xvf linux-X.X.X.tar.bz2

Копирование конфигурации текущего ядра

# cd linux-*

# yes "" | make oldconfig

Модификация исходных текстов ядра

Конфигурирование, компилирование и установка ядра

# cd /usr/src

# cd linux-*

# make menuconfig
  • General setup→Local version - append to kernel release→mykernel
# less .config

# time make-kpkg --initrd kernel-image kernel-headers

# cd /usr/src

# dpkg -i linux-image-X.X.XX.XX+drmXX.XXmykernel_X.X.XX.XX+drmXX.XXmykernel-10.00.Custom_i386.deb

# dpkg -i linux-headers-X.X.XX.XX+drmXX.XXmykernel_X.X.XX.XX+drmXX.XXmykernel-10.00.Custom_i386.deb

# cd /boot

# mkinitramfs -k -o initrd.img-X.X.XX.XX+drmXX.12mykernel X.X.XX.XX+drmXX.XXmykernel

# update-grub2
управление_ядром_и_модулями_в_linux.txt · Last modified: 2022/12/13 14:38 by val