Автор Тема: инсталиране на ядро  (Прочетена 5087 пъти)

4096bits

  • Напреднали
  • *****
  • Публикации: 6210
    • Профил
инсталиране на ядро
« -: Aug 15, 2014, 11:44 »
На някакво линуксче базирано на убунту 14.04 се опитах да инсталирам най-новото ядро от тук

http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.15.10-utopic/

изпълних sudo -s и dpkg -i каквото-е-там.deb

но ми искара нещо дето не го разбрах. Изглежда нещо липсва, но не става ясно какво.

dpkg: error processing package linux-headers-3.15.10-031510-generic (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 linux-headers-3.15.10-031510-generic


За първи път се опитвам да сложе различно ядро от това, с което си идва системата и ударих на камък

Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

lomion

  • Напреднали
  • *****
  • Публикации: 76
    • Профил
Re: инсталиране на ядро
« Отговор #1 -: Aug 15, 2014, 12:20 »
Примерно, ако ще слагаш на 64-bit система ще са ти нужни тези 3 пакета:
linux-headers-3.15.10-031510-generic_3.15.10-031510.201408132333_amd64.deb
linux-headers-3.15.10-031510_3.15.10-031510.201408132333_all.deb
linux-image-3.15.10-031510-generic_3.15.10-031510.201408132333_amd64.deb
след, което отваряш терминал където са свалени и изпълняваш sudo dpkg -i *.deb
това е!
Активен

cybercop

  • Напреднали
  • *****
  • Публикации: 5626
  • Distribution: Ubuntu LTS, CENTOS 6.x
  • Window Manager: Xfce, Gnome 2
    • Профил
Re: инсталиране на ядро
« Отговор #2 -: Aug 15, 2014, 13:46 »
Ползвай dpkg -i само в краен случай. При наличие на gdebi, винаги инсталирай .deb пакетите с нея.
Схемата на инсталация на ядро от ubuntu kernel е следната.
Първо, инсталираш linux-headers_all.deb
След това, linux-headers за съответната архитектура (примерно linux-headers-amd64.deb)
Накрая, инсталираш самото ядро linux-image за съответната архитектура (linux-image-amd64.deb).
Активен

Ползването на Linux води до пристрастяване. Факт.
http://s19.postimg.cc/4oajwoq5v/xenial2.png

geroy

  • Напреднали
  • *****
  • Публикации: 198
  • Distribution: Windows, NetBSD, Devuan
    • Профил
    • WWW
Re: инсталиране на ядро
« Отговор #3 -: Aug 15, 2014, 14:42 »
Не е ли най-добре да се ползва apt-get????
Активен

cybercop

  • Напреднали
  • *****
  • Публикации: 5626
  • Distribution: Ubuntu LTS, CENTOS 6.x
  • Window Manager: Xfce, Gnome 2
    • Профил
Re: инсталиране на ядро
« Отговор #4 -: Aug 15, 2014, 15:39 »
@Geroy: Не можеш да ползваш APT-GET при инсталация на локални пакети. Ползваш директно dpkg -i или програмата gdebi, която ползва едновременно dpkg -i за локално инсталираният пакет и APT-GET за да инсталира зависимите пакети от хранилищата, ако са налични.
За разлика от директната инсталация с dpkg -i, която инсталира всеки посочен .deb пакет, gdebi проверява дали пакета е съвместим със системата ти и дали е обезпечен със зависимости.
http://s19.postimg.org/hhqpdnnlf/gdebi.png
« Последна редакция: Aug 15, 2014, 15:42 от cybercop »
Активен

Ползването на Linux води до пристрастяване. Факт.
http://s19.postimg.cc/4oajwoq5v/xenial2.png

4096bits

  • Напреднали
  • *****
  • Публикации: 6210
    • Профил
Re: инсталиране на ядро
« Отговор #5 -: Aug 16, 2014, 00:50 »
Изобщо не знаех, че dpkg не изтегля и инсталира липсващите файлове. Утре ще пробвам.
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: инсталиране на ядро
« Отговор #6 -: Aug 16, 2014, 02:44 »
Цитат
Ползвай dpkg -i само в краен случай. При наличие на gdebi, винаги инсталирай .deb пакетите с нея.
Схемата на инсталация на ядро от ubuntu kernel е следната.
Първо, инсталираш linux-headers_all.deb
След това, linux-headers за съответната архитектура (примерно linux-headers-amd64.deb)
Накрая, инсталираш самото ядро linux-image за съответната архитектура (linux-image-amd64.deb).

Не мисля. header-all пакетите са всъщност метапакети, които обикновено влачат освен пакета с хедърите и пакета със съответната gcc версия с която е билднато ядрото. Всичко това заради kernel versioning-а, който включва и версията на компилатора, нещо което лично според мен е по-скоро досадно, отколкото смислено в повечето случаи, но whatever, случаите в които има смисъл може и да оправдават заниманието, няма да споря с kernel developer-ите в крайна сметка, така или иначе това е реалността.

Хедърите не би трябвало изобщо да са ти необходими за инсталация на новия kernel. Те са необходими единствено когато билдваш модули за новата версия на ядрото и поради ред причини по дефолт няма да можеш да ги билднеш ако не си boot-нал новата версия. Сега идва супер интересния момент какво става ако модулите ти трябват заредени за да boot-неш, понеже инсталацията на image пакета ти създава и initrd-то, което вика depmod върху дървото с модулите от image пакета и не ебава нищо извън него. Отговорът е известни драми и сблъсък с това как GNU make функционира, след това сблъсък с това съответно как update-initramfs функционира.

Та в общият случай е достатъчно просто да инсталираш image пакета и да рестартираш. В по-лошият случай се налага постфактум след рестарта да инсталираш и хедърите за да можеш да си билднеш драйверите (като -all пакета би следвало да свърши работа, архитектурно-специфичния пакет всъщност се инсталира като зависимост на all нещото). Ако имаш много лош късмет, примерно крив RAID контролер от който бутваш, тогава се вкарваш в гореописаните приключения и няма да се спасиш просто с инсталацията на няколко пакета.

И между другото, няма различни архитектурно-специфични хедъри. Всичко архитектурно-зависимо е реализирано под формата на препроцесорни макроси. Всичките define-нати в един хедър файл. Тоя един файл е единствената разлика между kernel-headers-нещоси-amd64 и kernel-headers-нещоси-atmel примерно. Не съм толкова заапознат с дебианските решения и процеси, но според мен това можеше да се реализира изцяло с multiarch средствата без да се пръкват пакети с различни имена. Всъщност знам причината за раздуването на namespace-а, такива частни случаи като PAE, ама пак ми се вижда брутално, не може да няма по-интелигентен вариант. Батка, като напишеш apt-get install linux-image-версия-* и толкова пакети излизат, може да те заболи главата :(
Активен

"Knowledge is power" - France is Bacon

Odido

  • Напреднали
  • *****
  • Публикации: 627
  • Distribution: Arch Linux
  • Window Manager: Gnome
    • Профил
Re: инсталиране на ядро
« Отговор #7 -: Aug 16, 2014, 19:21 »
Ако си познаваш хардуера и имаш повечко време, защо не си компилираш нещо от сорс?Впрочем вчера компилирах 3,16 за дебиан и понеже съм със слаба памет и голям мързел  използвах първата ми попаднала страничка ,като само мъничко само се отклоних от  гайда  http://www.tecmint.com/install-kernel-3-16-in-debian/ 
Активен

"Congratulations, you broke the Internet
Look at what you did! Are you happy now?"

cybercop

  • Напреднали
  • *****
  • Публикации: 5626
  • Distribution: Ubuntu LTS, CENTOS 6.x
  • Window Manager: Xfce, Gnome 2
    • Профил
Re: инсталиране на ядро
« Отговор #8 -: Aug 16, 2014, 19:40 »
Не мисля. header-all пакетите са всъщност метапакети, които обикновено влачат освен пакета с хедърите и пакета със съответната gcc версия с която е билднато ядрото.
Не знам, какво мислиш, но linux-headers-all в случая е зависимост на linux-headers-xxx.
Пакет, който липсва в хранилищата и няма откъде да го вземеш с install -f.
Но, няма, как да разбереш това, ако ползваш gpkg -i. Ще си инсталираш повреден пакет на системата в блажено невежество.
Пиша само неща, които съм тествал на практика. Конкретно, инсталацията на ядро от ubuntu-kernel съм я правил десетки пъти.
« Последна редакция: Aug 16, 2014, 19:42 от cybercop »
Активен

Ползването на Linux води до пристрастяване. Факт.
http://s19.postimg.cc/4oajwoq5v/xenial2.png

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: инсталиране на ядро
« Отговор #9 -: Aug 16, 2014, 23:23 »
Ъъъъм, би трябвало да е обратното? Поне с такива спомени останах от последния път като ъпдейтвах ядрото на домашната станция преди няколко дни. Ама може и да съм се заблудил, знам ли. Аз рядко сменям ядра и всеки път гледам някое ново 20, тоя път си скъсах нервите. Тези all метапакети примерно не ги помня отпреди (3.2.нещо). Този път имах и друго, update-initramfs не сработи, изрева за някакъв път че бил релатвен. Ъпдейтнах initramfs-tools и всичко заспа. Това можеше да се реализира под формата на пакетни зависимости и новия image да влачи новата версия на toolовете, ма на.

Иначе да, с dpkg най-вероятно ще си качиш проблеми на главата

Активен

"Knowledge is power" - France is Bacon

cybercop

  • Напреднали
  • *****
  • Публикации: 5626
  • Distribution: Ubuntu LTS, CENTOS 6.x
  • Window Manager: Xfce, Gnome 2
    • Профил
Re: инсталиране на ядро
« Отговор #10 -: Aug 16, 2014, 23:39 »
http://s19.postimg.org/572c7bqyb/linux_headers.png
Единствената зависимост е linux-headers-all
Инсталираш първо този пакет и след това нямаш проблеми.
Активен

Ползването на Linux води до пристрастяване. Факт.
http://s19.postimg.cc/4oajwoq5v/xenial2.png

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: инсталиране на ядро
« Отговор #11 -: Aug 17, 2014, 16:11 »
Но, няма, как да разбереш това, ако ползваш gpkg -i. Ще си инсталираш повреден пакет на системата в блажено невежество.
Това не е точно така. По принцип в .deb пакетите се съдържа информация за зависимостите и при инсталиране на пакета с dpkg се прави проверка за тяхната наличност, и ако някоя зависимост липсва или е с неподдържана версия се извежда информация за това в конзолата. Т.е., да, dpkg не инсталира автоматично зависимостите, тъй като е offline инструмент, но човек не остава в неведение по въпроса с тяхната наличност и статуса на инсталирания пакет. Липсващите зависимости могат да бъдат инсталирани автоматично след това с команда
Цитат
apt-get -f install
Разбира се, възможно е да се попадне на пакет с некоректно описани зависимости в него, при инсталацията на който човек да остане изненадан, но при такъв случай gdebi също няма да инсталира тези зависимости, тъй като началната му проверка за зависимости също се базира на наличното описание в .deb пакета. Няма да намесваме въпроса с липсващи зависимости в хранилищата, тъй като са отделна тема, макар и да има връзка с това, че в днешно време повечето потребители използват dpkg и gdebi най-често за инсталиране на пакети, които липсват в хранилищата, и не е малка вероятността подобно да е положението и с някоя тяхна зависимост.
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: инсталиране на ядро
« Отговор #12 -: Aug 17, 2014, 22:09 »
http://s19.postimg.org/572c7bqyb/linux_headers.png
Единствената зависимост е linux-headers-all
Инсталираш първо този пакет и след това нямаш проблеми.

Абе ей :) Сега специално проверих, ето го all пакета:

https://packages.debian.org/sid/linux-headers-3.14-2-all

Да предположим че го инсталираш върху x86_64 система, това ще ти повлече този метапакет като зависимост:

https://packages.debian.org/sid/linux-headers-3.14-2-all-amd64

Който съответно ти влачи тези два пакета:

https://packages.debian.org/sid/linux-headers-3.14-2-amd64

https://packages.debian.org/sid/linux-headers-3.14-2-rt-amd64

Които ти докарват това точно хедърите и gcc версията с която е билднат kernel image-а:

https://packages.debian.org/sid/linux-compiler-gcc-4.8-x86

https://packages.debian.org/sid/linux-headers-3.14-2-common

https://packages.debian.org/sid/linux-kbuild-3.14


linux-compiler-gcc-4.8-x86 е също метапакет, който служи просто да ти докара gcc-4.8.

Така добре са комплицирали нещата, заслужават един хубав бой. Едно време имаше просто image и headers пакети за конкретната версия и конкретната архитектура, сега са ги навързали прилично добре.
Активен

"Knowledge is power" - France is Bacon

cybercop

  • Напреднали
  • *****
  • Публикации: 5626
  • Distribution: Ubuntu LTS, CENTOS 6.x
  • Window Manager: Xfce, Gnome 2
    • Профил
Re: инсталиране на ядро
« Отговор #13 -: Aug 17, 2014, 22:29 »
http://s19.postimg.org/572c7bqyb/linux_headers.png
Единствената зависимост е linux-headers-all
Инсталираш първо този пакет и след това нямаш проблеми.

Абе ей :) Сега специално проверих, ето го all пакета:

