summaryrefslogtreecommitdiffstats
path: root/client/boot-tools/includes/etc/initramfs-tools/scripts/oginit
blob: 95efe2823ff25efea68e76069d10cb0ef7d6bce9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# OpenGnsys oginit			-*- shell-script -*-

#@file    oginit
#@brief   Guion modificador inicio initrd para OpenGnSys
#@warning 
#@version 0.1 - basado en ROOTfs - rootfs over nfs -
#@author  Antonio J. Doblas Viso. Universidad de Málaga
#@date    2009/00/00
#@version 0.2 - basado en RAMFS - instalador de ubunto -
#@author  Alejandro Castillo, Ramón Gómez, Irina, Antonio Doblas
#@date    2010/00/00
#@version 0.7 - Hibrido en RAMFS + ROOTFS -mkinitrd, busybox, deboostrap-
#@author  Antonio J. Doblas Viso. Universidad de Málaga. EVLT.
#@date    2010/05/24
#@version 0.8 - Soporte smb, asignación ip estática
#@author  Antonio J. Doblas Viso. Universidad de Málaga. EVLT.
#@date    2010/06/24
#@version 0.8.1 - Integración RAMFS+ROOTFS con UnionFS y squasfs
#@author  Antonio J. Doblas Viso. Universidad de Málaga. EVLT.
#@date    2010/06/29
#@version 1.0. - Adaptacion variables. Corrección enlace red
#@author  Antonio J. Doblas Viso. Universidad de Málaga. EVLT.
#@date    2011/06/16
#@version 1.0.1 - Logica para inicio multiples dispositivos, usb, red, cd
#@author  Antonio J. Doblas Viso. Universidad de Málaga. EVLT.
#@date    2011/07/4
#@version 1.0.2 - RAMFS: instalación y actualización automatica en cache
#@author  Antonio J. Doblas Viso. Universidad de Málaga. EVLT.
#@date    2011/08/4
#*/





# Parameter: Where to mount the filesystem
mountroot ()
{
	[ "$quiet" != "y" ] && log_begin_msg "Running OpenGnsys /scripts/og-top"
	run_scripts /scripts/og-top
	[ "$quiet" != "y" ] && log_end_msg

	# If the root device hasn't shown up yet, give it a little while
	# to deal with removable devices

	. /scripts/functions
	. /scripts/ogfunctions

	sleep 2

	[ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before get OG variables: y/N "
    [ $? == 0 ] && sh || echo " "
	set -a
	log_success_msg "Checking kernel parameters"
	ogExportKernelParameters 
	log_success_msg "Checking Opengnys Environmnet"
	ogExportVarEnvironment
	
	[ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before configure ramfs structure for OG: y/N "
    [ $? == 0 ] && sh || echo " "
	ogConfigureRamfs

	[ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before configure netmoule specified in kernel parameters: y/N "
    [ $? == 0 ] && sh || echo " "
	ogLoadNetModule

	#[ "$quiet" != "y" ] && log_begin_msg "Running /scripts/og-premount"
	#run_scripts /scripts/og-premount
	#[ "$quiet" != "y" ] && log_end_msg

	[ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before configure networking: y/N "
    [ $? == 0 ] && sh || echo " "
	ogConfigureNetworking
	log_success_msg "config networking"
	ogConfigureLoopback
	log_success_msg "config loopback"


	[ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before detect rootserver: y/N "
    [ $? == 0 ] && sh || echo " "
	ogGetROOTSERVER && log_success_msg "Get Info from pxe server and ckeck distribuited OG services " 


	if [ "$ogdebug" == "true" -a "$ogupdateinitrd" == "true" ]; then
		ogYesNo --timeout 5 --default no "Stop before check updating initrd: y/N "
    	[ $? == 0 ] && sh || echo " "		
	fi
	[ "$ogupdateinitrd" == "true" ] && ogUpdateInitrd  

	[ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before connect and merging the rootfs -ogLive- with $OGSERVERLIVE: y/N "
    [ $? == 0 ] && sh || echo " "
	ogConnectOgLive && log_success_msg "Merge the initrd with the remote rootfs -ogLive- on $OGSERVERLIVE" || sh
    # si es necesario realiza ogConnect $OGSERVERLIVE $OGPROTOCOL $SRCOGLIVE $DSTOGLIVE 

	[ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before connect with client dir SHARE -engine,scripts,interface, -share- on $OGSERVERSHARE : y/N "
    [ $? == 0 ] && sh || echo " "
	ogConnect $OGSERVERSHARE $OGPROTOCOL $SRCOGSHARE $DSTOGSHARE 
	
	[ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before connect with client dir LOG STORAGE on $OGSERVERLOG : y/N "
    [ $? == 0 ] && sh || echo " "
	ogConnect $OGSERVERLOG $OGPROTOCOL $SRCOGLOG $DSTOGLOG
	
	[ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before connect with REPOSITORY STORAGE on $OGSERVERIMAGES : y/N "
    [ $? == 0 ] && sh || echo " "
	ogConnect $OGSERVERIMAGES $OGPROTOCOL $SRCOGIMAGES $DSTOGIMAGES ,ro
	 

	[ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before doing the postconfiguration: y/N "
    [ $? == 0 ] && sh || echo " "
	ogPostConfigureFS
	setupcon -k

	[ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before calling oginit with /etc/inittab: y/N "
    [ $? == 0 ] && sh || echo " "
    
if [ "$oginit" ]
then 
	exec $oginit
else
	exec init
fi





}