ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Installer / kernel problems
@ 2000-12-25 19:58 Alexander Bokovoy
  2000-12-26  0:02 ` Dmitry V. Levin
  0 siblings, 1 reply; 3+ messages in thread
From: Alexander Bokovoy @ 2000-12-25 19:58 UTC (permalink / raw)
  To: devel

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

Хочу предложить красивое на мой взгляд решение для проблемы,
описанной мною в [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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2000-12-26  6:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-12-25 19:58 [devel] Installer / kernel problems Alexander Bokovoy
2000-12-26  0:02 ` Dmitry V. Levin
2000-12-26  6:14   ` Alexander Bokovoy

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