зеркало из
https://github.com/iharh/notes.git
synced 2025-11-01 14:16:09 +02:00
92 строки
3.6 KiB
Plaintext
92 строки
3.6 KiB
Plaintext
https://github.com/ChrisTitusTech/ArchMatic/blob/master/preinstall.sh
|
|
# disk prep
|
|
sgdisk -Z ${DISK} # zap all on disk
|
|
sgdisk -a 2048 -o ${DISK} # new gpt disk 2048 alignment
|
|
# create partitions
|
|
sgdisk -n 1:0:+1000M ${DISK} # partition 1 (UEFI SYS), default start block, 512MB
|
|
sgdisk -n 2:0:0 ${DISK} # partition 2 (Root), default start, remaining
|
|
# set partition types
|
|
sgdisk -t 1:ef00 ${DISK}
|
|
sgdisk -t 2:8300 ${DISK}
|
|
# label partitions
|
|
sgdisk -c 1:"UEFISYS" ${DISK}
|
|
sgdisk -c 2:"ROOT" ${DISK}
|
|
|
|
https://github.com/manjaro/manjaro-tools-livecd
|
|
https://github.com/manjaro/manjaro-tools-livecd/tree/master/livecd-cli-installer/opt/livecd
|
|
|
|
manjaro-livecd-cli-installer
|
|
/opt/livecd/setup-0.9
|
|
|
|
autoprepare(){
|
|
...
|
|
# we assume a /dev/hdX format (or /dev/sdX)
|
|
if [[ "${GUIDPARAMETER}" == "yes" ]]; then
|
|
PART_ROOT="${DEVICE}5"
|
|
# GPT (GUID) is supported only by 'parted' or 'sgdisk'
|
|
printk off
|
|
DIALOG --infobox "Partitioning ${DEVICE}" 0 0
|
|
# clean partition table to avoid issues!
|
|
sgdisk --zap ${DEVICE} &>/dev/null
|
|
# clear all magic strings/signatures - mdadm, lvm, partition tables etc.
|
|
dd if=/dev/zero of=${DEVICE} bs=512 count=2048 &>/dev/null
|
|
wipefs -a ${DEVICE} &>/dev/null
|
|
# create fresh GPT
|
|
sgdisk --clear ${DEVICE} &>/dev/null
|
|
# create actual partitions
|
|
sgdisk --set-alignment="2048" --new=1:1M:+${GPT_BIOS_GRUB_PART_SIZE}M --typecode=1:EF02 --change-name=1:BIOS_GRUB ${DEVICE} > ${LOG}
|
|
sgdisk --set-alignment="2048" --new=2:+1M:+${UEFISYS_PART_SIZE}M --typecode=2:EF00 --change-name=2:UEFI_SYSTEM ${DEVICE} > ${LOG}
|
|
sgdisk --set-alignment="2048" --new=3:+1M:+${BOOT_PART_SIZE}M --typecode=3:8300 --attributes=3:set:2 --change-name=3:MANJARO_BOOT ${DEVICE} > ${LOG}
|
|
sgdisk --set-alignment="2048" --new=4:+1M:+${SWAP_PART_SIZE}M --typecode=4:8200 --change-name=4:MANJARO_SWAP ${DEVICE} > ${LOG}
|
|
sgdisk --set-alignment="2048" --new=5:+1M:+${ROOT_PART_SIZE}M --typecode=5:8300 --change-name=5:MANJARO_ROOT ${DEVICE} > ${LOG}
|
|
sgdisk --set-alignment="2048" --new=6:+1M:0 --typecode=6:8300 --change-name=6:MANJARO_HOME ${DEVICE} > ${LOG}
|
|
sgdisk --print ${DEVICE} > ${LOG}
|
|
else
|
|
...
|
|
fi
|
|
...
|
|
}
|
|
|
|
|
|
$sudo blkid -p -i -o value -s PTTYPE /dev/sda
|
|
gpt
|
|
|
|
$sudo blkid -p -i -o full /dev/sda
|
|
DEVNAME=/dev/sda
|
|
MINIMUM_IO_SIZE=4096
|
|
PHYSICAL_SECTOR_SIZE=4096
|
|
LOGICAL_SECTOR_SIZE=512
|
|
PTUUID=765a3f72-f679-42e6-976e-39a5fa108d73
|
|
PTTYPE=gpt
|
|
|
|
!!! So, we need a gpt, and EF02 (boot GRUB partition)
|
|
|
|
check_gpt(){
|
|
GUID_DETECTED=""
|
|
[[ "$(${_BLKID} -p -i -o value -s PTTYPE ${DISC})" == "gpt" ]] && GUID_DETECTED="1"
|
|
|
|
if [[ "${GUID_DETECTED}" == "" ]]; then
|
|
DIALOG --defaultno --yesno "Setup detected no GUID (gpt) partition table on ${DISC}.\n\nDo you want to convert the existing MBR table in ${DISC} to a GUID (gpt) partition table?\n\nNOTE:\nBIOS-GPT boot may not work in some Lenovo systems (irrespective of the bootloader used). " 0 0 || return 1
|
|
sgdisk --mbrtogpt ${DISC} > ${LOG} && GUID_DETECTED="1"
|
|
fi
|
|
|
|
if [[ "${GUID_DETECTED}" == "1" ]]; then
|
|
if [[ "${CHECK_UEFISYS_PART}" == "1" ]]; then
|
|
check_uefisyspart
|
|
fi
|
|
|
|
if [[ "${CHECK_BIOS_BOOT_GRUB}" == "1" ]]; then
|
|
if ! [[ "$(sgdisk -p ${DISC} | grep 'EF02')" ]]; then
|
|
DIALOG --msgbox "Setup detected no BIOS BOOT PARTITION in ${DISC}. Please create a >=1 MB BIOS Boot partition for grub-bios GPT support." 0 0
|
|
RUN_CGDISK="1"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if [[ "${RUN_CGDISK}" == "1" ]]; then
|
|
DIALOG --msgbox "Now you'll be put into cgdisk where you can partition your hard drive.\nYou should make a swap partition and as many data partitions as you will need." 18 70
|
|
clear && cgdisk ${DISC}
|
|
fi
|
|
}
|
|
|