Извините, форум закрыт!

Вход в форум не работает, можно читать форум под гостем.

Если лето, то лето во всём!

Автор Тема: Ставим новое ядро  (Прочитано 25914 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн skylexusАвтор темы

  • Администратор
  • *****
  • Сообщений: 6890
  • Зеркала небес взгляд мой отражают
    • о спутниковой рыбалке и интернете
  • DVB: 3G
  • Спутник: 7E,36E,60E
Ставим новое ядро
« : 07 Март 2010, 14:40 »
Иногда возникает необходимость установки более нового ядра. Это может быть вызвано как отсутствием поддержки какого-то нового устройства в старом ядре, так и необходимостью оптимизации под собственные нужды. Например, для машины, на которой будет вертеться рыбалка, вовсе не обязательно иметь поддержку звуковой карты и других некоторых средств мультимедиа, что кстати сэкономит как объём потребляемой системой памяти, так и ресурсы процессора.

Буду проводить описание на примере дистрибутива Ubuntu 9.04. Вариантов обновления ядра, в общем-то два:

1-ый способ. Ставим готовое (уже скомпилированное) ядро.

Такие уже собранные ядра существуют и лежат в виде deb файлов, разнесённых в соответствующие папки по версиям ядер на http://kernel.ubuntu.com/~kernel-ppa/mainline/

Для примера будем ставить ядро 2.6.30. Сначала скачиваем в какую-то папку 3 файла (http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30.3/linux-headers-2.6.30-02063003-generic_2.6.30-02063003_amd64.deb, http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30.3/linux-image-2.6.30-02063003-generic_2.6.30-02063003_amd64.deb и http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30.3/linux-headers-2.6.30-02063003_2.6.30-02063003_all.deb) . Это можно сделать при помощи выполнения команды wget, предварительно открыв терминальное окно:

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30/linux-headers-2.6.30-020630_2.6.30-020630_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30/linux-headers-2.6.30-020630-generic_2.6.30-020630_i386.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30/linux-image-2.6.30-020630-generic_2.6.30-020630_i386.deb

Для 64-битной оси соответствующими пакетами были бы
http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30/linux-headers-2.6.30-020630_2.6.30-020630_all.deb
http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30/linux-headers-2.6.30-020630-generic_2.6.30-020630_amd64.deb
http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30/linux-image-2.6.30-020630-generic_2.6.30-020630_amd64.deb

Устанавливаем  пакеты:

sudo dpkg -i linux-headers-2.6.30-020630_2.6.30-020630_all.deb
sudo dpkg -i linux-headers-2.6.30-020630-generic_2.6.30-020630_i386.deb
sudo dpkg -i linux-image-2.6.30-020630-generic_2.6.30-020630_i386.deb

Замечание:

На вопрос «что делать с файлом menu.lst отвечаем  «установить версию из пакета».  Не волнуйтесь, он не заменит целиком старый файл новым, он просто обновит его – добавит все ядра, установленные в вашей системе с параметрами по умолчанию. Если вы изменяли файл «/boot/grub/menu.lst», например, удаляли в нем в параметрах ядра слова «splash», можно просто сделать так, чтобы при любом автоматическом обновлении файла «menu.lst», использовались только ваши параметры. Перед установкой нового ядра, откройте файл «/boot/grub/menu.lst» с правами рута:

sudo gedit /boot/grub/menu.lst
И найдите там строчку:

# defoptions=
Добавьте туда только ваши личные параметры или вообще удалите все значения, если они вам не нужны. Раскоментировать строчку не надо, она нужна только для автоматического обновления (изменения) этого файла. То есть, приведя эту строчку к такому виду:

# defoptions=noresume
Для всех установленных ядер будут применяться параметр noresume и вам больше не придется редактировать этот файл.


2-ой способ. Компилируем ядро из исходников.

Способ установки ядра компиляцией из исходников более сложен, зато более гибок и даёт лучшие результаты, поскольку на этапе конфигурирования мы имеем возможность выбрать в ядре ровно то, что нам действительно необходимо, а часть вынести в модули.

Перво-наперво устанавливаем модули, необходимые для компиляции исходников ядра:
sudo apt-get install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev wget libncurses5 libncurses5-dev
Переходим в общую папку с исходниками:
cd /usr/src
В ближайшее время нам понадобятся права суперпользователя:
sudo -s
закачиваем исходники выбранного ядра и распаковываем их в одноимённую подпапку:
wget -c http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.tar.bz2 && tar -xvjf linux-2.6.32.tar.bz2
Удаляем прошлую ссылку на исходники (если она была), создаём новую и сходим в папку с исходниками ядра:
rm -rf linux && ln -s /usr/src/linux-2.6.32 linux && cd /usr/src/linux
Если будем накладывать патч к ядру, то выполняем закачивание
wget -c http://kernel.org/pub/linux/kernel/v2.6/patch-2.6.32.7.bz2
и само наложение патча
bzcat patch-2.6.32.7.bz2| patch -p1Если патчи нам не нужны, то соответственно предыдущие два шага пропускаем. :)

