Компилирование ядра Linux
Раньше ядро должно было располагаться в каталоге /usr/src/linux
cd /usr/src
zcat /path/to/patch-1.2.31.gz | patch -s -p0
zcat /path/to/patch-1.2.32.gz | patch -s -p0
Теперь ядро должно располагаться в каталоге /usr/src/linux-2.4.{version_number}
cd /usr/src
ln -s linux linux-2.4.18
bzcat /path/to/patch-2.4.19.bz2 | patch -s -p0
ln -s linux linux-2.4.19
bzcat /path/to/patch-2.4.20.bz2 | patch -s -p0
. . .
Чтоб ядро перекомпилировать нужно
cd /usr/src/linux
make xconfig # в графическом режиме
или
make config # в текстовом режиме
заполнить в графическом режиме параметры и выбрать нужные драверы
make dep ; make clean ;
MAKE='make -j2' make -j2
make zlilo или, если ядро получилось слишком большим
make bzlilo
возможно придется сделать команду
cp /vmlinux /boot/vmlinuz
lilo
Как увеличить скорость компиляции на SMP-машине
MAKE='make -j2' make -j2 # -j задает максимальное количество параллельных jobs
Как задать свою версию в ядре
vi /usr/src/linux/Makefile
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 18
EXTRAVERSION = YouNameIt
Как воспроизвести дефолтные установки дистрибутивного ядра
cd /usr/src/linux
cp /boot/config-2.6.18-3 /usr/src/linux/.config
make silentoldconfig
### make oldconfig
make xconfig
MAKE='make -j2' make -j2 # -j задает максимальное количество параллельных jobs
Компиляция и установка модулей
cd /usr/src/linux
make modules # в 2.6-й версии не нужен
make modules_инсталл
ls -l /lib/modules/2.4.18-3-YouNameIt
Изготовление init-ram-диска
Исполнять после инсталляции модулей:
mkinitrd -f /boot/initrd-2.4.18-3-YourNameIt 2.4.18-3-YourNameIt
vi /etc/lilo
###############################################################
image=/boot/vmlinuz-2.4.18-YouNameIt
label=new
initrd=/boot/initrd-YouNameIt
read-only
root=/dev/hda2
append="hdc=ide-scsi"
###############################################################
lilo
Компилирование ядра Linux
# cd /usr/src/linux/
# make xconfig или # make { menuconfig | config }
Смысл конфигурационных параметров ядра разъясняется здесь
# make dep
# make clean
# make bzlilo
# make modules
# make modules_install
# reboot
Это все.
Компилирование ядра с поддержкой автозагрузки модулей
0) cd /usr/src/linux
1) make menuconfig
Where I enable the features I want as odules
(for vfat support you should answer M for FAT and VFAT)
Besides, the kernel must be compiled with modversion
and kerneld support enabled.(This is the second submenu in
the config - select all the 3 items).
2) make install
At the end the old kernel (if it's /vmlinuz) will be renamed
/vmlinuz.old and the new will be /vmlinuz.
This option calls the script /usr/src/linux/arch/i386/boot/install.sh
which does the above renaming and runs lilo.If you don't want lilo just
comment out the last line in that script.
3) make modules
4) rm /lib/modules/2.0.0 (or move to another location)
5) make modules_install
6) VERY IMPORTANT to make linux boot the new kernel.
If you use lilo do not edit /usr/src/linux/arch/i386/boot/install.sh,
it will install it automaticly,if not then you are using either
loadlin or bootdisk.Either way update your bootdisk or loadlin kernel
(on your dos partition I guess).
7) Reboot linux.
# просмотр:
sysctl -a | grep tcp # просмотр
cat /proc/sys/net/ipv4/tcp_max_syn_backlog
sysctl net.ipv4.tcp_max_syn_backlog
# установка значения
sysctl -w net.ipv4.tcp_max_syn_backlog=1024
# установка значений при загрузке
/etc/sysctl.conf
net.ipv4.tcp_max_syn_backlog = 1024
Last-modified: Thu, 21 Dec 2006 21:39:40 GMT