|
1
by ago
Added casper overrides to find_iso and find_preseed |
1 |
#! /bin/sh
|
|
7
by ago
Fix to allow scanning devices that are already mounted |
2 |
#exec > /find_preseed.log 2>&1
|
|
1
by ago
Added casper overrides to find_iso and find_preseed |
3 |
set -x
|
4 |
||
5 |
PREREQ="" |
|
6 |
DESCRIPTION="Loading preseed file..." |
|
7 |
||
8 |
. /scripts/casper-functions |
|
9 |
||
10 |
prereqs ()
|
|
11 |
{
|
|
12 |
echo "$PREREQ" |
|
13 |
}
|
|
14 |
||
15 |
case $1 in |
|
16 |
# get pre-requisites
|
|
|
6
by ago
minor fixes |
17 |
prereqs)
|
18 |
prereqs |
|
19 |
exit 0
|
|
20 |
;; |
|
|
1
by ago
Added casper overrides to find_iso and find_preseed |
21 |
esac
|
22 |
||
23 |
. /scripts/lupin-helpers |
|
24 |
PRESEED="${rootmnt}/preseed.cfg" |
|
25 |
||
26 |
find_preseed(){
|
|
27 |
preseed_path= |
|
28 |
for x in $(cat /proc/cmdline); do |
|
29 |
case ${x} in |
|
30 |
find_preseed=*) |
|
31 |
preseed_path=${x#find_preseed=} |
|
32 |
;; |
|
|
6
by ago
minor fixes |
33 |
file=) |
|
3
by ago
minor fix |
34 |
PRESEED=${x#file=} |
35 |
;; |
|
|
6
by ago
minor fixes |
36 |
preseed/file=)
|
|
3
by ago
minor fix |
37 |
PRESEED=${x#preseed/file=} |
38 |
;; |
|
|
1
by ago
Added casper overrides to find_iso and find_preseed |
39 |
esac
|
40 |
done
|
|
|
7
by ago
Fix to allow scanning devices that are already mounted |
41 |
find_path "${preseed_path}" || return 1 |
|
1
by ago
Added casper overrides to find_iso and find_preseed |
42 |
return 0
|
43 |
}
|
|
44 |
||
45 |
fix_preseed(){
|
|
|
3
by ago
minor fix |
46 |
#TBD make sure CR LF can be handled safely
|
47 |
||
48 |
#TBD what follows tries to find Linux devices if preseed is generated from another OS
|
|
49 |
#a proper fix should be to find reliable device mappings in the preseed-generator
|
|
|
1
by ago
Added casper overrides to find_iso and find_preseed |
50 |
|
51 |
#Find Linux device of User Folder for importing settings by m-a
|
|
52 |
user_folder=$(grep "#UserFolder" ${PRESEED}) |
|
53 |
user_folder=${user_folder#'#UserFolder='} |
|
54 |
dev=${PRESEED_DEVICE} |
|
55 |
if find_path "${user_folder}"; then |
|
56 |
dev="${FOUNDDEV}" |
|
57 |
fi
|
|
58 |
dev=${dev#/dev/} |
|
59 |
sed -i "s/MADEVICE/${dev}/g" ${PRESEED} |
|
60 |
||
61 |
#Find Linux device of loopinstall folder
|
|
62 |
loopinstall_folder=$(grep "#LoopInstallFolder" ${PRESEED}) |
|
63 |
loopinstall_folder=${loopinstall_folder#'#LoopInstallFolder='} |
|
64 |
dev=${PRESEED_DEVICE} |
|
65 |
if find_path "${loopinstall_folder}"; then |
|
66 |
dev="${FOUNDDEV}" |
|
67 |
fi
|
|
68 |
check_loopinstall_folder ${dev} ${loopinstall_folder} |
|
|
6
by ago
minor fixes |
69 |
disk=${dev%[0-9]} #TBD broken if n>9 |
70 |
partn=${dev#${disk}} |
|
|
7
by ago
Fix to allow scanning devices that are already mounted |
71 |
disk=$(echo "${disk}"|sed 's/\//\\\//g') |
|
1
by ago
Added casper overrides to find_iso and find_preseed |
72 |
sed -i "s/LIDISK/${disk}/g" ${PRESEED} |
73 |
sed -i "s/LIPARTITION/${partn}/g" ${PRESEED} |
|
74 |
}
|
|
75 |
||
76 |
check_loopinstall_folder(){
|
|
77 |
dev=${1} |
|
78 |
loopinstall_folder=${2} |
|
79 |
||
80 |
#TBD Check whether LOOPINSTALL_FOLDER is vergin or not
|
|
81 |
#Can we install on top of an existing installation?
|
|
82 |
#Shall we overwrite? ignore and simply boot the live CD or panic?
|
|
|
3
by ago
minor fix |
83 |
#Do we do the check here or later on?
|
|
1
by ago
Added casper overrides to find_iso and find_preseed |
84 |
}
|
85 |
||
|
6
by ago
minor fixes |
86 |
if find_preseed; then |
|
1
by ago
Added casper overrides to find_iso and find_preseed |
87 |
PRESEED_DEVICE="${FOUNDDEV}" |
88 |
PRESEED_FOLDER=$(dirname "${FOUNDPATH}") |
|
|
3
by ago
minor fix |
89 |
#copy over preseed
|
|
7
by ago
Fix to allow scanning devices that are already mounted |
90 |
mkdir -p $(dirname "${PRESEED}") |
|
1
by ago
Added casper overrides to find_iso and find_preseed |
91 |
cp "${FOUNDPATH}" "${PRESEED}" |
|
3
by ago
minor fix |
92 |
#some temporary hooks for testing pourposes
|
|
1
by ago
Added casper overrides to find_iso and find_preseed |
93 |
#copy over early_command and late_command scripts
|
94 |
if [ -e "${PRESEED_FOLDER}/late_command.sh" ]; then |
|
95 |
cp "${PRESEED_FOLDER}/late_command.sh" "${rootmnt}/sbin" |
|
96 |
fi
|
|
97 |
if [ -e "${PRESEED_FOLDER}/early_command.sh" ]; then |
|
98 |
cp "${PRESEED_FOLDER}/early_command.sh" "${rootmnt}/sbin" |
|
99 |
fi
|
|
100 |
#make local packages available during installation
|
|
101 |
mkdir -p "${rootmnt}/packages"
|
|
102 |
cp "${PRESEED_FOLDER}/*.deb" "${rootmnt}/packages" 2> /dev/null |
|
|
7
by ago
Fix to allow scanning devices that are already mounted |
103 |
#fix parameters that cannot be set from a non-linux OS
|
104 |
fix_preseed |
|
|
1
by ago
Added casper overrides to find_iso and find_preseed |
105 |
fi
|
106 |