Копируем конфигурационный файл текущего ядра
cp /boot/config-$(uname -r) .config && yes "" | make oldconfig
Выполняем конфигурирование либо непосредственно в иксах
make xconfigлибо в терминале (этот способ мне нравится больше  :))
make menuconfig
Настало время компилировать ядро. Перед следующими действиями убедитесь, что находитесь в директории /usr/src/linux и обладаете правами суперпользователя. Выполняем в терминале:
make-kpkg clean
затем:
INSTALL_MOD_STRIP=1 CONCURRENCY_LEVEL=3 make-kpkg --initrd --append-to-version=-mk kernel_image
kernel_headers modules_image
Значение "-mk" ключа "--append-to-version" можно заменить на любое другое, жедательно подходящее по смыслу, чтобы потом было легче ориентироваться  :)

В директории /usr/src теперь у нас появились 2 deb файла: один с самим ядром, а другой с заголовками (header). Устанавливаем их:
cd .. && dpkg -i linux*2.6.32*.deb
Важно: после установки нового ядра скорее всего потребуется переустановить драйвера для видеокарты.

Перезагружаем машину. Надеюсь, что следующая загрузка системы пройдёт гладко. :)
« Последнее редактирование: 07 Март 2010, 15:37 от skylexus »

 

Оффлайн GroN

  • Долгожитель
  • *****
  • Сообщений: 2523
  • Откуда: Ивановская обл.
  • DVB: ST4200
  • Спутник: 60E
Re: Ставим новое ядро
« Ответ #1 : 07 Март 2010, 23:05 »
Отличный мануал!!!

Оффлайн skylexusАвтор темы

  • Администратор
  • *****
  • Сообщений: 6890
  • Зеркала небес взгляд мой отражают
    • о спутниковой рыбалке и интернете
  • DVB: 3G
  • Спутник: 7E,36E,60E
Ставим новое ядро
« Ответ #2 : 06 Июнь 2010, 19:56 »
К счастью для тех, кто не особо любит возиться с командной строкой, а предпочитает более наглядный графический формат, существует прекрасное средство для обновления ядра. Называется это средство KernelCheck, с ним сейчас и познакомлю. :)

официальная страница:
http://kcheck.sourceforge.net/

KernelCheck подходит для дебиан подобных систем (и возможно некоторых других), предназначается для скачивания нового ядра, а также компиляции его из исходников. Вот основные фичи утилиты:

- получение инфы о последнем существующем на данный момент ядре
- загрузка и компиляция ядер версии 2.6 в deb-пакетах
- автоматическая оптимизация нового ядра
- тонкая ручная настройка опций нового ядра
- возможность установки драйвера NVidia при перезагрузке
- конфигурирование Х-сервера
- возможность наложения патча на ядро
- поддержка многопроцессорности для ускорения процесса компиляции

