Vymenny disk

Jan Kasprzak kas na informatics.muni.cz
Pátek Říjen 8 22:45:57 CEST 1999


Petr Novotny wrote:
: -----BEGIN PGP SIGNED MESSAGE-----
: Hash: SHA1
: 
: On 8 Oct 99, at 14:49, Jaroslav Lukesh wrote:
: > Pokud je disk bootovaci, mozna bude problem s HW konfiguraci, linux (asi)
: > neumi prepinat mezi HW konfiguracemi jako W95, ale pokud neni mezi PC
: > propastny rozdil (aspon stejna grafika a net), linux jede v pohode.
: 
: Linux sice neumi prepinat mezi hw konfiguracemi, ale zase umi 
: zavest ovladace az za behu. Viz treba univerzalni instalacni jadro, 
: ktere podle pokynu uzivatele vybere spravny ovladac sitovky, 
: spravne TCP/IP nastaveni a taha zbytek instalace pres FTP...
: 
	Ja jsem tohle na svem notebooku vyresil nasledujicim zpusobem:

1) Upravil jsem lilo.conf aby image jadra bootovalo pro kazdou konfiguraci
s jinym parametrem:

-------------------------------------------------------------
[...]
image=/boot/linux-2.3
	label=home
	read-only
	append="conf=home"
	root=/dev/hda1
image=/boot/linux-2.3
	label=stand
	read-only
	append="conf=stand"
	root=/dev/hda1
[...]
-------------------------------------------------------------

2) Vytvoril jsem si adresar /etc/cf.d s podadresari pojmenovanymi podle
jednotlivych konfiguraci (napriklad home, stand - jako standalone, atd),
a upravil jsem rc.sysinit tak, aby vytvorilo symbolicky link
/etc/cf.d/conf, ukazujici na aktualni adresar na zaklade parametru
z prikazove radky jadra (/proc/cmdline).

------------------------------------------------------------
--- rc.sysinit.orig	Fri Oct  8 19:29:34 1999
+++ rc.sysinit	Fri Oct  8 19:30:49 1999
@@ -514,6 +514,20 @@
 #endif
 EOF
 
+rm -f /etc/cf.d/conf
+case "`cat /proc/cmdline`" in
+*conf=home*)    ln -sf home /etc/cf.d/conf; echo "Configuring for home."
+	;;
+*conf=stand*)   ln -sf stand /etc/cf.d/conf; echo "Configuring for stand."
+	;;
+*)              ln -sf stand /etc/cf.d/conf; echo "Using default config for stand."
+	;;
+esac
+
 # Now that we have all of our basic modules loaded and the kernel going,
 # let's dump the syslog ring somewhere so we can find it later
 dmesg > /var/log/dmesg
------------------------------------------------------------

3) Do /etc/cf.d/<konfigurace> jsem dal soubory ktere se lisi mezi ruznymi
	konfiguracemi (XF86Config, ifcfg-eth0, /etc/hosts, /etc/resolv.conf
	/etc/sysconfig/network a podobne). Z puvodnich mist jsem udelal
	symlinky do /etc/cf.d/conf/<filename>.

4) Jako bonus pro pouziti v shell-skriptech mam v kazdem z podadresaru
	/etc/cf.d soubor config s jednim radkem:

CONFIG=<jmeno_konfigurace>

Takze muzu dat v shell-skriptu . /etc/cf.d/conf/config a pak se rozhodovat
podle $CONFIG.

	To je vse. Nerikam, ze je toto reseni idealni, ale v podstate
staci pri kazdem bootu napsat misto "linux" (nebo enter) jmeno aktualni
konfigurace. A pri upgradech systemu pamatovat na upravu rc.sysinit
(nelze to delat pozdeji - ostatni startovaci skripty uz na tomto nastaveni
zavisi).

-Yenya

-- 
\ Jan "Yenya" Kasprzak <kas at fi.muni.cz>       http://www.fi.muni.cz/~kas/
\\ PGP: finger kas at aisa.fi.muni.cz   0D99A7FB206605D7 8B35FCDE05B18A5E //
\\\             Czech Linux Homepage:  http://www.linux.cz/              ///
///    While Linux is larger than Emacs, at least Linux has the excuse   \\\
//     that it needs to be.                           --Linus Torvalds    \\


Další informace o konferenci Linux