# система не грузится, нужна помощь! "не работает" ini

## alp

Всем доброго времени суток! Поставил Gentoo. В системе 2-а scsi-винта, разбиты под reiserfs.

Для загрузки с дисков был сделан образ initrd (в ядре включена поддержка initrd и модулем reiserfs) и сделаны соответствующие записи в конфиг загрузчика Grub.

Но после презагрузки система не грузится и ругается:

[199.586609] RAMDISK: couldn't find valid RAM disk image starting at 0

[199.597054] UDF-fs: no partition found (1)

[199.600885] nofilesystem could mount root, tried ext2 iso9660 udf

[199.604646] Kernel panic - not syncing: VFS: unable to mount root fs on unknown-block (1,0)

Помогите, пожалуйста, исправить ситуацию!

----------

## alp

 *alp wrote:*   

> Всем доброго времени суток! Поставил Gentoo. В системе 2-а scsi-винта, разбиты под reiserfs.
> 
> Для загрузки с дисков был сделан образ initrd (в ядре включена поддержка initrd и модулем reiserfs) и сделаны соответствующие записи в конфиг загрузчика Grub.
> 
> Но после презагрузки система не грузится и ругается:
> ...

 

Ситуация интересна тем, что когда ставил ситему, то пользовался genkernel для сборки ядра с опцией all и он сделал "работающие" файлы, в том числе и initrd (inird, system.map, linux-kernel). Но мучаюсь из-за того, что обновив и пересобрав ядро, не получается создать работающий инитрд-файл, чтобы нормально загрузится.

Вообщем, загрузка с разделами под рейсер-фс возможна. Но как это сейчас сделать - не пойму! И c модулями scsi и reiserfs пргобовал по-разному - и вкомпиливал в ядро, и делал как модули, и при создании инитрд-файла (утилитой mkinitrd) загружал эти модули в создаваемый образ... ничего не помогло - не грузится.

Помогите, друзья, кто может. Буду вам за это очень благодарен!  :Smile: ))

----------

## alp

 *alp wrote:*   

>  *alp wrote:*   Всем доброго времени суток! Поставил Gentoo. В системе 2-а scsi-винта, разбиты под reiserfs.
> 
> Для загрузки с дисков был сделан образ initrd (в ядре включена поддержка initrd и модулем reiserfs) и сделаны соответствующие записи в конфиг загрузчика Grub.
> 
> Но после презагрузки система не грузится и ругается:
> ...

 

Вот мои /boot/grub.conf:

title=Gentoo Linux (2.6.19.2)

        root (hd0,0)

        kernel /kernel-linux-2.6.19.2_1810-x86-2.6.19.2 gentoo=nodevfs udev doscsi root=/dev/ram0 init=/linuxrc real_root=/dev/sda2 vga=0x317 video=vesa:ywrap,mtrr splash=silent

        initrd /initramfs-linux-2.6.19.2_1810-x86-2.6.19.2

и /etc/fstab:

/dev/sda2               /                       reiserfs defaults        1 1

/dev/sda1               /boot                   reiserfs defaults        1 2

none                    /dev/shm                tmpfs   defaults        0 0

/dev/sda6               /home                   reiserfs defaults        1 2

/dev/sdb1               /media                  reiserfs defaults        1 2

none                    /proc                   proc    defaults        0 0

none                    /sys                    sysfs   defaults        0 0

/dev/sda5               /tmp                    reiserfs defaults        1 2

/dev/sda3               /usr                    reiserfs defaults        1 2

/dev/sda8               /var                    reiserfs defaults        1 2

/dev/sda7               swap                    swap    defaults        0 0

/dev/cdrom              /mnt/cdrom              udf,iso9660 noauto,owner,kudzu,ro 0 0

/dev/fd0                /mnt/floppy             auto    noauto,owner,kudzu 0 0

----------

## alp

 *alp wrote:*   

> Всем доброго времени суток! Поставил Gentoo. В системе 2-а scsi-винта, разбиты под reiserfs.
> 
> Для загрузки с дисков был сделан образ initrd (в ядре включена поддержка initrd и модулем reiserfs) и сделаны соответствующие записи в конфиг загрузчика Grub.
> 
> Но после презагрузки система не грузится и ругается:
> ...

 

Пожалуйста, вот /sbin/fdisk -l /dev/sda

Disk /dev/sda: 18.3 GB, 18351959040 bytes

255 heads, 63 sectors/track, 2231 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          13      104391   83  Linux

/dev/sda2              14         778     6144862+  83  Linux

/dev/sda3             779        1415     5116702+  83  Linux

/dev/sda4            1416        2231     6554520    5  Extended

/dev/sda5            1416        1670     2048256   83  Linux

/dev/sda6            1671        1925     2048256   83  Linux

