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

rockandvaso

  • Напреднали
  • *****
  • Публикации: 82
    • Профил
    • WWW
ново ядро
« -: May 23, 2002, 11:34 »
Здравейте!

Реших да премина на журнална файлова система и ето го проблема: компилирах си ядрото (2.4.18) и когато го заредих се оказа че не може да монтира /. Инече карам с Mandrake 8.2  и със стандартното ядро което върви с дистрибуцията няма никакъв проблем. Съмнявам се че има проблеми с init скриптовете защото пробвах с още 2 ядра и резултата е същия. Ако може някой да помогне!

Предварително благодаря!
Активен

RockAndRoll Forever

n_antonov

  • Напреднали
  • *****
  • Публикации: 1185
    • Профил
    • WWW
ново ядро
« Отговор #1 -: May 23, 2002, 12:32 »
След като не ти монтира коренната директория, значи не си компилирал поддръжката на този вид файлова система (като модул или вградено). По принцип, добре поддръжката на файловата система, в която е форматиран / дяла, да бъде вградено в ядрото. Останалите, вкл. и временните, могат да бъдат компилирани като модули, които ще се зареждат, само ако дадената файлова система е монтирана.
Пусни си конфигуратора и виж как си задал поддръжката на файловата система, която ползуваш.
Активен

-------------------------------------------------------------------------
./debian/rules

rockandvaso

  • Напреднали
  • *****
  • Публикации: 82
    • Профил
    • WWW
ново ядро
« Отговор #2 -: May 23, 2002, 13:23 »
Там е работата че слагам поддръжката на ReiserFS, ext2 и vfat директно в ядрото а на всички останали като модули така че не е от липса на драйвер. Ако това ще помогне използвам ReiserFS като root fs.

Дали не трябва да подавам някакви специални параметри при компилация или при boot-ване?
Активен

RockAndRoll Forever

n_antonov

  • Напреднали
  • *****
  • Публикации: 1185
    • Профил
    • WWW
ново ядро
« Отговор #3 -: May 23, 2002, 13:31 »
Не би трябвало. Поне при мен не се е налагало, и то точно с тази дистрибуция. По-скоро нещо се е омазала компилацията на ядрото. Пусни го да се компилира пак  и го инсталирай с make install. Не ми идва нищо друго наум засега.
Активен

-------------------------------------------------------------------------
./debian/rules

rockandvaso

  • Напреднали
  • *****
  • Публикации: 82
    • Профил
    • WWW
ново ядро
« Отговор #4 -: May 23, 2002, 13:48 »
10х
Но както казах компилирах ядрото три пъти и все същия резултат. Инече си тръгва нормално до момента в който трябва да монтира /. Пробвах да го сложа и с make install и с make bzImage но няма никаква разлика само дето make install ми напълни lilo.conf с много глупости и накрая не можах да си стартирам и старото ядро  '<img'> . Прави ми впечатление че когато зареждат ядрата извеждат таблицата с дяловете по различен начин. Дали това не създава проблема?

Добре си бях с ext2!
 '<img'>
Активен

RockAndRoll Forever

dafo

  • Напреднали
  • *****
  • Публикации: 293
  • Distribution: Fedora
  • Window Manager: KDE
    • Профил