Установка проводится либо путём компиляции исходников

$ tar -xzf kernelcheck-1.2.5.tar.gz
$ cd kernelcheck-1.2.5
# python setup.py install

либо прямо из репозитария

# dpkg -i kernelcheck*.deb
Запускается утила либо из меню



либо из терминала

$ gksu kernelcheck
Процесс получения информации о последнем доступном ядре не вызывает сложностей



Предоставляются два режима: "автоматический" и "на усмотрение пользователя"



Выбираете вариант применения или нет патча к ядру



Твики ядра и другие настройки



Заключительный кадр перед компиляцией ядра с указанием выбранных опций



Открывается окно компиляции с подробным логом событий



Окно лога сворачиваемое, так что можно окно компиляции можно до безобразия "упростить"  :)



Вот такая прога! :D

Удаляется тоже просто

# kernelcheck --remove
Или из менеджера пакетов

# dpkg -r kernelcheck
Удачи!

Оффлайн fiat124

  • Живёт здесь
  • *****
  • Сообщений: 854
  • Ни что не истина, все дозволено!
  • Откуда: Южный Урал
  • DVB: TT-connect S2-3650 CI
  • Спутник: Tricolor(56E),Tricolor(36E)
Ставим новое ядро
« Ответ #3 : 06 Июнь 2010, 19:59 »
Отличная инфа! молодец!

Оффлайн Колибри

  • Девушка
  • ****
  • Сообщений: 2089
  • Таких, как я, немного: только я...
  • Откуда: Тюменская область
  • DVB: Tevii S420 ; SkyStar S2;ТТ S2
  • Спутник: Радуга ТВ 75*, Триколор
Ставим новое ядро
« Ответ #4 : 06 Июнь 2010, 21:38 »
skylexus, спасибо! Если вдруг появится необходимость обновить ядро, то теперь знаю где найти отличный мануал со скриншотами ;). Особенно полезно для тех, кто не любит консоль :).  Возник такой вопрос - вдруг обновление пройдет неудачно, будет ли возможность вернуть старое ядро? Если есть такая возможность то как это сделать?

Оффлайн fiat124

  • Живёт здесь
  • *****
  • Сообщений: 854
  • Ни что не истина, все дозволено!
  • Откуда: Южный Урал
  • DVB: TT-connect S2-3650 CI
  • Спутник: Tricolor(56E),Tricolor(36E)
Ставим новое ядро
« Ответ #5 : 06 Июнь 2010, 21:46 »
Колибри, выбор между старым и новым ядрами производиться в grub загрузчике


Оффлайн skylexusАвтор темы

  • Администратор
  • *****
  • Сообщений: 6890
  • Зеркала небес взгляд мой отражают
    • о спутниковой рыбалке и интернете
  • DVB: 3G
  • Спутник: 7E,36E,60E
Ставим новое ядро
« Ответ #6 : 06 Июнь 2010, 22:35 »
производиться в grub загрузчике
Вот о нём-то родимом, на неделе намереваюсь статайку написать. :)

Оффлайн Le_xa

  • Долгожитель
  • *****
  • Сообщений: 1194
  • Откуда: Тверская губерния
  • DVB: PCI Omicom SS4
  • Спутник: 36E и 53E+60E
Ставим новое ядро
« Ответ #7 : 06 Июнь 2010, 22:54 »
skylexus Спасибо! Жаль я поспешил,уже успел "завалить" Убунту,после попыток установить дрова видео на новое ядро.. :'( Но теперь уж точно буду по новой ставить. :) Вот скачал --http://launchpadlibrarian.net/35212126/kernelcheck_1.2.5-3_all.deb.. Это то?  ::)
« Последнее редактирование: 06 Июнь 2010, 23:31 от Le_xa »