https://packages.debian.org/sid/linux-headers-3.14-2-all

Да предположим че го инсталираш върху x86_64 система, това ще ти повлече този метапакет като зависимост:

https://packages.debian.org/sid/linux-headers-3.14-2-all-amd64

Който съответно ти влачи тези два пакета:

https://packages.debian.org/sid/linux-headers-3.14-2-amd64

https://packages.debian.org/sid/linux-headers-3.14-2-rt-amd64

Които ти докарват това точно хедърите и gcc версията с която е билднат kernel image-а:

https://packages.debian.org/sid/linux-compiler-gcc-4.8-x86

https://packages.debian.org/sid/linux-headers-3.14-2-common

https://packages.debian.org/sid/linux-kbuild-3.14


linux-compiler-gcc-4.8-x86 е също метапакет, който служи просто да ти докара gcc-4.8.

Така добре са комплицирали нещата, заслужават един хубав бой. Едно време имаше просто image и headers пакети за конкретната версия и конкретната архитектура, сега са ги навързали прилично добре.
Къде отиде ? И, какви са тези разсъждения за такова елементарно нещо.
Става въпрос за инсталация на ядро от ubuntu kernel.
http://kernel.ubuntu.com/~kernel-ppa/mainline/
Там linux-headers-all няма зависимости
http://s19.postimg.org/5mmsrtrn7/linux_headers_all.png
а, самият той е зависимост на linux-headers-generic-amd64/i386 (686-pae).
Става въпрос за елементарна инсталация на три .deb пакета.

За 64 битова система :

1. http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16.1-utopic/linux-headers-3.16.1-031601_3.16.1-031601.201408140014_all.deb

2. http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16.1-utopic/linux-headers-3.16.1-031601-generic_3.16.1-031601.201408140014_amd64.deb

3. http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16.1-utopic/linux-image-3.16.1-031601-generic_3.16.1-031601.201408140014_amd64.deb

Рестартираш и си с ново ядро.
« Последна редакция: Aug 17, 2014, 22:34 от cybercop »
Активен

Ползването на Linux води до пристрастяване. Факт.
http://s19.postimg.cc/4oajwoq5v/xenial2.png

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: инсталиране на ядро
« Отговор #14 -: Aug 17, 2014, 22:32 »
Ааааааахм, ясно. Е, значи става по-оплетено тогава, изглежда в убунту въпросните -all пакети са с различен смисъл от дебианските.
Активен

"Knowledge is power" - France is Bacon