ново ядро
« Отговор #5 -: May 23, 2002, 15:50 »
Ето малко copy&paste как да преминем на журнал :
We'd first suggest you copy everything on your regular ext2 partition
to the spare partition. If the spare is smaller than your original
data, compress your whole partition into a tar.gz file on the spare
partition. After making sure this worked correctly and all your files
are there (and/or you have a good backup!'<img'>, copy the /bin, /etc, /lib
and /sbin directories (plus the mkreiserfs utility) to the spare
partition. This is in preparation for booting off that partition so
you can reformat the original ext2 partition as reiserfs.
Next, make a boot diskette with a ReiserFS-enabled kernel on it (don't
forget to run lilo on the diskette!'<img'> and make sure it works (so you
won't get stuck with an unbootable system.) After booting this
diskette, you should get a lilo: prompt. Enter "linux
root=/dev/hd init=/bin/bash" at
the lilo prompt. Your system should boot and stop at a bare bash "#"
prompt.
At the prompt (now off of your spare partition), try tar ztvf to test
the backup archive if you did the compression step above (just to make
sure you can get at your data still.) If you're convinced that you
want to go ahead with the conversion, run mkreiserfs on your original
ext2 partition, ERASING ALL DATA THERE (but you have the backup of
course.) Then, mount the new partition somewhere as reiserfs and cd to
the mount directory. Make sure the amount of free disk space is what
you expected (just as a double check), and untar your backup archive
to restore everything.
At this point, your data is on ReiserFS and you should be able to
rerun lilo (make sure your default kernel supports ReiserFS!'<img'> on your
normal root partition to get the kernel set up again. Unmount all
partitions and reboot. If everything goes as planned, Linux should say
"VFS: Mounted root ... as reiserfs" at some point, and you should be
all set.

If the system doesn't boot, etc. you have your backup diskette and can
just boot off the spare partition to fix things. Make sure you have
the right ReiserFS-enabled kernel installed beforehand and all
configuration files (especially lilo.conf) are up to date.
Активен

n_antonov

  • Напреднали
  • *****
  • Публикации: 1185
    • Профил
    • WWW
ново ядро
« Отговор #6 -: May 23, 2002, 16:18 »
Всичко това е много вярно, но човекът явно се е справил с тази част от заданието, защото казва, че с подразбиращото се ядро на Mandrake 8.2 няма проблем с монтирането на ReiserFS-дяловете. Затова проблемът явно е в прекомпилираното от него ядро. Няма ли повече информация за грешките, които дава? А не си успял да заредиш старото ядро, защото lilo по принцип зарежда /boot/vmlinuz, което линк към самия файл на ядрото. След това можеш да си стартираш каквото искаш ядро, само с редактирането на линка и на /boot/System.map, което пък е линк към System.map-а на съответното ядро.



Активен

-------------------------------------------------------------------------
./debian/rules

rockandvaso

  • Напреднали
  • *****
  • Публикации: 82
    • Профил
    • WWW
ново ядро
« Отговор #7 -: May 24, 2002, 14:20 »
Здравейте отново!
Проблема ми става доста сериозен. Още 4 пъти компилирах ядрото и има известен напредък но все още нестава. Ето лога на оригиналното ядро което идва с Mandrake в часта кадето мотира /
....
Freeing initrd memory: 97k freed
VFS: Mounted root (ext2 filesystem).
Mounted devfs on /dev
JFS development version: $Name:  $
Freeing unused kernel memory: 260k freed
...

А ето и лога на моето ядро:

...
Freeing initrdmemory: 21k freed
VFS: Mounted root (ext2 filesystem).
Mounted devfs on /dev
Red Hat nash version 3.1.6-mdk starting
Creating root filesystem
Mounting root file system
mount: error 19 mounting auto flags Freeing kernel memory: 224k freed
Kernel panic: No init found. Try passing init= option to kernel

и това е!
Никаде не можах да намеря каква е тази "error 19" но ми прави впечатление че оригиналното ядро използва модула "jfs" за монтирането на reiserfs а в моето ядро няма такъв драйвер. Пробвах да компилирам драйвера за reiserfs като модул и като вграден н ядрото но резултата пак е същия.

Ако някой има някаква идея моля да ми помогне!
Активен

RockAndRoll Forever

n_antonov

  • Напреднали
  • *****
  • Публикации: 1185
    • Профил
    • WWW
ново ядро
« Отговор #8 -: May 24, 2002, 17:22 »
Ами да, ти изобщо не използуваш ReiserFS. Това, което използуваш, е JFS. Журнална файлова система за клъстери и въобще мощни сървъри. Значи, трябва да включиш поддръжката й в ядрото. Пролемът е, че за да си компилираш драйвери за JFS, може да се натъкнеш на ограничения. Не съм наясно под какъв лиценз се разпространяват, но в оригиналното Linux-ядро не фигурират. В ядрото на Mandrake 8.2 има много драйвери, които не фигурират в оригиналното. Лошото е, че дори и да зитеглиш сорса на мандрейкското ядро, можеш да не ги откриеш там.



Активен

-------------------------------------------------------------------------
./debian/rules

rockandvaso

  • Напреднали
  • *****
  • Публикации: 82
    • Профил
    • WWW
ново ядро
« Отговор #9 -: May 27, 2002, 09:25 »
Съжалявам че ви занимавах! Грешката е моя. Не съм обърнал внимание при инсталацията като съм променял файловата система каква журнална файлова система съм избрал но се бях насочил към ReiserFS и от това се е породила грешката ми. Инече драйвери за JFS могат да се дръпнат от официалния сайт на  ibm за проекта JFS project Web site и е под GNU General Public License или от Partition Image for Linux.
Благодаря Ви за помоща!
 '<img'>
Активен

RockAndRoll Forever

n_antonov

  • Напреднали
  • *****
  • Публикации: 1185
    • Профил
    • WWW
ново ядро
« Отговор #10 -: May 27, 2002, 11:09 »
Нищо, важното е, че задачката е решена '<img'>  Между другото, в сорса на моето ядро - 2.4.18-6mdk - я има поддръжката на JFS. Ти май си със същото. Защото не си я компилнеш?
Активен

-------------------------------------------------------------------------
./debian/rules

rockandvaso

  • Напреднали
  • *****
  • Публикации: 82
    • Профил
    • WWW
ново ядро
« Отговор #11 -: May 27, 2002, 13:32 »
Използвам оригиналното ядро от http://www.kernel.org защото нямам диска с сорсовете на Mandrake а и предпочитам да се придържам към стандартните сорсове а не към тези които се публикуват в дистрибуциите. '<img'>
Активен

RockAndRoll Forever