/dev/sda7            1926        1990      522081   82  Linux swap

/dev/sda8            1991        2231     1935801   83  Linux

----------

## alp

 *alp wrote:*   

> Всем доброго времени суток! Поставил Gentoo. В системе 2-а scsi-винта, разбиты под reiserfs.
> 
> Для загрузки с дисков был сделан образ initrd (в ядре включена поддержка initrd и модулем reiserfs) и сделаны соответствующие записи в конфиг загрузчика Grub.
> 
> Но после презагрузки система не грузится и ругается:
> ...

 

Повторюсь еще раз: загрузка с разделами под рейзер-фс возможна. Но как это сейчас сделать - не пойму! И c модулями scsi и reiserfs пргобовал по-разному - и вкомпиливал в ядро, и делал как модули, и при создании инитрд-файла (утилитой mkinitrd) загружал эти модули в создаваемый образ... ничего не помогло - не грузится.

Помогите, друзья, кто может. Буду вам за это очень благодарен!  :Smile: ))

----------

## _Sir_

Могу предложить две вещи. 

Никогда не следует пренебрегать возможностью создавать отдельный физический раздел для grub, форматировать его в ext2, и добавить опцию noauto в /etc/fstab для него.

Второе -- не стоит делать "безразмерный" корневой раздел. Вы не в винде, в конце концов. Мне вполне хватало и 250 мегабайт для него. (В крайнем случае  :Smile:  ну 512 Mb или гигабайт). Обычно (но не во всех случаях) я форматирую его ext3 с журналированием. Сам живу на reiser и reiser4 давно. 

Теперь по сути. Загрузчик должен опознать раздел и fs, где находится ядро и загрузить его.

Поэтому отдельная партиция для него в 50 Mb вполне достаточна.

Ядро должно получить доступ к (желательно!) партиции с корневым разделом. Соответственно, эту fs имеет смысл вкомпилировать в него  :Smile:  В таком случае пляска с инитрд совершенно не нужна. 

Более того, она не нужна и в таких конфигурациях, как raid+lvm2, можете глянуть...

Судя по ругани, инитрд у вас в ядре вообще нет.  Предлагаю с ним не заморачиваться, а взять диск с утилитами Acronis и откусить кусок для /boot и / и очень вдумчиво сконфигурировать ядро  :Smile:   лучше включить несколько драйверов scsi, производители часто чудят, а инсталляционное ядро тоже грузит все подряд, и понять, какой модуль отвечает за данную железку не всегда возможно. Можно загрузиться с ключом nodetect и вручную, загружая "подозреваемые" модули по одному, отдавать команду /sbin/fdisk -l /dev/sda и получив ответ, соответствующий вашему разбиению, идентифицировать этот модуль.

Отмазка -- я писал, когда было всего два поста, без информации о разбиении дисков  :Smile: 

Но поскольку все вышеизложенное почти фак, оставляю. 

----------

## _Sir_

 *alp wrote:*   

> Вот мои /boot/grub.conf:
> 
> title=Gentoo Linux (2.6.19.2)
> 
>         root (hd0,0)
> ...

 Не мусори в форуме. Выделить мышкой и удалить ненужную часть цитаты совсем несложно. Я что-то не знаю такого флага ядра gentoo, уж прости мою необразованность  :Smile:  И убери нафиг сплэш. Когда заработает -- будешь дорисовывать цветочки и ягодки. И инитрд тебе пока не нужен. Еще меня очень смущает такое длиное название ядра. Если быть может оно возникает при использовании genkernel, то вроде ты писал, что ядро сам собирал. Вообще-то grub при запуске из комстроки или при загрузке имеет опции редактирования. можно было бы поглядеть, воспринимает ли он такое несуразно-длинное имя ядра  :Smile: ))

У меня как-то все попроще:

```

sir@bb ~ $ sudo mount /boot

sir@bb ~ $ ls /boot

boot                          kernel-2.6.12-reiser4-r13-02

config                        kernel-2.6.16-reiser4-r12

config-2.6.12-gentoo-r4       kernel-2.6.17-reiser4-r8

config-2.6.12-reiser4         lost+found

config-2.6.12-reiser4-r13     memtest86plus

config-2.6.12-reiser4-r13-02  System.map

config-2.6.16-reiser4-r12     System.map-2.6.12-gentoo-r4

config-2.6.17-reiser4-r8      System.map-2.6.12-reiser4

grub                          System.map-2.6.12-reiser4-r13

kernel-2.6.12-gentoo-r4       System.map-2.6.12-reiser4-r13-02

kernel-2.6.12-reiser4         System.map-2.6.16-reiser4-r12

kernel-2.6.12-reiser4-r13     System.map-2.6.17-reiser4-r8

```

 Обнаружил помойку из ядер  :Smile: ))))) Надо буит удалить лишнее...