Оффлайн skylexusАвтор темы

  • Администратор
  • *****
  • Сообщений: 6890
  • Зеркала небес взгляд мой отражают
    • о спутниковой рыбалке и интернете
  • DVB: 3G
  • Спутник: 7E,36E,60E
Ставим новое ядро
« Ответ #8 : 07 Июнь 2010, 00:27 »
Извиняюсь за досадное упущение, не указал сразу ссылку.
(кликните для показа/скрытия)

Оффлайн fiat124

  • Живёт здесь
  • *****
  • Сообщений: 854
  • Ни что не истина, все дозволено!
  • Откуда: Южный Урал
  • DVB: TT-connect S2-3650 CI
  • Спутник: Tricolor(56E),Tricolor(36E)
Ставим новое ядро
« Ответ #9 : 13 Июль 2010, 19:15 »
skylexus, такой вопрос у тебя после установки нового ядра после перезагрузки X сервер не слетал?
и еще есть ли у тебя в директории
/lib/modules/версия ядра/
папка build
при компиляции драйверов для DVB карты в новом ядре из-за отсутствие этой папки драйвера не устанавливаются
« Последнее редактирование: 13 Июль 2010, 19:16 от fiat124 »

Оффлайн skylexusАвтор темы

  • Администратор
  • *****
  • Сообщений: 6890
  • Зеркала небес взгляд мой отражают
    • о спутниковой рыбалке и интернете
  • DVB: 3G
  • Спутник: 7E,36E,60E
Ставим новое ядро
« Ответ #10 : 13 Июль 2010, 20:13 »
fiat124, X-сервер не слетал при установке нового ядра, слетали дрова к видюхе. Папку сейчас посмотрю, винт прикручу только...

Оффлайн fiat124

  • Живёт здесь
  • *****
  • Сообщений: 854
  • Ни что не истина, все дозволено!
  • Откуда: Южный Урал
  • DVB: TT-connect S2-3650 CI
  • Спутник: Tricolor(56E),Tricolor(36E)
Ставим новое ядро
« Ответ #11 : 13 Июль 2010, 20:23 »
skylexus, понятно,у меня тоже дрова слетели, пока сижу в старом ядре,возможно попробую скопилировать ядро из исходников

Оффлайн skylexusАвтор темы

  • Администратор
  • *****
  • Сообщений: 6890
  • Зеркала небес взгляд мой отражают
    • о спутниковой рыбалке и интернете
  • DVB: 3G
  • Спутник: 7E,36E,60E
Ставим новое ядро
« Ответ #12 : 13 Июль 2010, 20:46 »
Млин, у меня там Федора 13 стоит, раздел от Убунты есть, но не подцеплен в загрузчике. Вот под Федорой смотрю убунтовский раздел. Там ставил новое ядро. Вот так выглядит папка /lib/modules/версия ядра/



Есть build, это линк, вот свойства:



т.е. ссылается на /usr/src/linux-2.6.34/ в моём случае.

Оффлайн fiat124

  • Живёт здесь
  • *****
  • Сообщений: 854
  • Ни что не истина, все дозволено!
  • Откуда: Южный Урал
  • DVB: TT-connect S2-3650 CI
  • Спутник: Tricolor(56E),Tricolor(36E)
Ставим новое ядро
« Ответ #13 : 13 Июль 2010, 21:03 »
понятно,скачаю самую последнию версию исходников ядра будем компилировать

хотя можно и самому сделать этот линк
« Последнее редактирование: 13 Июль 2010, 21:05 от fiat124 »

Оффлайн igorelk

  • Новичок
  • **
  • Сообщений: 19
  • DVB: TT S1401
  • Спутник: все видимые
Ставим новое ядро
« Ответ #14 : 13 Июль 2010, 22:29 »
установил kernelcheck ,но чего то не идет обновление.комп не перезагружал постоку сейчас рыбачу.может и из за этого.
стоит рыбацкая ось от VIPman на базе ubuntu 9.10

