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