Автор Тема: Защо не може да се компилира ядро 2.6.xx.xx  (Прочетена 4413 пъти)

manbg

  • Напреднали
  • *****
  • Публикации: 51
    • Профил
Здравейте! От няколко дни се мъча да прекомпилирам едно ядро на линукс и вече не знам какво става.
Преди години когато си правих сървърчето за шаринга на малката мрежа в блока ми (Slackware 10.0.0 с ядро 2.4.26) ми се налагаша да го прекомпилирам (това ядро намаше MPPE, доста от екстрите на iptables който ги има в POM и т.н.) доста пъти и никога не съм имал проблем. Тогава след make menuconfig и избора съответно се изпълняваха - make dep bzImage modules modules_install , после копиране на новото ядро и system.map, редакция на lilo и т.н. Преди седмица реших да сменя сървърчето вече с по доба машина и свалих Slackware 12.2, инсталирах го, добре, реших да кача едно малко пачле , прочетох че вече за ядро 2.6.хх.хх не е необходимо да се пишат всиките команди - само  make, make modules_install  и съответно смяна на новото новото bzImage в boot и т.н. Какво беше учудването ми когато след рестарт компютъра още в началото ЗАБИ????? не е минал и едни екран от съобшенията и до там,???
последното което пише е "Kernel panic - not syncing: VFS: Inable to mount root fs on unknown-block(3.1) ... и странно лампичките на клавиатурата мигат и не спират, няма ctrl+alt+del, само копчето.Мислих че е от версията на слака защото ми направи впечателние че bzImage файла не е в /usr/src/linux-2.6.29.5/arch/i386/boot , там има линк към /usr/src/linux-2.6.29.5/arch/x86/boot/bzImage, добре може вече така да се решили, свалих си най новата версия на Slackware 13, инсталирам , в menuconfig само малко променям, мисля че отмаркирах WIFI дравери, колкото да е някаква промяна, пак компилирам и пак същата грешка при рестарт.КАКВО БЪРКАМ????
На всякъде където четох за комплирине на 2.6.х.х. нищо такова не казват???? Ще Ви бъда много благодарен ако някой ми помогне.
Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Хубаво щеше да е да пуснеш .config файла от компилирането, за да се види какво си задал, в допълнение със списък на файловите системи на дяловете ти. Като начало бих предположил, че си пропуснал да вмъкнеш модулите за нужните файлови системи в ядрото (не като модули), поради което root дялът ти не може да бъде прочетен, тъй като файловата система е непозната за ядрото. Ако не искаш да ги вкарваш в ядрото, можеш да си създадеш един initrd.img файл, който да ги съдържа като модули, като трябва да го опишеш в lilo с подобен ред
Цитат
initrd=/път/до/initrd.img
Зачети се какъв е точният синтаксис на mkinitrd при Slackware. Естествено, проблемът може да е съвсем друг, но засега толкова ;)
Активен

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

manbg

  • Напреднали
  • *****
  • Публикации: 51
    • Профил
Сега пак инсталирах чиста инсталация слак 13. Ще отмаркирам само едно нарочно което не е важно- в Нетфилтер - махам като модул -> H.323 protocol support,  ще пусна ново комплиране.Този път ще напиша всичко команди > make dep clean bzImage modules modules_install  да видим какво ще стане. После ще пиша пак тук.
Активен

10101

  • Напреднали
  • *****
  • Публикации: 384
  • Distribution: GNU LINUX
    • Профил
cp /boot/config-x.x.x.x.x /usr/src/linux/.config

make menuconfig and etc
Активен

А печат ?

manbg

  • Напреднали
  • *****
  • Публикации: 51
    • Профил
Забравих да спомена че по приницип винаги правя така че да мога да пусна работещо ядро, редактирам лилото, така да че избирам ядро. Страннтото е че и работещото ядро не тръгва, тръгва но и то гърми по едно време, вярно доста по надолу, мисля че накъде като почне с ако не се лъжа - udev а  и пише странни неща по екрана докато зарежда?????
може би модулите нещо отиват където трябва ли, не знам????
Активен

zeridon

  • Killmode enabled
  • Administrator
  • Напреднали
  • *****
  • Публикации: 1398
  • Distribution: Debian/Ubuntu
  • Window Manager: console/Gnome
  • BOfH
    • Профил
    • WWW
