Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

Re: lug-bg: Slackware 9 на 386 - Kernel panic


  • Subject: Re: lug-bg: Slackware 9 на 386 - Kernel panic
  • From: Georgi Chorbadzhiyski <gf@xxxxxxxxxxx>
  • Date: Mon, 22 Sep 2003 12:42:43 +0300
  • Organization: Unix Solutions (http://unixsol.org)

George Danchev wrote:
> On Sunday 21 September 2003 17:08, Georgi Chorbadzhiyski wrote:
>> Valentin Stoykov wrote:
>> > On Sunday 21 September 2003 14:38, Georgi Chorbadzhiyski wrote:
>> >> Valentin Stoykov wrote:
>> >> > Инсталирах си Slackware 9 на един хард диск 200MB (двеста мегабайта!)
>> >> > Проблема обаче е, че след като го свързах към една машина с 386
>> >> > процесор, при зареждане ми вади следното съобщение за грешка:
>> >> >
>> >> >
>> >> > . . .
>> >> > 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?

Модулите са част от кернела нали? Компилират се със същите оптимизации.

Ето ти малка извадка от arch/i386/Kconfig на 2.6.0-test5-mm1
Ключовата фраза по-долу е "not necessarily run", което в случая за i686
модули insmod-нати в i386 компилирано ядро е само "not run".

<quote>Only "386" kernels will run on a 386 class machine.</quote>

Ако не вярваш пробвай, ще почнеш да получаваш чудесни SIGILL или още
по-вероятно Ooopses.

config M386
    bool "386"
    ---help---
      This is the processor type of your CPU. This information is used for
      optimizing purposes. In order to compile a kernel that can run on
      all x86 CPU types (albeit not optimally fast), you can specify
      "386" here.

      The kernel will not necessarily run on earlier architectures than
      the one you have chosen, e.g. a Pentium optimized kernel will run on
      a PPro, but not necessarily on a i486.

      Here are the settings recommended for greatest speed:
      - "386" for the AMD/Cyrix/Intel 386DX/DXL/SL/SLC/SX, Cyrix/TI
      486DLC/DLC2, UMC 486SX-S and NexGen Nx586.  Only "386" kernels
      will run on a 386 class machine.
      - "486" for the AMD/Cyrix/IBM/Intel 486DX/DX2/DX4 or
      SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or U5S.
      - "586" for generic Pentium CPUs lacking the TSC
      (time stamp counter) register.
      - "Pentium-Classic" for the Intel Pentium.
      - "Pentium-MMX" for the Intel Pentium MMX.
      - "Pentium-Pro" for the Intel Pentium Pro.
      - "Pentium-II" for the Intel Pentium II or pre-Coppermine Celeron.
      - "Pentium-III" for the Intel Pentium III or Coppermine Celeron.
      - "Pentium-4" for the Intel Pentium 4 or P4-based Celeron.
      - "K6" for the AMD K6, K6-II and K6-III (aka K6-3D).
      - "Athlon" for the AMD K7 family (Athlon/Duron/Thunderbird).
      - "Crusoe" for the Transmeta Crusoe series.
      - "Winchip-C6" for original IDT Winchip.
      - "Winchip-2" for IDT Winchip 2.
      - "Winchip-2A" for IDT Winchips with 3dNow! capabilities.
      - "CyrixIII/VIA C3" for VIA Cyrix III or VIA C3.
      - "VIA C3-2 for VIA C3-2 "Nehemiah" (model 9 and above).

Иначе както си го написал звучи добре, само че е тотална глупост.
(аа забрави да споменеш, че дебиан най-вероятно този проблем го няма)

-- 
Georgi Chorbadzhiyski
http://georgi.unixsol.org/

============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================



 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.