In this loop: foreach (@disks) { $loader = typeOfMBR($_) and return $loader; } The @disks list is not sorted by device name. This can lead to, e.g., /dev/hdd checked before /dev/hda. My /dev/hdd (my old drive) hosts LILO, and this is what detectloader finds first. This resulted in a hosed system when I have updated grub on my system which resides in /dev/hda. --- ---
I hereby propose a solution. Make detectloader accept the optional device parameter, as a pathname or in Grub format. Having this parameter specified, detectloader restricts probes to this device. The install scripts for Grub and Lilo should then determine target device from their respective configuration files.
добавлен skiplist
1) skiplist - это не решение. Невозможно перечислить все места, где не надо искать загрузчик - после подключения USB flash и прочих подобных устройств тоже появляются записи в /proc/partitions. Должно быть ещё средство для явного указания списка устройств. 2) Всё это должно быть документировано - запись "skiplist for mhz" в %changelog пакета никак не может считаться документацией.
Reassigned to maintainer.
Неужто нельзя прочитать существующие конфиги, посмотреть где там у них должен быть bootloader и уже там искать ?
Мужики, подсобите?
bootloader-utils-0.4.1-alt1 -> sisyphus: * Wed Sep 16 2009 Vladislav Zavjalov <slazav@altlinux> 0.4.1-alt1 - installkernel: - change lilo restarting logic (closes #1014, #1015, #20695): old behaviour: restart lilo if first bootloader found in devices from /proc/partitions is lilo new one: restart lilo when lilo bootloader is found in device from boot= setting in lilo.conf - when detectliloboot.sh fails to find device, there are no need to run detectloader.sh (thx Dmitry V. Levin) (closes: #21106) - suppress unwanted output from cd - - detectloader: replace by two shell scripts: detectliloboot.sh -- to get boot device from lilo.conf detectloader.sh -- to get bootloader type on the given device or file - bootloader_utils.pm: - (getroot): recognize UUID and LABEL (thx Dmitry V. Levin) (closes: #2194, #18127) - remove unused functions (partitions, typeOfMBR) used in removed detectloader program - rebootin - remove GRUB support - fix working with quoted labels in lilo.conf (closes: #11446). - cleanup code, improve error and help messages - add long options, add -l option for listing available labels. - update manpage - remove URL and Packager tags (thx Dmitry V. Levin).