Оффлайн fiat124

  • Живёт здесь
  • *****
  • Сообщений: 854
  • Ни что не истина, все дозволено!
  • Откуда: Южный Урал
  • DVB: TT-connect S2-3650 CI
  • Спутник: Tricolor(56E),Tricolor(36E)
Ставим новое ядро
« Ответ #15 : 13 Июль 2010, 22:58 »
igorelk, у меня тоже чего не хочет обновляться
вывод в терминале,
(кликните для показа/скрытия)
в окне проги нажал на обнову появилось такое выражение

Retrieving information from http://www.kernel.org


Оффлайн igorelk

  • Новичок
  • **
  • Сообщений: 19
  • DVB: TT S1401
  • Спутник: все видимые
Ставим новое ядро
« Ответ #16 : 14 Июль 2010, 08:39 »
но у меня и этого даже нету-зависает,комп не грузит.со временим будет по свободней пороюсь в инете что и почему.

Оффлайн mahinist

  • Завсегдатай
  • ****
  • Сообщений: 235
  • Откуда: Белгород
  • DVB: Prof-7001 , SS3 , TeVii-470
Ставим новое ядро
« Ответ #17 : 12 Август 2010, 10:06 »
igorelk -
установил kernelcheck ,но чего то не идет обновление.комп
Интересно, решил проблему  :) ?

А то уменя то же не порядок -
You are not connected to the internet. If you are using a proxy, set PROXY equal to True in KernelCheck 's main.py.
вроде как на прокси ругается ?
А хотелось попробовать обновить этой прогой -kernelcheck
« Последнее редактирование: 12 Август 2010, 10:10 от mahinist »
Нужно от жизни брать всё , только понемножку , не торопясь, чтобы хватило на всю жизнь !

Оффлайн skylexusАвтор темы

  • Администратор
  • *****
  • Сообщений: 6890
  • Зеркала небес взгляд мой отражают
    • о спутниковой рыбалке и интернете
  • DVB: 3G
  • Спутник: 7E,36E,60E
Ставим новое ядро
« Ответ #18 : 12 Август 2010, 14:17 »
You are not connected to the internet. If you are using a proxy, set PROXY equal to True in KernelCheck 's main.py.
Так вроде как пишет, что в модуле main.py нужно прописать прокси (переменной PROXY присвоить значение True). Модуль - файл текстовый (текстовый скрипт на Python).

Оффлайн mahinist

  • Завсегдатай
  • ****
  • Сообщений: 235
  • Откуда: Белгород
  • DVB: Prof-7001 , SS3 , TeVii-470
Ставим новое ядро
« Ответ #19 : 12 Август 2010, 18:28 »
Не - сам не разберусь , в этом файле нужно делать изменения - main.py ? -

В этой строке
 PROXY = False
ставлю  значение -True вместо -False , далее прога запускается  , но при включении - Get KemelCheck information - появляется ошибка :
Failed to communicate with kernel.org. Reason: [Errno -2] Имя или служба не известны
Что ещё нужно прописать и где именно ?
« Последнее редактирование: 12 Август 2010, 19:08 от mahinist »
Нужно от жизни брать всё , только понемножку , не торопясь, чтобы хватило на всю жизнь !

Оффлайн igorelk

  • Новичок
  • **
  • Сообщений: 19
  • DVB: TT S1401
  • Спутник: все видимые
Ставим новое ядро
« Ответ #20 : 13 Август 2010, 07:47 »
в иннете толком ничего не нашел.да и рыбалчу на компе постоянно-не хочется терять улов.возникает вопрос-а надо ли ?на мой згляд проще переустановить убунту поновее,чем возится с установкой ядра и т.д...

Оффлайн mahinist

  • Завсегдатай
  • ****
  • Сообщений: 235
  • Откуда: Белгород
  • DVB: Prof-7001 , SS3 , TeVii-470
