From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Bokovoy To: devel@linux.iplabs.ru Message-ID: <20001225215810.G2777@avilink.net> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.2.5i Subject: [devel] Installer / kernel problems Sender: devel-admin@linux.iplabs.ru Errors-To: devel-admin@linux.iplabs.ru X-BeenThere: devel@linux.iplabs.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: devel@linux.iplabs.ru List-Help: List-Post: List-Subscribe: , List-Id: IPLabs Linux Team Developers mailing list List-Unsubscribe: , List-Archive: X-Original-Date: Mon, 25 Dec 2000 21:58:11 +0200 Date: Mon, 25 Dec 2000 21:58:11 +0200 Archived-At: List-Archive: List-Post: Доброго времени суток! Хочу предложить красивое на мой взгляд решение для проблемы, описанной мною в [BUG] kernel 2.2.18-ipl1mdk на уровне программы установки. Итак, смысл проблемы в том, что драйвер устройства, на котором расположен раздел /, требуются ядру прямо в момент загрузки и потому не могут быть прочитаны из /lib/modules/ Поскольку при установке системы никаких действий с устройством, где _будет_ находится / не производится в момент старта установочного диска, то программа установки в таких модулях не нуждается и потому ядро для нее обычно минимализировано (в модули укладывается все, что можно). Однако по окончании установки драйвера всех найденных важных для монтирования / устройств должны быть доступны ядру уже установленной системы до монтирования /. Так вот, предлагаю устанавливать эти модули в составе некоторого initrd, который вместе с системным загрузчиком и ядром укладывается в /boot и прописывается в настройках загрузчика как initrd=/boot/initrd В таком случае, все эти драйвера (а их, в принципе, немного -- block, scsi, misc и то только те, которые собраны как модули) будут "под рукой" для ядра в нужный момент и проблем, подобных возникшей, больше не будет. Отрицательная сторона такого решения: При самостоятельной пересборке пользователь вынужден будет собирать свой initrd либо отключать установленный в настройках загрузчика. Правда в этом случае скорее всего такой пользователь драйвер контроллера своего диска вкомпилирует внутрь. С другой стороны, все это можно (и нужно) документировать и, в частности, выводить на экран при первой загрузке системы. Комментарии? Да, вот еще один момент в новом ядре: make install вызывает arch//boot/install.sh, который в Mandrake представляет собой ссылку на /sbin/installkernel, который в свою очередь является скриптом на перле. Так вот, вызов выглядит как sh -x ./install.sh и sh честно пытается этот скрипт разобрать как набор команд ему самому, игнорируя указанный /usr/bin/perl в заголовке. Происходит это на свежеустановленном Сизифе, обновленном до /incoming. Помогло: mv /sbin/installkernel /sbin/installkernel.pl cat /sbin/installkernel /usr/bin/perl /sbin/installkernel.pl $@ EOT -- Sincerely yours, Alexander Bokovoy The Midgard Project | www.midgard-project.org | Aurora R&D team Minsk Linux Users Group | www.minsk-lug.net | www.aurora-linux.com IPLabs Linux Team | linux.iplabs.ru | Architecte Open Source -- In the long run we are all dead. -- John Maynard Keynes _______________________________________________ Devel mailing list Devel@linux.iplabs.ru http://www.logic.ru/mailman/listinfo/devel