Отсиживаясь за make silentoldconfig я долгое время не замечал того, что поддержка IDE оказывается уже deprecated.
Ну и начал лениво размышлять на предмет переезда на современное решение.
Прошу проверить мою логику.
Предполагаю делать так:
1. make menuconfig, включение поддержки libata.
2. Перезагрузка с новым ядром. Должны появиться новые устройства.
Исправление /etc/fstab, перемонтирование разделов.
Проверка.
3. Пересборка ядра с отключением поддержки IDE.
4. Окончательная перезагрузка.
Или я где-то ошибаюсь?
Возможно, во втором
Возможно, во втором пункте.
Новые устройства (sdx) вероятно не появятся, так как всё равно будут использоваться старые драйвера.
Вот так
1. make menuconfig, включение поддержки libata и scsi и отключение поддержки ide - и притом для твоего чипа в ядро, не модулем (если не уверен - включай все что похожее на твой чип - потом по lspci -v посмотриш какой модуль используется, пересобереш ядро только с ним, ну чтоб лишнего не тянуть...)
2. Исправление /etc/fstab - и не забываем, что если только один HDD у тебя - то пофиг как он подключен (primary/secondary master/slave) - он все равно будет sda. Привод CD-ROM будет sr0.
Логично что если на втором контроллере (или на первом но slave режим у винта) - то винт будет sdb - ну и так далее, надеюсь понятно...
3. Опционально - исправление файлов конфигов в которых нагло указывается дисковые устройства (S.M.A.R.T. демон к примеру)
4. Исправление /boot/grub/grub.conf
5. # reboot
.
Включать всё статично: в смысле - из подменю
libata?Поддержка scsi есть (в первую очередь для USB flash drive).
:wq
--
Live free or die
fstab изначально лучше по
fstab изначально лучше по линкам от udev настроить - чтоб не думать что куда слетело
можно узнать а как оное
можно узнать а как оное выглядит? а то ни разу в жизни ни зрел :)
скрытный секс :)
это по
это по меткам
Не могли бы Вы
Не могли бы Вы аргументировать это предложение (исходя из моего опыта: имеет смысл если часто играться с перестановкой жёстких дисков)?
И ещё я прошу Вас пояснить каким образом получается
/dev/disk/by-label/, у меня в/dev/disk/толькоby-id/,by-path/иby-uuid/.:wq
--
Live free or die
ну, я говорил вцелом о
ну, я говорил вцелом о /dev/disk/ можно поюзать например uuid.
а by-label если всмотрется в название получается когда у диска есть метка - она туда и записывается. но нужно быть осторожнее с одинаковыми метками - линк будет на одно устройство из двух.
в /etc/fstab можно
в /etc/fstab можно монтирование по UUID прописать - тогда пофиг будет - sda, hda... в grub.conf только придется root=/dev/sda указать.
P.S.: Linux - это красная таблетка :-) Windows - синяя...
.
1. По
labelмнемоничнее.2. Невозможно по причине
$ eix sys-boot/grub * sys-boot/grub Available versions: 0.92-r1 0.94-r1 0.96-r1 0.96-r2 ~0.96-r3 ~0.97 0.97-r2 0.97-r3 0.97-r4 0.97-r5 0.97-r6 ~0.97-r8 **1.96 {custom-cflags ncurses netboot static} Homepage: http://www.gnu.org/software/grub/ Description: GNU GRUB 2 boot loader * sys-boot/grub-static Available versions: ~0.96-r1 ~0.97 ~0.97-r6 Homepage: http://www.gnu.org/software/grub/ Description: GNU GRUB Legacy boot loader (static build);)
:wq
--
Live free or die
Не придётся
Не придётся. Если собирать ядро genkernel-ом, то можно и grub настроить на UUID или LABEL:
title Gentoo Linux 2.6.27
root (hd0,1)
kernel /boot/kernel-genkernel-x86-2.6.27-gentoo root=/dev/ram0 \
real_root=UUID=70048cce-d361-45f4-8009-ba06477bf438 \
video=uvesafb:ywrap,mttr,1280x1024-32@60 \
splash=verbose,theme:livecd-2007.0 console=tty1
initrd /boot/initramfs-genkernel-x86-2.6.27-gentoo
P.S. Если кто-то скажет, что предпочитает собирать всё ручками (а не генкернелом) - то man gekernel и вперёд:
genkernel --disklabel --menuconfig --no-clean --splash-res=1280x1024 --splash=livecd-2007.0 all
Исправил /etc/fstab
Исправил
/etc/fstabС
на
Пробую пересобирать ядро.
В секции
Device Drivers -> ATA/ATAPI/MFM/RLL support(ничего более похожего на IDE не нашёл. В это секции только одно явное упоминание IDE в контексте 'DEPRECATED'[ ] Probe IDE PCI devices in the PCI bus order (DEPRECATED)Дальше будем посмотреть.
ЗЫ: Сам дурак. В соседней теме тов. Agressor подсказывает
ЗЗЫ:
Serial ATA (prod) and Parallel ATA (experimental) drivers --->Причём для моего случая (SIS5513: IDE controller так оно и написано: SiS PATA support (Experimental)
Вывод: поиграюсь потом.
:wq
--
Live free or die
К версии ядра ~2.6.28--2.6.29
К версии ядра ~2.6.28--2.6.29 появилась наконец поддержка требуемого чипсета.
К версии 2.6.30 я сподобился заняться задачей вплотную.
Как справделиво отметил тов. winterheart, если в ядре включена поддержка и в режиме IDE, и в режиме
libata, используется IDE.В процессе отработки выяснилось, что мой любимый загрузчик (
lilo) пишет имя устройство в явном виде ({h,s}da), uuid'ы остаются в конфиге.Отсюда очевидное и не слишком весёлое следствие: при использовании
liloодновременная загрузка (в смысле наличие в меню двух ядер разной конфигурации) в режиме IDE и libata невозможно.Решение --- загрузка с live CD, который определяет контроллер в режиме libata.
Июньский Gentoo mini live install CD мой чипсет в режиме
libataне держит, с sysrescuecd прогнозируется тоже.Менять загрузчик не хочется.
Жду следующей итерации.
:wq
--
Live free or die
А чем lilo лучше чем
А чем lilo лучше чем grub?
afair, он хуже как минимум тем, что не после изменения конфига, нужно заново его писать в mbr
а лучше как минимум тем что
а лучше как минимум тем что целиком влазит в этот самый MBR
Еще он хорош тем. что
Еще он хорош тем. что работает в любых дисковых окружениях, хоть пятнадцать рейдов друг на друге =).
он может грузить ядро с
он может грузить ядро с полуаппаратного рейда?
PS grub конечно тоже не может
Да. Оно хранит адреса ядра.
Да. Оно хранит адреса ядра. Если ядро будет разбито по нескольким физическим дискам - не уверен (может просто размера MBR не хватить, все куски запоминать), но на одном точно сможет.
А ещё никто не отменял
А ещё никто не отменял поговорки "от добра добра не ищут".
:wq
--
Live free or die
/
Подтверждаю.
Дома система стоит на sata-диске, но есть и два IDE.
libataсначала считает IDE, потом SATA.Решение: собрать ядро с выключенной поддержкой IDE. Переписать загрузчик, попытаться загрузиться (попытка закономерно завершается kernel-panic, потому как загрузчик, нужно для проверки правильности определения дисков).
Загрузка с systemrescuecd-1.5.8
Монтирование (разделы диска, /proc, /dev), chroot, переписать загрузчик.
Всё.
Можно загружаться.
ЗЫ: Во избежание путаницы имеет смысл вынести старые ядра из конфига загрузчика и /boot/, всё равно они теперь неработоспособны.
:wq
--
Live free or die
И собственно, ради чего оно затевалось
Дополнения (перечитывать тему с начала лень, краткое резюме):
1. Выключаем поддержку IDE (которая устарела):
< > ATA/ATAPI/MFM/RLL support --->2. Включаем подержку
libata(если не используетсяinitramfs, то монолитно):<*> Serial ATA (prod) and Parallel ATA (experimental) drivers --->(и естественно, соответствующее конфигурирование ядра, сборка, установка модулей, копирование и прописывание в конфиг загрузчика образа ядра)
Далее:
3. Загрузка с Live CD (который уже цепляет диски в режиме
libata).4. Проверка конфига ядра [которое предполагается к использованию]: читаем используемые модули (
lspci -kи сравниваем сsrc/linux/.config.Если всё сделано правильно, то:
5. Монтирование разделов.
6.
chroot.7. Переписывание загрузчика (
lilo).8.
reboot:wq
--
Live free or die