Bug 7527

Summary: Если root расположен не на hd..., то installkernel создаёт нерабочие строки в /etc/lilo.conf и /boot/grub/menu.lst
Product: Sisyphus Reporter: Sergei Epiphanov <serpiph>
Component: bootloader-utilsAssignee: placeholder <placeholder>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: critical    
Priority: P2 CC: at, boyarsh, glebfm, ldv, placeholder, sem, slazav, vitty, vt
Version: unstable   
Hardware: all   
OS: Linux   

Description Sergei Epiphanov 2005-08-02 15:44:34 MSD
Проблема в том, что ядро 2.6 при разборе параметра root понимает только строку в
виде root=/dev/hd..., которую превращает в шестнадцатеричное число
<major><minor> блочного устройства. то есть строку root=/dev/hda в 0300,
root=/dev/hda1 в 0301 и т.д. Но не понимает строк вида root=/dev/sd... и других,
ругаясь на неправильный параметр и, соответственно, на отсутствие указания
корневого каталога с kernel panic. А на данный момент это как минимум все
SATA-устройства.

Программа installkernel, определяя текущий корневой раздел, пишет параметр вида
root=/dev/..., что в случае раздела root на SATA приводит к незапусканию
системы. Необходимо изменить поведение, чтобы в параметр root вставлялось
шестнадцатеричное число <major><minor> устройства root. Также ОЧЕНЬ желательно,
чтобы сохранялись параметры, использованные для текущего работающего ядра
(особенно vga=...).
Steps to Reproduce:
1. Установка ядра 2.6
2. Перезагрузка
Actual Results:  
Illegal parameter root=
Kernel panic: no root parameter.
(текст ругани не помню дословно).

Expected Results:  
Нормальная загрузка системы.
Comment 1 Sergey Vlasov 2005-12-30 12:44:03 MSK
Эта проблема должна быть решена в mkinitrd >= 1:2.9.2-alt1 (ядра 2.6.x перестали
самостоятельно обрабатывать параметр root=/dev/... в случае, если
соответствующий драйвер вынесен в модуль; пришлось добавить эту обработку в
скрипт linuxrc, помещаемый в initrd).
Comment 2 Anton Farygin 2006-02-09 16:55:21 MSK
Думаем что fixed.