#here a gentoo install from ubuntu live system in a kvm VM. sudo su export DEBIAN_FRONTEND=noninteractive setxkbmap de #maybe it destroy too much. #blkdiscard /dev/sda #sgdisk --zap-all /dev/sda sgdisk -n1:0:+2G -c 1:"EFI System Partition" -t 1:ef00 /dev/sda sgdisk -n2:0:+2G -c 2:"Swap Partition" -t 2:8200 /dev/sda sgdisk -n3:0:0 -c 3:"Linux /" -t 3:8300 /dev/sda mkfs.vfat -F 32 /dev/sda1 mkswap /dev/sda2 swapon /dev/sda2 mkfs.ext4 /dev/sda3 mkdir --parents /mnt/gentoo mount /dev/sda3 /mnt/gentoo mkdir -p /mnt/gentoo/tmp chmod 1777 /mnt/gentoo/tmp #maybe URL is outdated. wget -c https://mirror.leaseweb.com/gentoo/releases/amd64/autobuilds/current-stage3-amd64-openrc/stage3-amd64-openrc-20220911T170535Z.tar.xz -O /root/stage3.tar.xz tar --numeric-owner --xattrs -xvJpf /root/stage3.tar.xz -C /mnt/gentoo cat > /mnt/gentoo/etc/portage/make.conf << MAKECONF COMMON_FLAGS="-march=native -O2 -pipe" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" MAKEOPTS="-j2" USE="-systemd zfs kvm qemu iscsi ssh fuse acl networkmanager elogind" ACCEPT_LICENSE="*" PORTDIR="/var/db/repos/gentoo" DISTDIR="/var/cache/distfiles" PKGDIR="/var/cache/binpkgs" LC_MESSAGES=C GRUB_PLATFORMS="efi-64" MAKECONF echo "DESKTOP-`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 9 | head -n 1`" > /mnt/gentoo/etc/hostname cat > /mnt/gentoo/etc/resolv.conf << NETWORK nameserver 127.0.0.53 options edns0 trust-ad search martin.ads NETWORK 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 test -L /dev/shm && rm /dev/shm && mkdir /dev/shm mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm chmod 1777 /dev/shm /run/shm chroot /mnt/gentoo /bin/env -i TERM=$TERM /bin/bash source /etc/profile export PS1="(chroot) $PS1" mount /dev/sda1 /boot emaint --auto sync eselect profile set 1 emerge --ask --verbose --update --deep --newuse @world emerge --depclean emerge --ask app-portage/cpuid2cpuflags echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags echo "Europe/Brussels" > /etc/timezone emerge --config sys-libs/timezone-data cat > /etc/locale.gen << LANGGEN en_US ISO-8859-1 en_US.UTF-8 UTF-8 de_DE ISO-8859-1 de_DE.UTF-8 UTF-8 LANGGEN locale-gen cat > /etc/env.d/02locale << LANGGENB LANG="de_DE.UTF-8" LC_COLLATE="C.UTF-8" LANGGENB eselect locale set 6 cat >> /etc/conf.d/keymaps << KEYM keymap="de" extended_keymaps="" windowkeys= "YES" dumpkeys_charset="" fix_euro="NO" KEYM rc-update add keymaps boot rc-service keymaps restart env-update && source /etc/profile && export PS1="(chroot) ${PS1}" emerge --ask sys-kernel/linux-firmware emerge --ask sys-kernel/gentoo-sources eselect kernel set 1 emerge --ask sys-apps/pciutils emerge --ask sys-kernel/genkernel genkernel --virtio --install --module-rebuild all echo /dev/disk/by-uuid/$(blkid -s UUID -o value /dev/sda1) /boot vfat defaults,noatime 0 2 > /etc/fstab echo /dev/disk/by-uuid/$(blkid -s UUID -o value /dev/sda2) none swap sw 0 0 >> /etc/fstab echo /dev/disk/by-uuid/$(blkid -s UUID -o value /dev/sda3) / ext4 noatime 0 2 >> /etc/fstab mkdir -p /etc/modules-load.d cat >> /etc/modules-load.d/network.conf << NETWORK 3c59x NETWORK cat >> /etc/conf.d/net << NETWORKB dns_domain_lo="WORKGROUP" NETWORKB emerge --ask net-misc/dhcpcd rc-update add dhcpcd default rc-service dhcpcd start emerge --ask --noreplace net-misc/netifrc emerge --ask sys-apps/pcmciautils #enable weak passwords cat > /etc/security/passwdqc.conf << PASS #min=disabled,24,11,8,7 min=1,1,1,1,1 max=72 #passphrase=3 passphrase=0 #match=4 match=0 #similar=deny similar=permit random=47 #enforce=everyone enforce=none retry=3 PASS echo 'root:p@ssw0rd'|chpasswd useradd -m -G users,wheel -s /bin/bash serveradmin echo 'serveradmin:p@ssw0rd'|chpasswd emerge --ask app-admin/sysklogd rc-update add sysklogd default emerge --ask sys-process/cronie rc-update add cronie default crontab /etc/crontab emerge --ask sys-apps/mlocate rc-update add sshd default cat >> /etc/inittab << INITFILE # SERIAL CONSOLES s0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100 s1:12345:respawn:/sbin/agetty 9600 ttyS1 vt100 INITFILE emerge --ask net-misc/chrony rc-update add chronyd default emerge --ask net-misc/dhcpcd emerge --ask sys-boot/grub grub-install --target=x86_64-efi --efi-directory=/boot --removable grub-mkconfig -o /boot/grub/grub.cfg exit cd umount -l /mnt/gentoo/dev{/shm,/pts,} mount -R /mnt/gentoo reboot