LINUX.ORG.RU

Arch Linux


0

0

Похоже я нашел дистрибутив своей мечты - Arch Linux.

Очень понравился процесс установки и настройки системы - то что надо. Установив версию 0.7.9 я сразу же обновил систему (pacman -Sy ; pacman -Su).
После перезагрузки я естественно получил кернел паник. У меня система стоит на SATA винте (sda), при этом на первичном IDE висит еще один винт.

Сгенерировав initrd и подправив конфиги я так и не смог загрузить основной образ, хотя fallback отлично грузится и работает.

Вот что пишет система при загрузки основного:

RAMDISK: Compressed image found at block0
Invalid compressed format (err=2)
No filesystem could mount root, tried:
to mount root fs on unknown-block(8, 2).

Вот так у меня установлена система:

/dev/sda1 - swap
/dev/sda2 - /
/dev/sda3 - /boot
/dev/sda4

Вот что в /etc/lilo.conf:

boot=/dev/hda

default=arch
timeout=50
lba32
prompt

image=/boot/vmlinuz26
label=arch
root=/dev/sda2
initrd=/boot/kernel26.img
read-only

image=/boot/vmlinuz26
label=arch-fallback
root=/dev/sda2
initrd=/boot/kernel26-fallback.img
read-only

other=/dev/hda1
label=Windows

Вот что в /boot:

итого 7,4M
715K System.map26
1,0K boot.0300
5,0K diag1.img
66K kconfig26
4,1M kernel26-fallback.img
889K kernel26.img
101K map
1,7M vmlinuz26

Я подумал сначала что в initrd нехватает драйвера reiserfs и добавил в /etc/mkinitcpio.conf срочку:

MODULES="ide_disk reiserfs"

Но потом прочитал про хуки и понял что этот тут не при чем, так как судя по последней строчке того же файла с дровами фс все в порядке:

HOOKS="base udev autodetect ide scsi sata filesystems"

Что еще попробовать прямо-таки не знаю. Подскажите тонкости генерирования initrd для Arch Linux. Что мне еще попробовать?


Ответ на: комментарий от birdie

Нет, ядро из репозитария.

После того как я загрузился с fallback, я выполнил команду mkinitcpio -g /boot/kernel26.img
initrd сгенерился без ошибок.

Теперь при ядра со стандартным initrd вот что происходит:

:: Running Hook [filesystems]
:: Loading root filesystem module... -e
Attempting to create root device 802
/bin/mknod: file exist - /dev/sda2
xfs
SGI XFS with ACLs, security attributes, realtime, large block numbers, no debug enabled
SGI XFS Quota Management subsystem
:: Initramfs Completed - control parsing to kinit
IP-Config: nodevices to configure
XFS mounting filesystem sda2
Kinit: Mounted root (xfs filesystem) readonly
Kinit: init not found!
Kernel panic - not syncing:
Attempting to kill init.

То есть он пытается подмонтировать корень sda2 как Xfs, хотя он reiserfs. В /etc/fstab для корня точно указан reiserfs.

Как такое может происходить? Неужели где-то в конфигах mkinitcpio где-то нужно указывать файловую систему для корня? Я такого поля не нашел.

musha
() автор топика

Что-то я совсем запутался...
Если mkinitrd генерит initrd, тогда чем же занимается mkinitcpio?

musha
() автор топика
Ответ на: комментарий от musha

Походу он путает имена дисков... IDE воспринимает как SCSI.

Выкинул поддежрку хуков autodetect, SCSI, SATA, перенес систему на IDE и все заработало.

musha
() автор топика
Ответ на: комментарий от musha

А драйвера IDE или PATA используются?

ЗЫ - я по привычке сам ядро собираю в пакет без initcpio... Все никак руки не дойдут переключиться на дистрибутивное...

sergej ★★★★★
()
Ответ на: комментарий от musha

initrd последними ядрами не поддерживается - его можно удалить

в последних ядрах при включеной системе PATA IDE диски тоже называются /dev/sd*

/dev/hd* соответственно больше нет

sergej ★★★★★
()
Ответ на: комментарий от sergej

[~]$ uname -a
Linux TrollDesktop 2.6.19-ARCH #1 SMP PREEMPT Thu Jan 11 20:08:17 CET 2007 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz GenuineIntel GNU/Linux
[~]$ ls /dev | grep [sh]d
hda
hda1
hda2
hda3
hda4
hdc
sda
sda1
sda2
sda3
sda4
[~]$
[~]$ egrep -v '^(#|$)' /etc/mkinitcpio.conf
MODULES="ide_disk reiserfs"
BINARIES=""
FILES=""
HOOKS="base udev ide filesystems"
[~]$

musha
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.