Първият проблем
Цитат
Kernel panic - not syncing: VFS: Inable to mount root fs on unknown-block(3.1)
е лесен. Или нямаш поддръжка за файловата система или не си си описал правилно устройството (в случая кернела си мисли че трябва да запали руут файловата система от 4ти диск, първи дял.

За второто от един момент малко пипнаха удев-а и ако имаш DEVFS_DEPRECATED_CALLS в конфигурацията на ядрото е яко болка.
Активен

Внмимавай имам клещи за кабел
http://www.netsecad.com/
http://theregister.co.uk/odds/bofh/

hyankov

  • Напреднали
  • *****
  • Публикации: 86
    • Профил
Почти съм сигурен, че си го направил и не е това, но просто това съобщение ми напомни за годините, когато се борих с Gentoo. Тогава проблема идваше от това, че драйверите за SATA диска ги бях компилирал като модули, а не вградени в ядрото. Та мисълта ми е възможно ли е да си пропуснал подобно нещо при конфигурацията или определено не е това?
Активен

edmon

  • Гост
Докато компилираш ядра ...колко работа можеше да си свършиш.....
ама кво ся де .. няма нищо .. компилирай си !
Компилиране му е майката!
Активен

manbg

  • Напреднали
  • *****
  • Публикации: 51
    • Профил
Здравейте! сега идвам на работа с такава надежда:), вчера го оставих да се компилира и тръгнах.Първото което ме учуди е компютъра стоеше в логин промт??? някаква тайна сила май е копирала bzImage i System.map":))) да ама не, може да се спирал тока явно.Та направихс сега процедурите с "новото" ядро и ... пак СЪЩАТА >:( с тази разлика че вече старото тръгва??? само с 3 съощения за грешка - не може да зареди модули - libpixman-1.so.0, libX11.so.6, libXft.so.2 . Като гледам сега старото ядро което по default  се зарежда - vmlinuz-huge-smp-2.6.29.6-smp  е близо 4.9 MB,  а новото което се получава е само около 2.5 MB. Явно остава .config файла в /usr/src/linux  да не е както трябва, тук нали и това се писа като вероятност.Сега ще пробвам пак като копирам този конфиг файл който си в boot на мястото на конфига в /usr/src/linux  и пак наново комплацийй:))
после ще пиша какво е станало.
Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Виждам, че не обръщаш никакво внимание на призивите да провериш как стои въпросът с модулите за твърдия диск, а точно липсата им е най-вероятният ти проблем за момента. Осланяш се на това, че ползваш конфигурацията на старото ядро, като само променяш малко неща в нея, но обърнал ли си внимание как точно се зареждат модулите за твърдия диск в това старо ядро? Аз досега не съм виждал дистрибуция, при която началното ядро съдържа в себе си тези модули - винаги са изведени в initrd.img (изключвам Gentoo, понеже там процедурите са различни). Естествено, не съм виждал всички дистрибуции и всички версии на дистрибуциите, така че ти ще кажеш каква е картинката при теб. Виж дали имаш initrd.img файл за старото ядро! Провери как се зареждат модулите в конфигурацията на старото ядро! Ще покажеш ли все пак този .config файл? Нали все пак за проблеми с компилирането на ядро говориш. Да не впрягаме и ние тайни сили, за да си представим картинката при теб ;)
Активен

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

manbg

  • Напреднали
  • *****
  • Публикации: 51
    • Профил
Re: Защо не може да се компилира ядро 2.6.xx.xx
« Отговор #10 -: Jan 27, 2010, 13:15 »
[_]3 [_]3 [_]3:)) най-после.Проблема си бил чисто травиален явно.Просто конфиг файла който идва със сорса е орязан.Досега никога не съм се заглеждал чак толкова в този конфиг файл, а и колкото и компилации да съм правилна слак и 9 и 10, винаги този конфиг файл който си идва със сорса е тръгвал. Пак се появат грешки че не можа да зареди някой неща, но като се вледах това е GTK  -  за графични интерфейси, явно не може понеже не съм инсталирап никаква графика на линуска и pando  за P2P, ама това не е проблем. сега ще копна и конфиг файла.
на горното писмо, чак толкова не съм неграмотен, това за initrd.img -  щях да го видя най малко още като редактирах lilo.conf за първия път. Нямам такъв.поне на Slackware 13 стандартна инсталация но без никаква графика не прави такъв имидж за модули.
Забравих да спомена че пак по подразбиране слака инсталира 4 ядра в boot -  vmlinuz-generic x.x.x.x ,  vmlinuz-generic-smp x.x.x.x-smp -тези двете много малко се различават и  vmlinuz-huge x.x.x.x и vmlinuz-huge-smp x.x.x.x-smp тези също малко се различват. Компютъра тръгва по принцип с vmlinuz-huge-smp x.x.x.x-smp.
Бих искал да попитам какво значението на System.map  файла, ако има значение - да когато избера новото ядро  със сменeniq System.map /usr/src/linux  разбирам да си работи, но ако избера да бутне от другото ядро то пак ли чете този файл, който може да не е за него???, в лилото само казваш файла на ядрото което може да си е казва както си искаш но не се казва за този System.map. Ако е важен този файл как другото ядро и то си тръгва без проблем?


Активен

manbg

  • Напреднали
  • *****
  • Публикации: 51
    • Профил
Re: Защо не може да се компилира ядро 2.6.xx.xx
« Отговор #11 -: Jan 27, 2010, 13:19 »
Ето и .config файла и  lilo.config (прикачени)
Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: Защо не може да се компилира ядро 2.6.xx.xx
« Отговор #12 -: Jan 27, 2010, 13:48 »
Поздравления, че си се справил [_]3 Гледам, че ядрото в този Slackware наистина идва с компилирани модули за файловите системи в него и initrd.img не е нужен. Интересно решение, но щом така са преценили...
Файлът System.map представлява списък на символните имена и техните адреси в паметта. Използва се при дебъгване - когато ти е нужно да видиш кой символ къде е в паметта или даден адрес в паметта от кой символ е зает (символите са променливи или функции на ядрото). Този файл не се използва при нормалната работа с ядрото, така че няма да усетиш разлика от липсата му, освен ако не тръгнеш да дебъгваш разни сривове и ти е нужно да прегледаш паметта. Но е хубаво да го имаш за всеки случай :)
Активен

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

edmon

  • Гост
Re: Защо не може да се компилира ядро 2.6.xx.xx
« Отговор #13 -: Jan 27, 2010, 13:59 »
Ясно! Слака рулира, кърти мифки, цепи плочки!!!
:)

Жалко, че ония новия символ за сърказъм не е фрии!
Активен

dwni2

  • Напреднали
  • *****
  • Публикации: 79
    • Профил
Re: Защо не може да се компилира ядро 2.6.xx.xx
« Отговор #14 -: Feb 03, 2010, 18:35 »
zcat /proc/config.gz > /usr/src/linux/.config
като си с default kernela тъка ще имаш подразбиращата конфигурация
Активен