Не возможно загрузить установленную систему. alterator-lilo-1.6-alt2 При первом старте установленной системы: [ 0.952557] Executing init=/init Loading, please wait... [ 0.960327] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input1 Begin: Starting udevd ... Done. Begin: Loading essential drivers ... [ 2.688223] SCSI subsystem initialized [ 2.862541] Driver 'sd' needs updating - please use bus_type methods [ 3.138105] scsi0 : ata_piix [ 3.138937] scsi1 : ata_piix [ 3.139708] ata1: PATA max MWDMA2 cmd 0x1f0 ctl 0x3f6 bmdma 0xc000 irq 14 [ 3.140006] ata2: PATA max MWDMA2 cmd 0x170 ctl 0x376 bmdma 0xc008 irq 15 [ 3.296684] ata1.00: ATA-7: QEMU HARDDISK, 0.10.0, max UDMA/100 [ 3.298035] ata1.00: 14680064 sectors, multi 16: LBA48 [ 3.300373] ata1.00: configured for MWDMA2 [ 3.301987] scsi 0:0:0:0: Direct-Access ATA QEMU HARDDISK 0.10 PQ: 0 ANSI: 5 [ 3.304194] sd 0:0:0:0: [sda] 14680064 512-byte hardware sectors: (7.51 GB/7.00 GiB) [ 3.306056] sd 0:0:0:0: [sda] Write Protect is off [ 3.307169] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA [ 3.308142] sd 0:0:0:0: [sda] 14680064 512-byte hardware sectors: (7.51 GB/7.00 GiB) [ 3.309933] sd 0:0:0:0: [sda] Write Protect is off [ 3.310999] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA [ 3.312007] sda: sda1 sda2 sda4 < sda5 > [ 3.318590] sd 0:0:0:0: [sda] Attached SCSI disk [ 3.476679] ata2.00: ATAPI: QEMU DVD-ROM, 0.10.0, max UDMA/100 [ 3.478540] ata2.00: configured for MWDMA2 [ 3.480542] scsi 1:0:0:0: CD-ROM QEMU QEMU DVD-ROM 0.10 PQ: 0 ANSI: 5 Done. Begin: Finishing udevd initialization ... Done. Begin: Mounting root file system ... /init: 176: cannot open /dev/root: No such device or address Usage: modprobe [-v] [-V] [-C config-file] [-n] [-i] [-q] [-b] [-o <modname>] [ --dump-modversions ] <modname> [parameters...] modprobe -r [-n] [-i] [-v] <modulename> ... modprobe -l -t <dirname> [ -a <modulename> ...] Usage: mount [-r] [-w] [-o options] [-t type] [-f] [-i] [-n] device directory Unable to mount /dev/root as . Dropping to a shell! (initramfs) <vsu> cat /proc/cmdline там посмотри <stanv> cat /proc/cmdline BOOT_IMAGE=ALTLinuxS ro root=302 console=ttyS0 <vsu> откуда root=302 берётся? lilo поганое? <vsu> и запись root=/dev/disk/by-uuid/... тоже не работает <vsu> а вот by-path уже не попользуешься <vsu> как и by-id в созданном /etc/lilo.conf содержатся как раз строки: boot="/dev/disk/by-id/ata-QEMU_HARDDISK_QM00001" root="/dev/disk/by-uuid/84eca964-2fd1-4bdd-93d3-c52dcc4532a6" С /etc/fstab кажись все впорядке: proc /proc proc nosuid,noexec,gid=proc 0 0 devpts /dev/pts devpts nosuid,noexec,gid=tty,mode=620 0 0 tmpfs /tmp tmpfs nosuid 0 0 UUID=84eca964-2fd1-4bdd-93d3-c52dcc4532a6 / ext3 defaults 1 1 UUID=732d8b98-ba6d-447b-bfe6-1074e3a1012b /home ext3 nosuid 1 2 UUID=23e2f0b8-f810-40ee-9ee9-0aaafd6417e4 swap swap defaults 0 0 <vsu> работает root="UUID=84eca964-2fd1-4bdd-93d3-c52dcc4532a6" т.е. необходимо поправить генерацию lilo.conf
Причина проблемы в том, что lilo при установке загрузчика преобразует любую форму записи параметра root, кроме root="UUID=..." и root="LABEL=...", в номер устройства, используемый в загруженной в этот момент системе. В результате при последующей загрузке до скриптов в initramfs доходит лишь что-то типа root=302, и загрузка проходит только в случае, если номера устройств в новой и старой системе совпадают (и устройство определяется без задержек - ожидание появления устройства в этом случае тоже не работает).
В /proc/mounts появился некий /dev/root. alterator-lilo оказался не готов к такому сюрпризу. Кто виноват - непонятно... В любом случае можно брать root device из fstab...
Может поможет сгенеренный lilo.conf. root="/dev/disk/by-uuid/84eca964-2fd1-4bdd-93d3-c52dcc4532a6" что соответствует /dev/hda2. Т.е. запись логически правильная. Упоминаний о /dev/root в lilo.conf нету. Как /dev/root (что является образом squashfs) вносит сбой в работу alterator-lilo ? cat /etc/lilo.conf map="/boot/map" lba32 prompt compact vga="0x314" boot="/dev/disk/by-id/ata-QEMU_HARDDISK_QM00001" timeout="100" install="menu" message="/boot/splash/message" append="panic=30 splash=silent" default="ALTLinux" image="/boot/vmlinuz" label="ALTLinux" initrd="/boot/initrd.img" root="/dev/disk/by-uuid/84eca964-2fd1-4bdd-93d3-c52dcc4532a6" read-only image="/boot/vmlinuz" label="failsafe" initrd="/boot/initrd.img" root="/dev/disk/by-uuid/84eca964-2fd1-4bdd-93d3-c52dcc4532a6" addappend="failsafe" vga="normal" read-only
(В ответ на комментарий №3) > Может поможет сгенеренный lilo.conf. > > root="/dev/disk/by-uuid/84eca964-2fd1-4bdd-93d3-c52dcc4532a6" что соответствует > /dev/hda2. Т.е. запись логически правильная. Значит тут дело не в alterator-lilo, а где-то глубже... > Как /dev/root (что является образом squashfs) вносит сбой в работу > alterator-lilo ? Ну вот у меня в системе почему-то в /proc/mounts сплошной несуществующий /dev/root и никаких реальных устройств. Соответственно, alterator-lilo не ставит загрузчик в раздел. И cas@ на этом сейчас налетел...
Поведение текущей версии initramfs в зависимости от вида параметра root=..., полученного ядром при загрузке: 1) root=UUID=${uuid} - преобразуется в /dev/disk/by-uuid/${uuid}, и в таком виде попадает в /proc/mounts. 2) root=LABEL=${label} - в текущей версии в этом случае в /proc/mounts будет /dev/root (а не /dev/disk/by-label/${escaped_label} - просто сунуть ${label} в имя нельзя, поскольку варианты вида LABEL=/ тоже должны работать). 3) root=/dev/${path} (имя файла в любом виде) - в /proc/mounts будет имя устройства в том виде, как оно было записано в параметре root=...; при использовании lilo этот вариант получить не удастся, поскольку любое явно указанное имя файла устройства будет переведено в номер. 4) root=${hex_number} (результат саботажа со стороны lilo) и прочие форматы записи номера устройства - в /proc/mounts будет /dev/root, ожидание появления устройства не работает. При формировании lilo.conf следует отлавливать имена устройств, записанные в виде /dev/disk/by-uuid/${uuid}, и заменять их на UUID=${uuid}.
alterator-lilo-1.8-alt1 -> sisyphus: * Wed Jun 03 2009 Vladislav Zavjalov <slazav@altlinux> 1.8-alt1 - lilo-disk.sh: use /etc/fstab instead of /proc/mounts for finding device mountpoints - lilo-conf.sh: use "UUID=..." instead of "/dev/disk/by-uuid/..." for root parameter (closes: #20292) - avoid more error messages
А в чем проблема с LABEL? Казалось бы, надо все странные символы преобразовать так же, как это делает udev, создавая свои симлинки. Или тут никакой принципиальной трудности нет, а просто пока не сделано?