/[smeserver]/cdrom.image/sme10/netinstall/ks.cfg
ViewVC logotype

Contents of /cdrom.image/sme10/netinstall/ks.cfg

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.5 - (show annotations) (download)
Wed Feb 17 17:17:19 2021 UTC (3 years, 10 months ago) by jpp
Branch: MAIN
Changes since 1.4: +0 -2 lines
SME: 11352

1 # System authorization information
2 auth --enableshadow --passalgo=sha512
3
4 # We do not want SELinux
5 selinux --disabled
6
7 # Services to activate
8 services --disabled=lm_sensors
9
10 # Default root pass, will be changed in post-install process anyway
11 rootpw --lock
12 user --name=installer --uid=9999
13
14 # Accept EULA
15 eula --agreed
16
17 # Partitioning from pre section
18 %include /tmp/part-include
19
20 # Disable kdump
21 %addon com_redhat_kdump --disable
22 %end
23
24
25 # Add netinstall repos
26 url --url https://mirror.canada.pialasse.com/releases/testing/10/smeos/x86_64/
27 repo --name=smeupdates --baseurl=https://mirror.canada.pialasse.com/releases/testing/10/smeupdates/x86_64/
28
29 # Packages to install
30 %packages
31 @^minimal
32 @base
33 @core
34 -chrony
35 -kexec-tools
36 %end
37
38
39 # Partitioning in pre-install
40 %pre --interpreter=/bin/bash --log=/var/log/ks.pre01.log
41
42 # Minimum size of hard drive needed specified in GB
43 MINSIZE=5
44
45 # Number of detected drives
46 NDEV=0
47
48 # Loop through block devices and keep those over MINSIZE
49 # TODO: Only pair up drives of the same size
50 for DEV in $(lsblk -nl | grep disk | cut -d' ' -f1); do
51 if [ -d /sys/block/$DEV ]; then
52 REMOVABLE=`cat /sys/block/$DEV/removable`
53 if (( $REMOVABLE == 0 )); then
54 SIZE=`cat /sys/block/$DEV/size`
55 GB=$(($SIZE/2**21))
56 if [ $GB -gt $MINSIZE ]; then
57 DRIVES[$NDEV]=$DEV
58 ((NDEV++))
59 fi
60 fi
61 fi
62 done
63
64 # Declare useful variables
65 printf -v DRIVELIST ",%s" "${DRIVES[@]}"
66 DRIVELIST=${DRIVELIST:1}
67 LEVEL=1
68 SPARE=0
69
70 # Error if detection has failed and fall back
71 if [ ${#DRIVES[@]} == 0 ] ; then
72 echo "No drive suitable for installation found! Reverting to Anaconda defaults."
73
74 cat > /tmp/part-include <<EOF
75 # Clear the Master Boot Record
76 zerombr
77
78 # Clear current partitions
79 clearpart --all --initlabel
80
81 # Automatically create partitions using LVM
82 autopart --lvm --nohome
83 EOF
84
85 # Otherwise clear detected devices and set up bootloader
86 else
87 cat > /tmp/part-include <<EOF
88 # Clear the Master Boot Record
89 zerombr
90
91 # Clear current partitions and install bootloader
92 clearpart --all --drives=$DRIVELIST --initlabel
93 ignoredisk --only-use=$DRIVELIST
94 bootloader --location=mbr --driveorder=$DRIVELIST
95 EOF
96
97 # If single disk then set up partitioning without RAID
98 # NOTE: From this point we're appending to part-include
99 if [ ${#DRIVES[@]} == 1 ] ; then
100
101 # Include the EFI partition if necessary
102 if [ -d /sys/firmware/efi ] ; then
103 printf "part /boot/efi --fstype=efi --size=200 --ondisk=%s\n" "${DRIVES[0]}" >> /tmp/part-include
104 fi
105
106 cat >> /tmp/part-include <<EOF
107 part /boot --fstype=xfs --size=500 --ondisk=${DRIVES[0]} --label=BOOT
108 part pv.01 --size=4300 --grow --ondisk=${DRIVES[0]}
109 volgroup main pv.01
110 logvol / --fstype=xfs --name=root --vgname=main --grow --size=3000 --label=ROOT
111 logvol swap --fstype=swap --name=swap --vgname=main --recommended --label=SWAP
112 EOF
113
114 # Otherwise multiple disks - prepare for RAID
115 else
116
117 # Define EFI, boot and LVM RAID partitions
118 for i in "${!DRIVES[@]}"; do
119 if [ -d /sys/firmware/efi ] ; then
120 printf "part raid.%s0 --size=200 --ondisk=%s\n" "$i" "${DRIVES[$i]}" >> /tmp/part-include
121 fi
122 printf "part raid.%s1 --size=500 --ondisk=%s\n" "$i" "${DRIVES[$i]}" >> /tmp/part-include
123 printf "part raid.%s2 --size=4300 --grow --ondisk=%s\n" "$i" "${DRIVES[$i]}" >> /tmp/part-include
124 done
125
126 # Compute RAID level
127 # from https://wiki.contribs.org/Raid
128 # 2 Drives - Software RAID 1
129 # 3 Drives - Software RAID 1 + 1 Hot-spare
130 # 4 Drives - Software RAID 6
131 # 5+ Drives - Software RAID 6 + 1 Hot-spare
132
133 if [ ${#DRIVES[@]} == 2 ] ; then
134 LEVEL=1
135 SPARE=0
136 elif [ ${#DRIVES[@]} == 3 ] ; then
137 LEVEL=1
138 SPARE=1
139 elif [ ${#DRIVES[@]} == 4 ] ; then
140 LEVEL=6
141 SPARE=0
142 else
143 LEVEL=6
144 SPARE=1
145 fi
146
147 # Set up RAID devices
148 printf -v EFIDEVS "raid.%s0 " "${!DRIVES[@]}"
149 printf -v BOOTDEVS "raid.%s1 " "${!DRIVES[@]}"
150 printf -v ROOTDEVS "raid.%s2 " "${!DRIVES[@]}"
151
152 # Include the EFI partition if necessary
153 if [ -d /sys/firmware/efi ] ; then
154 printf "raid /boot/efi --fstype=efi --level=1 --spares=0 --device=md9 %s\n" "$EFIDEVS" >> /tmp/part-include
155 fi
156
157 printf "raid /boot --fstype=xfs --level=1 --spares=0 --device=md0 %s\n" "$BOOTDEVS" >> /tmp/part-include
158 printf "raid pv.01 --level=%s --spares=%s --device=md1 %s\n" "$LEVEL" "$SPARE" "$ROOTDEVS" >> /tmp/part-include
159
160 # Set up LVM
161 cat >> /tmp/part-include <<EOF
162 volgroup main pv.01
163 logvol / --fstype xfs --name=root --vgname=main --grow --size=3000 --label=ROOT
164 logvol swap --fstype swap --name=swap --vgname=main --recommended --label=SWAP
165 EOF
166
167 fi
168 fi
169
170 %end
171
172
173 # SME events in post-install
174 %post --interpreter=/usr/bin/bash --log=/var/log/ks.post02.log
175 userdel -r installer
176 sleep 2
177 /sbin/e-smith/signal-event post-install
178 sleep 2
179 /sbin/e-smith/db configuration set UnsavedChanges no
180 touch /forcequotacheck
181 %end
182
183
184 %post --nochroot --log=/mnt/sysimage/var/log/ks.post01.log
185 #!/bin/bash
186 sysimage="/mnt/sysimage"
187 cp -r /tmp/anaconda.log ${sysimage}/root/
188 %end

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed