SpecialistOff.NET / Вопросы / Статьи / Фрагменты кода / Резюме / Метки / Помощь / Файлы

Назад

Установка Gentoo


install.sh

#!/bin/bash

drive="/dev/sda"

# Destroy all data
sgdisk --zap-all ${drive}
dd if=/dev/zero of=${drive} bs=256k

vgname="server_vg"

# GPT
sgdisk --clear ${drive}

sgdisk -a 4096 -n 1:0:+512M --typecode=1:ef00 ${drive}
sgdisk -a 4096 --largest-new=2 --typecode=2:8e00 ${drive}

pvcreate ${drive}2

vgcreate ${vgname} ${drive}2

lvcreate -C y -L 4G ${vgname} -n swap0
lvcreate -l +100%FREE ${vgname} -n root0

mkfs.vfat ${drive}1
mkfs.xfs -f /dev/${vgname}/root0

mount /dev/${vgname}/root0 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount ${drive}1 /mnt/gentoo/boot

cd /mnt/gentoo

stagefile=`curl https://mirror.yandex.ru/gentoo-distfiles/releases/amd64/autobuilds/latest-stage3-amd64.txt | grep stage3 | awk '{print $1}'`

wget http://mirror.yandex.ru/gentoo-distfiles/releases/amd64/autobuilds/${stagefile}

tar xpvf data/stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner

mount --types proc /proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev
mount --bind /run /mnt/gentoo/run
mount --make-slave /mnt/gentoo/run

BOOTUUID=`blkid -s UUID -o value ${drive}1`
cat << EOF > etc/fstab
UUID=$BOOTUUID /boot vfat noauto,noatime 0 2
/dev/mapper/"${vgname}"-root0     /       xfs     defaults        0       1
/dev/mapper/"${vgname}"-swap0     none    swap    sw              0       0
EOF

cat << EOF >> etc/portage/make.conf
LINGUAS="ru"
# GRUB
GRUB_PLATFORMS="efi-64"
EOF

cat >> etc/locale.gen << EOF
ru_RU.UTF-8 UTF-8
en_US.UTF-8 UTF-8
EOF

cp /etc/resolv.conf etc

wget https://specialistoff.net/snippet/30/inode/40/raw -O /two.sh
chmod +x /two.sh

chroot /mnt/gentoo /two.sh