Ставим новое ядро
« Ответ #21 : 13 Август 2010, 23:24 »
в иннете толком ничего не нашел.да и рыбалчу на компе постоянно-не хочется терять улов.возникает вопрос-а надо ли ?на мой згляд проще переустановить убунту поновее,чем возится с установкой ядра и т.д...

Не- так  не интересно нужно пробовать , и даже может и сломать , а затем починить , и если есть толковый подсказ и немножко серенького в голове оно и вроде как наладиться   ;D
Ну а пока подсказа нет- чтож будем ломать  ;D
 
Нужно от жизни брать всё , только понемножку , не торопясь, чтобы хватило на всю жизнь !

Оффлайн igorelk

  • Новичок
  • **
  • Сообщений: 19
  • DVB: TT S1401
  • Спутник: все видимые
Ставим новое ядро
« Ответ #22 : 14 Август 2010, 09:22 »
*Сообщение от mahinist [+]
в иннете толком ничего не нашел.да и рыбалчу на компе постоянно-не хочется терять улов.возникает вопрос-а надо ли ?на мой згляд проще переустановить убунту поновее,чем возится с установкой ядра и т.д...

Не- так  не интересно нужно пробовать , и даже может и сломать , а затем починить , и если есть толковый подсказ и немножко серенького в голове оно и вроде как наладиться   ;D
Ну а пока подсказа нет- чтож будем ломать  ;D
 
сейчас рыбачу в винде.да и времени маловато.по свободе осенью займусь.

Оффлайн skylexusАвтор темы

  • Администратор
  • *****
  • Сообщений: 6890
  • Зеркала небес взгляд мой отражают
    • о спутниковой рыбалке и интернете
  • DVB: 3G
  • Спутник: 7E,36E,60E
Ставим новое ядро
« Ответ #23 : 14 Август 2010, 17:10 »
*Сообщение от mahinist [+]
В этой строке
 PROXY = False
ставлю  значение -True вместо -False , далее прога запускается  , но при включении - Get KemelCheck information - появляется ошибка
Сейчас обратился к документации по KernelCheck, дословно написано следующее:
If you are using a proxy, after entering kernelcheck-1.2.5, go to share/kernelcheck/scripts/, open
main.py and edit 'PROXY = False' to 'PROXY = True' (no quotes), go back to the original directory and
install KernelCheck. This will bypass the internet test on startup and allow you to use KernelCheck.
то есть я так понимаю, говорится о том, что после правки на PROXY = True нужно вернуться к исходной директории и установить KernelCheck.

ЗЫ. сейчас к сожалению самому проверить просто не на чем. :(

Оффлайн kigor03

  • Местный
  • ***
  • Сообщений: 68
Ставим новое ядро
« Ответ #24 : 18 Март 2011, 18:23 »
Хочу немного дополнить тему по сборке ядра из исходников.
Если по окончании компиляции (у меня она длилась 5 часов) вываливается ошибка:
(кликните для показа/скрытия)
Это значит,  как написано тут: http://forums.debian.net/viewtopic.php?f=5&t=49909
Баг в исходниках (который существует уже давно и почемуто никак не исправят)http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=561569
и надо установить самый последний пакет отсюда : http://packages.debian.org/squeeze/all/kernel-package/download
В моем случае это: kernel-package_12.036+nmu1_all.deb
wget http://ftp.us.debian.org/debian/pool/main/k/kernel-package/kernel-package_12.036_all.deb
dpkg -i kernel-package_12.036_all.deb
Да, и еще, в статье : "Ставим ядро 2.6, или Ядерная физика для домохозяйки. Версия 1.1" http://www.linuxcenter.ru/lib/articles/system/kernel26_install.phtml#33
очень подробно и на русском расписаны настройки ядра. Хотя статья и не новая, но всё равно много можно взять оттуда.
Удачи.  ;)
« Последнее редактирование: 18 Март 2011, 18:32 от kigor03 »



 


При использовании материалов форума ссылка на форум обязательна.

Rambler's Top100