Будь проще, и не только Gentoo к тебе потянется, но и люди  :Smile: ))))

А все-таки, загрузочный раздел лучше в ext2, и не монтировать автоматом.

----------

## viy

На днях диск перебил и ось переставил:

```
 # fdisk -l /dev/hda

   Device Boot      Start         End      Blocks   Id  System

/dev/hda1               1           8       64228+  83  Linux

/dev/hda2               9        7301    58581022+  8e  Linux LVM

# df -h

Файловая система      Разм  Исп  Дост  Исп% смонтирована на

/dev/mapper/ordi-root

                      124M  104M   21M  84% /

udev                  442M  1,2M  441M   1% /dev

tmpfs                 128M   16K  128M   1% /tmp

/dev/mapper/ordi-usr  4,5G  3,8G  728M  85% /usr

/dev/mapper/ordi-var  764M  465M  299M  61% /var

/dev/mapper/ordi-tmp  3,5G  1,3M  3,5G   1% /var/tmp

/dev/mapper/ordi-opt  508M  140M  368M  28% /opt

/dev/mapper/ordi-home

                       15G   12G  3,9G  75% /home
```

От /var/tmp щас оттяпаю, openoffice собирал...

initrd в моем случае нужен, т.к. /-раздел на LVM томе находится, для поднятия которого нудно запускать userspace тулы.

У автора же надобность в initrd отсутствует, но как я понял, дело в genkernel'е (или его неверном использовании).

----------

## _Sir_

 *viy wrote:*   

> На днях диск перебил и ось переставил:
> 
> ```
>  # fdisk -l /dev/hda
> 
> ...

 Ага  :Smile:  Сам на LVM2 давно сижу. А почему не посмотрел в сторону evms? Очень грамотно сделаная вещь, удобна  :Smile:  На одном из серверов у меня raid+lvm, но под evms. 

Очень доволен. На домашнюю не ставил только из-за того, что он reiser4 не поддерживает. 

А в принципе, удобно небольшой / иметь с популярной fs  :Smile:  ибо в случае чего можно до всего добраться, да и не очень я люблю, если честно, эти initrd В любом случае, это workaround. Ну, это личное мнение  :Smile:  И, кстати, swap я предпочитаю тоже отдельной партицией. Не знаю, может, дань давней традиции   :Wink: 

Как раз 4-х партиций хватает.

swap

boot

root

lvm/evms

----------

## viy

В таком случае держать отдельный /boot не имеет смысла. Я так жил 3 года, /-раздел занимал 128 метров.

evms я не очень жалую. Предпочитаю делать все сам, руками. Плюс у меня на системе одной, evms подхватывает виртуальные (dm-7, dm- :Cool:  разделы и клепает из них зеркала. Пришлось несколько раз перегружать машину, чтобы поправить. Мне самому как-то спокойней, уверен в том, что делаю.

(Проверка орфографии во 2-м firefox'е очень даже приятная фишка!)

----------

## alp

 *_Sir_ wrote:*   

> Могу предложить две вещи. 
> 
> Никогда не следует пренебрегать возможностью создавать отдельный физический раздел для grub, форматировать его в ext2, и добавить опцию noauto в /etc/fstab для него.
> 
> Второе -- не стоит делать "безразмерный" корневой раздел. Вы не в винде, в конце концов. Мне вполне хватало и 250 мегабайт для него. (В крайнем случае  ну 512 Mb или гигабайт). Обычно (но не во всех случаях) я форматирую его ext3 с журналированием. Сам живу на reiser и reiser4 давно. 
> ...

 

-------------------------------------------------------------------------------------------------------------

 Все, заработало!   :Laughing:   Просто надо было действительно все повкомпиливать в ядро и сделать названия ядра и System.map покороче. Вообщем, в моем случае, дествительно инитрд не нужен, хотя у меня и скази-винты.

   Огромное спасибо, ребята, Вы все мне помогли придти к "истине" !!!    :Wink: 

 Есть еще вопросы:

 :Question:    Вопрос 1: как распаковать файл инитрд, что бы посмотреть, что "внутри" ?

 (совет типа такого не прошел: попробуй... cp /boot/initrd.img /tmp/initrd.gz

                                                              gunzip /tmp/initrd.gz

                                                              mkdir /tmp/a cd /tmp/a

                                                              cpio -i < /tmp/initrd

  потому что после выполнения cpio -i < /tmp/initrd

  на экране меняются символы: вместо английских появляются "краказяблы"   :Shocked:   и дальше ничего не происходит...

  приходится переподключатся ссш-ем к этому компу)

 :Question:    Вопрос 2: во время компиляции ядра система делает файл System.map, для чего он нужен (как используется) ?

-------------------------------------------------------------------------------------------------------------

----------

