@@ -153,6 +153,20 @@ generate_menu() {
153
153
;;
154
154
esac
155
155
156
+ # remove still beta images unless menu is Other
157
+ if [[ " $1 " != ' Other' ]]; then
158
+ local image beta_image new_rawlist=()
159
+ while read image; do
160
+ for beta_image in " ${IMAGE_STILL_BETA_OVERRIDES[@]} " ; do
161
+ if [[ " $image " == " $beta_image " ]]; then
162
+ continue 2
163
+ fi
164
+ done
165
+ new_rawlist+=(" $image " )
166
+ done <<< " $RAWLIST"
167
+ RAWLIST=" $( printf ' %s\n' " ${new_rawlist[@]} " ) "
168
+ fi
169
+
156
170
# generate formatted list for usage with "dialog"
157
171
for i in $RAWLIST ; do
158
172
TEMPVAR=" $i "
@@ -550,7 +564,7 @@ create_config() {
550
564
local LIMIT=2096128
551
565
local THREE_TB=2861588
552
566
local DRIVE_SIZE; DRIVE_SIZE=" $( sfdisk -s " $( smallest_hd) " 2> /dev/null) "
553
- DRIVE_SIZE=" $( echo " $DRIVE_SIZE " / 1024 | bc) "
567
+ DRIVE_SIZE=" $( echo " $DRIVE_SIZE " / 1024 | bc) " # MiB
554
568
555
569
# adjust swap dynamically according to RAM
556
570
# RAM < 2 GB : SWAP=2 * RAM
@@ -569,6 +583,12 @@ create_config() {
569
583
SWAPSIZE=$(( RAM / 2 / 1024 + 1 ))
570
584
fi
571
585
586
+ # revert swap size to 4G if swap wouldnt fit into smallest disk
587
+ DRIVE_SIZE_GIB=$(( DRIVE_SIZE / 1024 ))
588
+ if (( SWAPSIZE >= DRIVE_SIZE_GIB )) ; then
589
+ SWAPSIZE=4
590
+ fi
591
+
572
592
ESPPART=' PART /boot/efi esp 256M\n'
573
593
574
594
if [ " $UEFI " -eq 1 ]; then
@@ -1018,7 +1038,7 @@ validate_vars() {
1018
1038
graph_error " ERROR: CentOS 6 is EOL since Nov 2020 and installimage does not support CentOS 6 anymore"
1019
1039
return 1
1020
1040
fi
1021
- if (( UEFI == 1 )) && rhel_9_based_image; then
1041
+ if (( UEFI == 1 )) && rhel_9_based_image && test -z " $RHEL9_UEFI_OVERRIDE " ; then
1022
1042
graph_error " ERROR: we do not yet support $IAM $IMG_VERSION on EFI systems"
1023
1043
return 1
1024
1044
fi
@@ -2200,8 +2220,11 @@ make_fstab_entry() {
2200
2220
if grep -q ' ^/dev/disk/by-' <<< " $1" ; then
2201
2221
p=' -part'
2202
2222
else
2203
- p=" $( echo $1 | grep nvme) "
2204
- [ -n " $p " ] && p=' p'
2223
+ local p; p=" "
2224
+ local nvme; nvme=" $( echo $1 | grep nvme) "
2225
+ [ -n " $nvme " ] && p=' p'
2226
+ local disk_by; disk_by=" $( echo $1 | grep ' ^/dev/disk/by-' ) "
2227
+ [ -n " $disk_by " ] && p=' -part'
2205
2228
fi
2206
2229
2207
2230
if [ " $4 " = " swap" ] ; then
@@ -2323,10 +2346,10 @@ make_swraid() {
2323
2346
continue
2324
2347
elif [ -n " $( echo " $line " | grep " /boot" ) " -a " $metadata_boot " == " --metadata=0.90" ] || [ " $metadata " == " --metadata=0.90" ]; then
2325
2348
# update fstab - replace /dev/sdaX with /dev/mdY
2326
- echo $line | sed " s/$SEDHDD \(p\)\?[0-9]\+/\/dev\/md$md_count /g" >> $fstab
2349
+ echo $line | sed " s/$SEDHDD \(p\|-part\ )\?[0-9]\+/\/dev\/md$md_count /g" >> $fstab
2327
2350
else
2328
2351
# update fstab - replace /dev/sdaX with /dev/md/Y
2329
- echo $line | sed " s/$SEDHDD \(p\)\?[0-9]\+/\/dev\/md\/$md_count /g" >> $fstab
2352
+ echo $line | sed " s/$SEDHDD \(p\|-part\ )\?[0-9]\+/\/dev\/md\/$md_count /g" >> $fstab
2330
2353
fi
2331
2354
2332
2355
# create raid array
@@ -2337,8 +2360,12 @@ make_swraid() {
2337
2360
local n=0
2338
2361
for n in $( seq 1 $COUNT_DRIVES ) ; do
2339
2362
TARGETDISK=" $( eval echo \$ DRIVE${n} ) "
2340
- local p=" $( echo $TARGETDISK | grep nvme) "
2341
- [ -n " $p " ] && p=' p'
2363
+ local p; p=" "
2364
+ local nvme; nvme=" $( echo $TARGETDISK | grep nvme) "
2365
+ [ -n " $nvme " ] && p=' p'
2366
+ local disk_by; disk_by=" $( echo $TARGETDISK | grep ' ^/dev/disk/by-' ) "
2367
+ [ -n " $disk_by " ] && p=' -part'
2368
+
2342
2369
components=" $components $TARGETDISK$p$PARTNUM "
2343
2370
done
2344
2371
@@ -2390,8 +2417,11 @@ make_lvm() {
2390
2417
if [ -n " $1 " ] ; then
2391
2418
local fstab=$1
2392
2419
local disk=$DRIVE1
2393
- local p; p=" $( echo " $disk " | grep nvme) "
2394
- [ -n " $p " ] && p=' p'
2420
+ local p; p=" "
2421
+ local nvme; nvme=" $( echo $TARGETDISK | grep nvme) "
2422
+ [ -n " $nvme " ] && p=' p'
2423
+ local disk_by; disk_by=" $( echo $TARGETDISK | grep ' ^/dev/disk/by-' ) "
2424
+ [ -n " $disk_by " ] && p=' -part'
2395
2425
2396
2426
# TODO: needs to be removed
2397
2427
# get device names for PVs depending if we use swraid or not
@@ -2421,7 +2451,7 @@ make_lvm() {
2421
2451
# remove all Physical Volumes
2422
2452
debug " # Removing all Physical Volumes"
2423
2453
while read -r pv vg; do
2424
- if [[ " $vg " =~ $PRESERVE_VG ]]; then
2454
+ if [[ -n " $PRESERVE_VG " ]] && [[ " $vg " =~ $PRESERVE_VG ]]; then
2425
2455
debug " Not removing VG $vg "
2426
2456
else
2427
2457
pvremove -ff " $pv " 2>&1 | debugoutput
@@ -3850,7 +3880,8 @@ exit_function() {
3850
3880
echo " https://robot.hetzner.com/"
3851
3881
echo
3852
3882
3853
- report_install
3883
+ report_install_old
3884
+ report_install_new
3854
3885
}
3855
3886
3856
3887
# function to check if it is a intel or amd cpu
@@ -3981,8 +4012,13 @@ function hdinfo() {
3981
4012
* )
3982
4013
local smartctl_json model_name serial_number
3983
4014
if ! smartctl_json=" $( smartctl -i -j " $dev " 2> /dev/null) " ; then
3984
- echo ' # unknown'
3985
- return
4015
+ if is_usb_disk " $dev " ; then
4016
+ echo ' # USB disk'
4017
+ return
4018
+ else
4019
+ echo ' # unknown'
4020
+ return
4021
+ fi
3986
4022
fi
3987
4023
model_name=" $( jq -r ' .model_name // empty' <<< " $smartctl_json" 2> /dev/null) " || :
3988
4024
serial_number=" $( disk_serial " $dev " ) " || :
0 commit comments