X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Fhooks%2Fpartition.DEFAULT;h=9adaa76ee5babdf1603d5f963bbc085c8388e77c;hb=839b3cf02ad7e8900b3d685d54449f11e7b60b60;hp=7990a19918faf90e56760428b54fce9e032f1120;hpb=137ffae7de84a51c4b438ccf2fb50f5571f522a6;p=automated-distro-installer diff --git a/fai/config/hooks/partition.DEFAULT b/fai/config/hooks/partition.DEFAULT index 7990a19..9adaa76 100755 --- a/fai/config/hooks/partition.DEFAULT +++ b/fai/config/hooks/partition.DEFAULT @@ -27,7 +27,6 @@ if [[ $EUID != 0 ]]; then fi # for calling outside of FAI without args: -# fai-redep # # source /b/fai/fai-wrapper # - set any appropriate classes with: fai-setclass OPT1... which sets CLASS_OPT1=true... @@ -43,7 +42,7 @@ fi # happen to already be setup. # # mktab: for running outside of fai and generating a crypttab for -# the main root fs in /tmp/fai. Must run with env var, eg export DISTRO=trisquelnabia. +# the main root fs in /tmp/fai. Must run with env var, eg export DISTRO=trisquelaramo. # # Example use in a bootstrap distro: # scp /a/bin/fai/fai/config/{distro-install-common/devbyid,hooks/partition.DEFAULT} root@HOST: @@ -61,9 +60,8 @@ fi # # environment variables: # -# HOSTNAME: if frodo, we exclude 2 devices from the /boot array, which -# the bios does not see. if demohost, we set the luks password to just -# 'x'. +# HOSTNAME: if demohost, we set the luks password to just +# 'x'. Used in various other ways too. # # SPECIAL_DISK: For use outside of fai. A base disk name like # /dev/sdk. If set, we just cryptsetup and partition this one disk then @@ -168,8 +166,6 @@ fi # boot - - ##### end configuration ##### begin function defs @@ -332,6 +328,27 @@ ROOT_PARTITION=\${ROOT_PARTITION:-$first_root_dev} SWAPLIST=\${SWAPLIST:-"${swap_devs[@]}"} EOF + if [[ $HOSTNAME == frodo ]]; then + big_disks=( + ata-Hitachi_HDS722020ALA330_JK1121YAG7SXWS-part1 + ata-Hitachi_HDS722020ALA330_JK1121YAG7SY4S-part1 + ata-Hitachi_HDS723030ALA640_MK0311YHG2WUSA-part1 + ata-ST4000DM000-1F2168_Z300AZ6K-part1 + ata-ST6000DM001-1XY17Z_Z4D2WMZK-part1 + ata-TOSHIBA_MD04ACA500_8539K4TQFS9A-part1 + ata-TOSHIBA_MD04ACA500_85NAK4T2FS9A-part1 + ata-TOSHIBA_MD04ACA500_9551K615FS9A-part1 + ata-TOSHIBA_MD04ACA500_Y5IFK6IJFS9A-part1 + ) + for d in ${big_disks[@]}; do + cat >>/tmp/fai/crypttab <> /tmp/fai/fstab <>/mnt/root/root2-crypttab < 0 )) || exit 1 + if (( count_down <= 0 )); then + echo "$0: wipefs failed 10 times. exiting" >&2 + exit 1 + fi done done fi @@ -852,11 +883,18 @@ if $partition; then # so use fixed sizes to allow both to grow # 600 = uefi 512 + grubext 8 + bios grub 3 + some extra cuz this is lvm #root_mib=$(( disk_mib - root2_part_mib - swap_mib - boot_part_mib - boot2_part_mib - 600 )) - root_mib=$(( 1000 * 1000 )) # * 1000 to make it in gb. o_mib=$(( 120 * 1000 )) + # max minus o, minus a gig just for some extra space + max_root_mib=$(( disk_mib - root2_part_mib - swap_mib - boot_part_mib - boot2_part_mib - 600 - o_mib - 1000 )) + root_mib=$(( 1000 * 1000 )) # * 1000 to make it in gb. + if (( max_root_mib < root_mib )); then + root_mib=$max_root_mib + fi fi - if [[ ! $SPECIAL_DISK ]]; then + if [[ $SPECIAL_DISK ]]; then + lvcreate -y -L $max_root_mib $vg -n data + else # -L unit default mebibyte lvcreate -y -L $root_mib $vg -n root if ! fsf; then @@ -869,12 +907,6 @@ if $partition; then fi fi - if zilap; then - # todo: now that we are using lvm, this doesnt need to be done until mkroot2 - lvcreate -y -L $root2_part_mib $vg -n root2 - lvcreate -y -L $boot2_part_mib $vg -n boot2 - fi - $pcmd mkpart primary "" ${pv_end}MiB ${disk_mib}MiB $pcmd name $bootn boot $pcmd set $bootn boot on @@ -940,6 +972,11 @@ if $partition; then # into ipxe which can't persist data, if we ever got that working. mkfs.ext2 $dev$grub_extsuf + if [[ $SPECIAL_DISK ]]; then + luks-setup /dev/$vg/data crypt-$vg-data + exit 0 + fi + # for fsf, no encryption of root because root will not contain any # sensitive data. if ! fsf; then @@ -947,9 +984,6 @@ if $partition; then luks-setup /dev/$vg/o crypt-$vg-o fi - if [[ $SPECIAL_DISK ]]; then - exit 0 - fi done ls -la /dev/btrfs-control # this was probably for debugging... sleep 1