9 |
|
|
10 |
# setup locales |
# setup locales |
11 |
TEXTDOMAIN=installer |
TEXTDOMAIN=installer |
|
LC_MESSAGES=C |
|
12 |
|
|
13 |
# include dir |
# include dir |
14 |
INSTALLER_LIBDIR="%LIBDIR%" |
INSTALLER_LIBDIR="%LIBDIR%" |
40 |
fi |
fi |
41 |
done |
done |
42 |
|
|
|
# TOTALLINES=linecount of ${CDIMAGENAME}-tarball -1 ! |
|
|
# -> now in images.conf |
|
|
CDIMAGENAME="" |
|
|
TOTALLINES="" |
|
|
CURRENTLINE=0 |
|
|
if [ -e /mnt/cdrom/system/images.conf ] |
|
|
then |
|
|
source /mnt/cdrom/system/images.conf |
|
|
# check if all required variables are set |
|
|
[[ -z ${CDIMAGENAME} ]] && die "CDIMAGENAME is empty in /mnt/cdrom/system/images.conf" |
|
|
[[ -z ${TOTALLINES} ]] && die "TOTALLINES is empty in /mnt/cdrom/system/images.conf" |
|
|
else |
|
|
die "/mnt/cdrom/system/images.conf not found" |
|
|
fi |
|
|
|
|
43 |
### System/Config Version |
### System/Config Version |
44 |
VERSION="%VERSIONTAG%" |
VERSION="%VERSIONTAG%" |
45 |
TITLE="${DEFAULT_TITLE} - ${VERSION}" |
TITLE="${DEFAULT_TITLE} - ${VERSION}" |
46 |
|
|
47 |
# some sane defaults |
# some sane defaults |
48 |
CDROOT="${DEFAULT_CDROOT}" |
LIVEROOT="${DEFAULT_LIVEROOT}" |
49 |
|
IMAGEROOT="${DEFAULT_IMAGEROOT}" |
50 |
INSTALLROOT="${DEFAULT_INSTALLROOT}" |
INSTALLROOT="${DEFAULT_INSTALLROOT}" |
51 |
KERNELPKG="${DEFAULT_KERNELPKG}" |
KERNELPKG="${DEFAULT_KERNELPKG}" |
52 |
KERNELOPTS="${DEFAULT_KERNELOPTS}" |
KERNELOPTS="${DEFAULT_KERNELOPTS}" |
57 |
FORMFACTOR="${DEFAULT_FORMFACTOR}" |
FORMFACTOR="${DEFAULT_FORMFACTOR}" |
58 |
FORMAT_FILESYSTEM="${DEFAULT_FILESYSTEM}" |
FORMAT_FILESYSTEM="${DEFAULT_FILESYSTEM}" |
59 |
|
|
60 |
|
# TOTALLINES=linecount of ${CDIMAGENAME}-tarball -1 ! |
61 |
|
# -> now in images.conf |
62 |
|
CDIMAGENAME="" |
63 |
|
TOTALLINES="" |
64 |
|
CURRENTLINE=0 |
65 |
|
if [ -e ${IMAGEROOT}/images.conf ] |
66 |
|
then |
67 |
|
source ${IMAGEROOT}/images.conf |
68 |
|
# check if all required variables are set |
69 |
|
[[ -z ${CDIMAGENAME} ]] && die "CDIMAGENAME is empty in ${IMAGEROOT}/images.conf" |
70 |
|
[[ -z ${TOTALLINES} ]] && die "TOTALLINES is empty in ${IMAGEROOT}/images.conf" |
71 |
|
else |
72 |
|
die "${IMAGEROOT}/images.conf not found" |
73 |
|
fi |
74 |
|
|
75 |
### helper scripts ### |
### helper scripts ### |
76 |
|
|
99 |
return 0 |
return 0 |
100 |
} |
} |
101 |
|
|
102 |
|
mount_rootfs() |
103 |
|
{ |
104 |
|
local retval |
105 |
|
|
106 |
|
if is_mounted --location "${INSTALLROOT}" |
107 |
|
then |
108 |
|
echo $"${INSTALLROOT} already mounted" >&2 |
109 |
|
else |
110 |
|
mount "${ROOTHDD}" "${INSTALLROOT}" || dialog_die $"Could not mount rootfs - drive '${ROOTHDD}' -> '${INSTALLROOT}'" |
111 |
|
fi |
112 |
|
[[ -d ${INSTALLROOT}/boot ]] || install -d ${INSTALLROOT}/boot |
113 |
|
} |
114 |
|
|
115 |
|
umount_rootfs() |
116 |
|
{ |
117 |
|
is_mounted --location ${INSTALLROOT}/boot && umount ${INSTALLROOT}/boot |
118 |
|
is_mounted --location ${INSTALLROOT} && umount ${INSTALLROOT} |
119 |
|
} |
120 |
|
|
121 |
|
install_do_reboot() |
122 |
|
{ |
123 |
|
reboot |
124 |
|
} |
125 |
|
|
126 |
run_hardware_detection() |
run_hardware_detection() |
127 |
{ |
{ |
129 |
|
|
130 |
hwinfo="$(hwinfo --bios --storage --pci --gfxcard --sys)" |
hwinfo="$(hwinfo --bios --storage --pci --gfxcard --sys)" |
131 |
|
|
132 |
## check for special devices/clients: |
# check for special devices/clients: |
133 |
## if zotac a zotac and the disk is a removeable device, then add rootdelay to kernelcmd |
# if zotac a zotac and the disk is a removeable device, then add rootdelay to kernelcmd |
134 |
#local removable=0 |
local removable=0 |
135 |
#if [[ ! -z $(echo "${hwinfo}" | grep -i zotac) ]] |
if [[ ! -z $(echo "${hwinfo}" | grep -i zotac) ]] |
136 |
#then |
then |
137 |
#for i in /sys/block/[hs]d*/removable |
#for i in /sys/block/[hs]d*/removable |
138 |
#do |
#do |
139 |
#if [[ $(< ${i}) = 1 ]] |
# if [[ $(< ${i}) = 1 ]] |
140 |
#then |
# then |
141 |
#removable=1 |
# removable=1 |
142 |
#fi |
# fi |
143 |
#done |
#done |
144 |
## smartcard = udevadm info -n /dev/sda -a | grep -i 'configuration.*card' |
# smartcard = udevadm info -n /dev/sda -a | grep -i 'configuration.*card' |
145 |
|
|
146 |
## only add this for grub legacy, grub2 detect these settings on its own |
# only add this for grub legacy, grub2 detect these settings on its own |
147 |
#export GRUBLEGACYOPTS="rootdelay=8" |
export GRUBLEGACYOPTS="rootdelay=8" |
148 |
## there are to zotac types in the wild, nvidia based gfx and intel |
# there are to zotac types in the wild, nvidia based gfx and intel |
149 |
#if [[ ! -z $(echo "${hwinfo}" | grep -i nouveau) ]] |
if [[ ! -z $(echo "${hwinfo}" | grep -i nouveau) ]] |
150 |
#then |
then |
151 |
#export SPECIALDEVICE="zotac_nvidia" |
export SPECIALDEVICE="zotac_nvidia" |
152 |
#else |
else |
153 |
#export SPECIALDEVICE="zotac_intel" |
export SPECIALDEVICE="zotac_intel" |
154 |
#fi |
fi |
155 |
#fi |
fi |
156 |
|
|
157 |
# check for special devices/clients: |
# check for special devices/clients: |
158 |
# if a rangee and disk ist smaller then 256mb move partion one block further ahead |
# if a rangee and disk ist smaller then 256mb move partion one block further ahead |
188 |
# all disks but exclude ramdisks |
# all disks but exclude ramdisks |
189 |
export ALL_DISKS=$(get_hwinfo disk | sed '/\/dev\/ram[0-9].*/d') |
export ALL_DISKS=$(get_hwinfo disk | sed '/\/dev\/ram[0-9].*/d') |
190 |
# remove the boot device from ALL_DISKS if it was an usbstick |
# remove the boot device from ALL_DISKS if it was an usbstick |
191 |
if [[ $(grep '[[:space:]]/mnt/cdrom[[:space:]]' /proc/mounts | cut -d' ' -f3) != iso9660 ]] |
if [[ $(grep '[[:space:]]${LIVEROOT}[[:space:]]' /proc/mounts | cut -d' ' -f3) != iso9660 ]] |
192 |
then |
then |
193 |
bootdev="$(grep '[[:space:]]/mnt/cdrom[[:space:]]' /proc/mounts | cut -d' ' -f1 | sed 's:[0-9]::g')" |
bootdev=$(grep "[[:space:]]${LIVEROOT}[[:space:]]" /proc/mounts | cut -d' ' -f1 | sed 's:[0-9]::g') |
194 |
export ALL_DISKS=$(echo "${ALL_DISKS}" | grep -v "${bootdev}") |
export ALL_DISKS=$(echo "${ALL_DISKS}" | grep -v "${bootdev}") |
195 |
fi |
fi |
196 |
export ALL_CDROMS="$(get_hwinfo cdrom)" |
export ALL_CDROMS="$(get_hwinfo cdrom)" |
210 |
# run this only if FDISKPARTITIONBELOW256MB is not already 1 |
# run this only if FDISKPARTITIONBELOW256MB is not already 1 |
211 |
if [[ ${FDISKPARTIONBELOW256MB} != 1 ]] |
if [[ ${FDISKPARTIONBELOW256MB} != 1 ]] |
212 |
then |
then |
213 |
if hdd_size_below_256mb ${HDD} |
if device_minimum_size "${HDD}" 256 |
214 |
then |
then |
215 |
FDISKPARTIONBELOW256MB=1 |
FDISKPARTIONBELOW256MB=1 |
216 |
else |
else |
285 |
mkfs."${FORMAT_FILESYSTEM}" -q "${ROOTHDD}" || dialog_die |
mkfs."${FORMAT_FILESYSTEM}" -q "${ROOTHDD}" || dialog_die |
286 |
} |
} |
287 |
|
|
|
install_mount_rootfs() |
|
|
{ |
|
|
is_mounted --location "${INSTALLROOT}" || mount "${ROOTHDD}" "${INSTALLROOT}" |
|
|
install -d ${INSTALLROOT}/boot || dialog_die |
|
|
} |
|
|
|
|
288 |
install_system_image() |
install_system_image() |
289 |
{ |
{ |
290 |
pushd ${INSTALLROOT} > /dev/null |
pushd ${INSTALLROOT} > /dev/null |
291 |
tar xvjpf ${CDROOT}/system/${CDIMAGENAME} -C ${INSTALLROOT} |
tar xvjpf ${IMAGEROOT}}/${CDIMAGENAME} -C ${INSTALLROOT} |
292 |
popd > /dev/null |
popd > /dev/null |
293 |
} |
} |
294 |
|
|
310 |
addconfig 'NETWORKING="dhcp"' |
addconfig 'NETWORKING="dhcp"' |
311 |
|
|
312 |
# intel framebuffer quirk |
# intel framebuffer quirk |
313 |
if [ -e ${INSTALLROOT}/etc/splash/splash.conf ] |
CONFIG="${INSTALLROOT}/etc/splash/splash.conf" |
314 |
|
if [ -e ${CONFIG} ] && [ -e /proc/fb ] |
315 |
then |
then |
316 |
if [ -e /proc/fb ] |
if [[ ! -z $(grep 'inteldrmfb' /proc/fb) ]] |
317 |
then |
then |
318 |
if [[ ! -z $(grep 'inteldrmfb' /proc/fb) ]] |
fbdev=$(grep 'inteldrmfb' /proc/fb | sed 's:\([0-9]\).*:\1:') |
319 |
then |
[[ ${fbdev} != 0 ]] && sed -i "s:^\(SPLASH_DEV=\).*:\1\"/dev/fb${fbdev}\":" ${CONFIG} || dialog_die |
|
fbdev=$(grep 'inteldrmfb' /proc/fb | sed 's:\([0-9]\).*:\1:') |
|
|
if [[ ${fbdev} != 0 ]] |
|
|
then |
|
|
sed -i "s:^\(SPLASH_DEV=\).*:\1\"/dev/fb${fbdev}\":" ${INSTALLROOT}/etc/splash/splash.conf || dialog_die |
|
|
fi |
|
|
fi |
|
320 |
fi |
fi |
321 |
fi |
fi |
322 |
} |
} |
323 |
|
|
|
install_umount_rootfs() |
|
|
{ |
|
|
is_mounted --location ${INSTALLROOT}/boot && umount ${INSTALLROOT}/boot |
|
|
is_mounted --location ${INSTALLROOT} && umount ${INSTALLROOT} |
|
|
} |
|
|
|
|
|
install_do_reboot() |
|
|
{ |
|
|
reboot |
|
|
} |
|
|
|
|
324 |
|
|
325 |
### installer dialogs ### |
### installer dialogs ### |
326 |
|
|
483 |
task_setup_hdd_partitions_manual |
task_setup_hdd_partitions_manual |
484 |
dialog_setup_hdd_format |
dialog_setup_hdd_format |
485 |
setup_hdd_format > /dev/null |
setup_hdd_format > /dev/null |
486 |
install_mount_rootfs |
mount_rootfs |
487 |
(install_system_image > /tmp/install.log) 2> /tmp/install_errors.log | install_meter | dialog_install_system_image |
(install_system_image > /tmp/install.log) 2> /tmp/install_errors.log | install_meter | dialog_install_system_image |
488 |
|
|
489 |
dialog_install_settings |
dialog_install_settings |
500 |
bootloader_config |
bootloader_config |
501 |
bootloader_install |
bootloader_install |
502 |
|
|
503 |
install_umount_rootfs |
umount_rootfs |
504 |
dialog_install_successful |
dialog_install_successful |
505 |
} |
} |
506 |
|
|
511 |
task_setup_hdd_partitions_auto |
task_setup_hdd_partitions_auto |
512 |
dialog_setup_hdd_format |
dialog_setup_hdd_format |
513 |
setup_hdd_format > /dev/null |
setup_hdd_format > /dev/null |
514 |
install_mount_rootfs |
mount_rootfs |
515 |
(install_system_image > /tmp/install.log) 2> /tmp/install_errors.log | install_meter | dialog_install_system_image |
(install_system_image > /tmp/install.log) 2> /tmp/install_errors.log | install_meter | dialog_install_system_image |
516 |
|
|
517 |
dialog_install_settings |
dialog_install_settings |
528 |
bootloader_config |
bootloader_config |
529 |
bootloader_install |
bootloader_install |
530 |
|
|
531 |
install_umount_rootfs |
umount_rootfs |
532 |
dialog_install_successful |
dialog_install_successful |
533 |
} |
} |
534 |
|
|