On Mon, 22 Sep 2003 12:42:43 +0300 Georgi Chorbadzhiyski <[EMAIL PROTECTED]> wrote:
> >> >> > Checking if this processor honours the WP bit even in supevisor > >> >> > mode.... No. Kernel panic: This kernel doesn't support CPU's with > >> >> > broken WP. Recompile it for a 386! > >> >> > >> >> Съобщението е много просто "Recompile it for a 386" > >> >> Ще трябва да си прекомпилираш kernel-а, като кажеш че си твърдо с 386. > > > > --cut-- > > айде бре... иначе компетентно казано ;-) > > не, че е лошо да се прекомпилират и модулите, ама не е казано че трябва... и > > btw kernel image не протестира ако не са били прекомпилирани модулите в този > > случай на промяна на конфига. При смяната на cpu type за kernel image не е > > нужно да прекомпилираш и модулите и за това причината е много проста - това > > касае само асемблерската част от кода (много low-level) която така или иначе > > не се билдва на модули (а винаги остава монолитно към kernel image, това е > > super критичен момент за ядрото и никога не се изкарва на модули), а > > компилирани вече модули нямат и не могат и да имат *конфигурациона* > > зависимост към тази част от кода. > > Това може да се изпита съвсем елементарно. Например: CPU i686, kernel image за > > i686 + модули... след това ребилдваме kernel image-a за i386 (без да пипаме > > VERSION's редовете от top level Makefile-а), а модулите не (т.е. без make > > modules modules_install) ... boot-вама kernel image за i386 и ще видим, че > > зарежда спокойно модулите които са били получени от i686 конфига. Обратното > > също може - kernel image за i686 да зарежда kernel modules получени за i386. > > > > Чорбаджийски, ако все още мислиш, че трябва и модулите да се прекомпилират в > > този случай репортвай бъг на LKML срещу всички Linux kernels ;-) > > Ще се радвам да бъда опроверган ... съвсем сериозно;-) > > > > айде бре... иначе компетентно казано... > > Според теб с ядро компилирано за i386 мога да ползвам модули компилирани за > i686? Дали в i386 кернела има емулация за всички инструкции който са нови и > се "срещат" само примерно в 486, Pentium, Pentium Pro? ;))) всичко зависи на каква машина се изпълнява това ако сценария на Данчев се изпълнява на i686 няма проблем , просто кернела няма да е с код опримизиран за i686, а модулите да.... а човека който почна threada просто трябва да си прекомпилира кернела и модулите(ако използва такива) за i386, естествено че код за i686 не може да се изпълнява на 386 > Модулите са част от кернела нали? Компилират се със същите оптимизации. > > Ето ти малка извадка от arch/i386/Kconfig на 2.6.0-test5-mm1 > Ключовата фраза по-долу е "not necessarily run", което в случая за i686 > модули insmod-нати в i386 компилирано ядро е само "not run". ако процесора е 386 , да инструкциите на 686 са superset na 386. (mmx .. alabala) става въпрос на low-level оптимизациите на gcc : -march=i386, -march=pentium-mmx например (не за -mcpu) по същата логика , код за pentuim върви на pentium-4 , но не и обратното..... кернела и модулите въобще не ги бърка това... > <quote>Only "386" kernels will run on a 386 class machine.</quote> > > Ако не вярваш пробвай, ще почнеш да получаваш чудесни SIGILL или още > по-вероятно Ooopses. > -------------- http://darkblue.nm.ru/pgp/ -------------- Respect...
pgp00000.pgp
Description: PGP signature
