Начинаю с чистой установки
ubuntu 22.04.1 LTS
sudo apt update
sudo apt upgrade
Необязательные
локально ставлю
sudo apt mc nano openssh-server
На всякий:
sudo apt install git meld rabbitvcs-core rabbitvcs-cli rabbitvcs-gedit rabbitvcs-nautilus
git config —global credential.helper store
Чтобы качать ком.строкой, это wget, заодно curl:
sudo apt install curl wget
Необходимые инструменты
(При попытке sudo apt install build-essential
Получил ошибку из-за начального upgrade: following packages have unmet dependencies: libc6-dev : Depends: libc6 (= 2.35-0ubuntu3) but 2.35-0ubuntu3.1 is to be installed
Ставлю нужную версию либы вручную:
sudo apt install libc6=2.35-0ubuntu3 )
sudo apt install libncurses-dev dwarves build-essential bc bison flex libssl-dev libelf-dev
Можно cd ; mkdir ws; cd ws
Качаю ядро
ссылку с сайта kernel.org копипастом:
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.95.tar.xz
tar xf ./linux-5.15.95.tar.xz
Сборку делаю в отдельной от исходников директории
mkdir linuxbuild; cd linuxbuild
make -f ../linux-5.15.95/Makefile defconfig
теперь make menuconfig и make nconfig работают в билд-директории
(можно бы cp /boot/config-5.11.0-25-generic .config
или make oldconfig; make localmodulesconfig
и далее make modules; make modules_install <куда не по умолчанию>
Ещё проще собрать make deb-pkg; и поставить sudo dpkg -i ../*.deb; тогда можно и удалять автоматом )
Собственно билд
измеряю время, запуская через time. Ставлю -j «сколько ядер»
time make -j8
слежу через htop, что загружены все ядра, и sensors за температурой процессора.
В итоге получаю
для i7-3770:
real 5m17,220s
user 37m7,036s
sys 3m21,758s
температура до 65 градусов.
для i5-4300u (x240):
real 12m26,198s
user 44m25,180s
sys 3m59,565s
температура до 83 градусов.
для виртуалки на 8 ядрах i5-12600k:
real 1m48,654s
user 11m6,429s
sys 2m8,083s