Aq_UNDERSCOPE_0
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Перенос Linux -- задача далеко не тривиальная, как это кажется местным доморощенным спецам-теоретикам. Раньше, когда архитектура х86 быза 32-разрядной, основная проблема на новой машине была -- увидеть корень, с которого можно работать. Сейчас есть несколько 64-разрядных архитектур, несовместимых между собой (x86_64 и ia64). При переносе системы на ДРУГУЮ архитектуру придётся пересобирать АБСОЛЮТНО ВСЁ. Все 64-битные варианты х86 обратно совместимы с 32-битным кодом, поэтому если дистрибутив использует 32-разрядные бинарники, то его можно просто скопировать с правкой нескольких файлов. Поэтому ПЕРЕНОСИТЬ Linux можно только с машинами с ОДИНАКОВОЙ архитектурой, иначе его придётся ПЕРЕСТАВЛЯТЬ с копированием пользовательских настроек из каталога /etc. Я для грамотного переноса Linux на другую платформу пересобираю ядро определённым образом. 1) HDD. 1-1) В случае копирования на другой винт перезапускаемся в single mode (можно командой telinit 1), подключаем новый винт, разбиваем его как хотим, тривиально копируем всё содержимое всех разделов. Затем на новом винте открываем lilo.conf, и добавляем (временно) перед списком загрузок примерно следующие строки: device=/dev/sdb bios=0x80 device=/dev/sda bios=0x81 Потом в списке загрузок меняем временно все /dev/sda на /dev/sdb. Далее устанавливаем lilo -C /mnt/новый_винт/etc/lilo.conf /dev/sdb (предполагается, что старый и новый винты -- это /dev/sda и /dev/sdb соответственно. Затем выключаем машину, новый винт делаем главным, грузимсс нового винта. После успешной загрузки меняем обратно в lilo.conf /dev/sdb на /dev/sda, добавленные строчки ликвидируем. 1-2) В случае переноса на другой контроллер всё зависит от метода запуска ядра. Если используется initrd, то монтируем его, изучаем его структуру, добавляем новый модуль для желаемого контроллера. Если нет, то пересобираем ядро с встроенной поддержкой нового контроллера. Актуально в случае SCSI или внешнего SATA. 1-3) В случае использования обычного IDE/SATA-диска, если мы не уверены в типе контроллера на новой мамке, пересобираем ядро, cтавим Generic IDE, предполагаемые типы контроллеров -- в модули. В БИВИСе новой матери выставляем Legacy IDE на всякий случай, затем, пересобрав ядро и проделав остальные дела как положено, грузимся на новой мамке и по очереди пробуем определить контроллер путём загрузки/выгрузки модулей. После определения пересобираем ядро уже как положено, отключаем Legacy IDE. 2) VGA. При переходе на новую мать framebuffer желательно отрубать. То есть не включать его в ядро при сборке. XWindow придётся конфигурировать заново. Если совсем не устраивает частота обновления экрана, можно подобрать значения развёртки с помощью утилиты xvidtune, затем вписать в Xorg.conf значения вручную. Осторожно, неумелыми действиями можно запросто испортить монитор!!! 3) При пересборке ядра желательно сохранять все его конфигурации, уметь пользоваться пунктами Load/Store a configuration file. Очистить дерево ядра от старых сгенеренных Makefile'ов можно с помощью make mrproper. Я лично пережил такие перемещения: *) переход на другой IDE. *) переход на SCSI. *) переход на другой винт SCSI. *) переезд на новую мать вместе со старыми винтами и контроллером. *) временный переход на SATA. *) возвращение на SCSI **) планируется переезд на RAID-0 разделов /usr и /home с организацией регулярного бэкапа.
---------- The Aquihost Workstation Master |
|