гm running Ubuntu 15.10 on в new laptop but in order to get proper full support for this хардвер I apparently need the 4.4 kernel + в custom patch. See here if yoгre interested in the details.
I know about the mainline kernel PPAs but my understanding is that they don't ест with source. If this is the вступил в брак, This would seem to удали тебе the possibility of using в mainline kernel PPA because I can't patch it. So гve been trying to check out the git source and build it but can't find up to восходил, relevant instructions.
Хан somebody help with instructions for building в 4.4 kernel on 15.10?
Получите и скомпилируйте ядро магистрали, метод мерзавца:
см. также: https://wiki.ubuntu.com/KernelTeam/GitKernelBuild, я делаю вещи, немного отличающиеся (что еще является новым?).
Предпосылки (Должны):
Шаг 1 к apt-get update
и apt-get dist-upgrade
(т.е. удостоверьтесь, что все актуально),
Шаг 2
sudo apt-get install fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge
Шаг 3
sudo apt-get build-dep linux
Шаг 4
sudo apt-get install git-core libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev
Предпосылки с ядра 4.3:
sudo apt-get install libssl-dev
Предпосылки (дополнительно):
sudo apt-get install git-email git-doc
Часть мерзавца:
mkdir temp-k-git
cd temp-k-git
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd linux
Никогда не наполняйте в основном ответвлении по умолчанию. Всегда делайте некоторую рабочую область.
git checkout -b k44rc8_stock v4.4-rc8
Украдите конфигурационный файл ядра Ubuntu (уже установленный):
ls -l /boot
cp /boot/config-4.4.0-040400rc8-generic .config
Файл конфигурации Ubuntu имеет полную отладку. Делает огромное ядро и берет вдвое более долго для компиляции
scripts/config --disable DEBUG_INFO
Специальное замечание с Ядра 4.4 и при компиляции использования Ubuntu 14.04 (я не знаю приблизительно 15,10), с более старой версией компилятора C: Это не может скомпилировать с CONFIG_CC_STACKPROTECTOR_STRONG.
scripts/config --disable CC_STACKPROTECTOR_STRONG
Скомпилируйте ядро:
time make -j9 bindeb-pkg <<< Suggest use number of CPUs + 1. Use less for some responsiveness to be left for other uses
<<< I always time the kernel build.
или
time make -j9 bindeb-pkg LOCALVERSION=-stock <<< For a localized verion name append
или
time make -j9 olddefconfig bindeb-pkg LOCALVERSION=-stock <<< To automatically use defaults for any new config stuff (particuarly useful when bisecting the kernel).
Когда сборка завершится, установите ее:
sudo dpkg -i ../linux-headers-4.4.0-rc8-stock_4.4.0-rc8-stock-144_amd64.deb
sudo dpkg -i ../linux-image-4.4.0-rc8-stock_4.4.0-rc8-stock-144_amd64.deb
Так, в этой точке мы знаем компиляции ядра магистрали хорошо., поэтому перейдите на пользовательское ядро. Создайте новое ответвление, примените патчи и компиляцию:
$ git checkout -b k44rc8_custom v4.4-rc8
Switched to a new branch 'k44rc8_custom'
$ git am plv6_1_3.patch
Applying: cpufreq: intel_pstate: configurable algorithm to get target pstate
$ git am plv6_2_3.patch
Applying: cpufreq: intel_pstate: account for non C0 time
$ git am plv6_3_3.patch
Applying: cpufreq: intel_pstate: Account for IO wait time
$ time make -j9 olddefconfig bindeb-pkg LOCALVERSION=-custom
Обратите внимание, что это нарочно, что я не делаю a make clean
, поскольку желательно сэкономить много времени путем выполнения возрастающей сборки. Первая компиляция заняла 21 минуту и 26 секунд, но следующая пользовательская компиляция заняла только 4 минуты и 43 секунды.
Если Вы перейдете к странице http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4-rc8-wily , то Вы найдете указание README, как получить исходные файлы для 4.4rc8
, Инструкции для сборки немного сбивают с толку. Я видел несколько рецептов для создания ядер, все немного отличающиеся. Существует несколько предпосылок: могут быть некоторые другие, которые требуются для 4,4 ядер
sudo apt-get build-dep linux-image-$(uname -r)
sudo apt-get install libncurses5-dev
Затем команды, которые я дал для успешной сборки:
chmod a+x debian/scripts/*
chmod a+x debian/scripts/misc/*
nano debian.master/changelog
fakeroot debian/rules clean
fakeroot debian/rules editconfigs
fakeroot debian/rules binary-headers binary-generic skipabis=true
Изменение файла журнала изменений, чтобы указать, что я создаю свое собственное ядро путем добавления чего-то в конец первого номера версии, который показывают.
Вот краткий вариант установки в дистрибутивах на основе Debian:
# Install dependencies
sudo apt install -y git build-essential kernel-package fakeroot libncurses5-dev libssl-dev ccache
# Clone the kernel
mkdir ~/kernelbuild
cd ~/kernelbuild
git clone --depth=1 -b linux-5.4.y git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
# ^ change kernel branch to the one you're using.
# check with `uname -r` and see the available list at www.kernel.org
cd linux-stable
# Build custom kernel
cp /boot/config-`uname -r` .config # copy config from current kernel
yes '' | make oldconfig
make clean
make -j `getconf _NPROCESSORS_ONLN` deb-pkg LOCALVERSION=-custom
# Install new kernel
sudo dpkg -i ~/kernelbuild/linux-*.deb
# Reboot
sudo reboot