Мне нужно обновить таймер ядра на моем сервере Ubuntu Lucid (10.04) на EC2 (с EBS) с 250 Гц до 1000 Гц, чтобы улучшить качество VoIP-вызовов.
Из того, что я прочитал, способ сделать это - загрузить исходный код ядра, настроить его, а затем установить.
Я нашел несколько достойных уроков, которые довольно специфичны для моей установки, лучшие из которых:
Это привело меня к следующим наборам команд, которые прекрасно работают, создавая файлы .deb без явных ошибок. Но затем, когда я перезагружаю сервер, частота таймера не обновляется.
sudo apt-get build-dep linux-image-$(uname -r)
sudo apt-get build-dep linux
sudo apt-get install fakeroot build-essential
sudo apt-get install crash kexec-tools makedumpfile kernel-wedge
sudo apt-get install libncurses5 libncurses5-dev
sudo apt-get install libelf-dev asciidoc binutils-dev kernel-package
cd /usr/src
sudo apt-get source linux-image-$(uname -r)
cd linux-*
sudo make menuconfig
# Processor type and features -> Timer frequency -> change to 1000HZ -> Exit -> Exit -> Yes (Save)
fakeroot debian/rules clean
fakeroot debian/rules binary-headers
fakeroot debian/rules binary-indep #This does the headers, docs, and source
#check deb 2-3 files were created
cd ..
ls *.deb
sudo dpkg -i linux-*.deb
#reboot
EDIT
Потратил некоторое время с jjohansen на irc # ubuntu-kernel и смог найти мою ошибку с его помощью - похоже, я должен был сделать шаг настройки между чисткой и сборкой. Кроме того, он рекомендовал всегда использовать исходный код из git, а не из пакета, так что это новые команды, которые нужно выполнить в середине того, что я имел выше:
cd /usr/src
# This is 700mb so it takes a while to download and set up
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-lucid.git
cd ubuntu*
git checkout --track -b ec2 origin/ec2
fakeroot debian/rules clean
fakeroot debian/rules editconfigs
fakeroot debian/rules binary
#Takes about 40min