ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Alexander Bokovoy <ab@avilink.net>
To: devel@linux.iplabs.ru
Subject: [devel] Installer / kernel problems
Date: Mon, 25 Dec 2000 21:58:11 +0200
Message-ID: <20001225215810.G2777@avilink.net> (raw)

Доброго времени суток!

Хочу предложить красивое на мой взгляд решение для проблемы,
описанной мною в [BUG] kernel 2.2.18-ipl1mdk на уровне программы
установки.

Итак, смысл проблемы в том, что драйвер устройства, на котором
расположен раздел /, требуются ядру прямо в момент загрузки и
потому не могут быть прочитаны из /lib/modules/<kernel version>
Поскольку при установке системы никаких действий с устройством,
где _будет_ находится / не производится в момент старта установочного
диска, то программа установки в таких модулях не нуждается и
потому ядро для нее обычно минимализировано (в модули укладывается
все, что можно).

Однако по окончании установки драйвера всех найденных важных для
монтирования / устройств должны быть доступны ядру уже установленной
системы до монтирования /. Так вот, предлагаю устанавливать эти модули в
составе некоторого initrd, который вместе с системным загрузчиком и
ядром укладывается в /boot и прописывается в настройках загрузчика как
initrd=/boot/initrd В таком случае, все эти драйвера (а их, в принципе,
немного -- block, scsi, misc и то только те, которые собраны как модули)
будут "под рукой" для ядра в нужный момент и проблем,  подобных
возникшей, больше не будет.

Отрицательная сторона такого решения:

При самостоятельной пересборке пользователь вынужден будет собирать свой
initrd либо отключать установленный в настройках загрузчика. Правда в
этом случае скорее всего такой пользователь драйвер контроллера своего
диска вкомпилирует внутрь. С другой стороны, все это можно (и нужно)
документировать и, в частности, выводить на экран при первой загрузке
системы.

Комментарии?

Да, вот еще один момент в новом ядре:

make install вызывает arch/<ARCH>/boot/install.sh, который в Mandrake
представляет собой ссылку на /sbin/installkernel, который в свою очередь
является скриптом на перле. Так вот, вызов выглядит как

    sh -x ./install.sh 

и sh честно пытается этот скрипт разобрать как набор команд ему самому,
игнорируя указанный /usr/bin/perl в заголовке. Происходит это на
свежеустановленном Сизифе, обновленном до /incoming. 

Помогло:

mv /sbin/installkernel /sbin/installkernel.pl
cat <EOT >/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


             reply	other threads:[~2000-12-25 19:58 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-12-25 19:58 Alexander Bokovoy [this message]
2000-12-26  0:02 ` Dmitry V. Levin
2000-12-26  6:14   ` Alexander Bokovoy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20001225215810.G2777@avilink.net \
    --to=ab@avilink.net \
    --cc=devel@linux.iplabs.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git