Advertisement
echoslider

finish_gentoo_deployment_openrc

Sep 12th, 2022 (edited)
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.73 KB | None | 0 0
  1. #here a gentoo install from ubuntu live system in a kvm VM.
  2.  
  3. sudo su
  4. export DEBIAN_FRONTEND=noninteractive
  5. setxkbmap de
  6.  
  7. #maybe it destroy too much.
  8. #blkdiscard /dev/sda
  9. #sgdisk --zap-all /dev/sda
  10.  
  11. sgdisk -n1:0:+2G -c 1:"EFI System Partition" -t 1:ef00 /dev/sda
  12. sgdisk -n2:0:+2G -c 2:"Swap Partition" -t 2:8200 /dev/sda
  13. sgdisk -n3:0:0 -c 3:"Linux /" -t 3:8300 /dev/sda
  14.  
  15. mkfs.vfat -F 32 /dev/sda1
  16. mkswap /dev/sda2
  17. swapon /dev/sda2
  18. mkfs.ext4 /dev/sda3
  19.  
  20. mkdir --parents /mnt/gentoo
  21. mount /dev/sda3 /mnt/gentoo
  22. mkdir -p /mnt/gentoo/tmp
  23. chmod 1777 /mnt/gentoo/tmp
  24.  
  25. #maybe URL is outdated.
  26. 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
  27. tar --numeric-owner --xattrs -xvJpf /root/stage3.tar.xz -C /mnt/gentoo
  28.  
  29. cat > /mnt/gentoo/etc/portage/make.conf << MAKECONF
  30. COMMON_FLAGS="-march=native -O2 -pipe"
  31. CFLAGS="${COMMON_FLAGS}"
  32. CXXFLAGS="${COMMON_FLAGS}"
  33. FCFLAGS="${COMMON_FLAGS}"
  34. FFLAGS="${COMMON_FLAGS}"
  35. MAKEOPTS="-j2"
  36. USE="-systemd zfs kvm qemu iscsi ssh fuse acl networkmanager elogind"
  37. ACCEPT_LICENSE="*"
  38.  
  39. PORTDIR="/var/db/repos/gentoo"
  40. DISTDIR="/var/cache/distfiles"
  41. PKGDIR="/var/cache/binpkgs"
  42.  
  43. LC_MESSAGES=C
  44.  
  45. GRUB_PLATFORMS="efi-64"
  46. MAKECONF
  47.  
  48. echo "DESKTOP-`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 9 | head -n 1`" > /mnt/gentoo/etc/hostname
  49.  
  50. cat > /mnt/gentoo/etc/resolv.conf << NETWORK
  51. nameserver 127.0.0.53
  52. options edns0 trust-ad
  53. search martin.ads
  54. NETWORK
  55.  
  56. mount --types proc /proc /mnt/gentoo/proc
  57. mount --rbind /sys /mnt/gentoo/sys
  58. mount --make-rslave /mnt/gentoo/sys
  59. mount --rbind /dev /mnt/gentoo/dev
  60. mount --make-rslave /mnt/gentoo/dev
  61. mount --bind /run /mnt/gentoo/run
  62. mount --make-slave /mnt/gentoo/run
  63.  
  64. test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
  65. mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm
  66. chmod 1777 /dev/shm /run/shm
  67.  
  68. chroot /mnt/gentoo /bin/env -i TERM=$TERM /bin/bash
  69.  
  70. source /etc/profile
  71. export PS1="(chroot) $PS1"
  72.  
  73. mount /dev/sda1 /boot
  74.  
  75. emaint --auto sync
  76.  
  77. eselect profile set 1
  78.  
  79. emerge --ask --verbose --update --deep --newuse @world
  80. emerge --depclean
  81.  
  82. emerge --ask app-portage/cpuid2cpuflags
  83. echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags
  84.  
  85. echo "Europe/Brussels" > /etc/timezone
  86. emerge --config sys-libs/timezone-data
  87.  
  88. cat > /etc/locale.gen << LANGGEN
  89. en_US ISO-8859-1
  90. en_US.UTF-8 UTF-8
  91. de_DE ISO-8859-1
  92. de_DE.UTF-8 UTF-8
  93. LANGGEN
  94.  
  95. locale-gen
  96.  
  97. cat > /etc/env.d/02locale << LANGGENB
  98. LANG="de_DE.UTF-8"
  99. LC_COLLATE="C.UTF-8"
  100. LANGGENB
  101.  
  102. eselect locale set 6
  103.  
  104. cat >> /etc/conf.d/keymaps << KEYM
  105. keymap="de"
  106. extended_keymaps=""
  107. windowkeys= "YES"
  108. dumpkeys_charset=""
  109. fix_euro="NO"
  110. KEYM
  111. rc-update add keymaps boot
  112. rc-service keymaps restart
  113.  
  114. env-update && source /etc/profile && export PS1="(chroot) ${PS1}"
  115.  
  116. emerge --ask sys-kernel/linux-firmware
  117.  
  118. emerge --ask sys-kernel/gentoo-sources
  119.  
  120. eselect kernel set 1
  121.  
  122. emerge --ask sys-apps/pciutils
  123.  
  124. emerge --ask sys-kernel/genkernel
  125. genkernel --virtio --install --module-rebuild all
  126.  
  127. echo /dev/disk/by-uuid/$(blkid -s UUID -o value /dev/sda1) /boot vfat defaults,noatime 0 2 > /etc/fstab
  128. echo /dev/disk/by-uuid/$(blkid -s UUID -o value /dev/sda2) none swap sw 0 0 >> /etc/fstab
  129. echo /dev/disk/by-uuid/$(blkid -s UUID -o value /dev/sda3) / ext4 noatime 0 2 >> /etc/fstab
  130.  
  131. mkdir -p /etc/modules-load.d
  132.  
  133. cat >> /etc/modules-load.d/network.conf << NETWORK
  134. 3c59x
  135. NETWORK
  136.  
  137. cat >> /etc/conf.d/net << NETWORKB
  138. dns_domain_lo="WORKGROUP"
  139. NETWORKB
  140.  
  141. emerge --ask net-misc/dhcpcd
  142. rc-update add dhcpcd default
  143. rc-service dhcpcd start
  144.  
  145. emerge --ask --noreplace net-misc/netifrc
  146.  
  147. emerge --ask sys-apps/pcmciautils
  148.  
  149. #enable weak passwords
  150. cat >  /etc/security/passwdqc.conf  << PASS
  151. #min=disabled,24,11,8,7
  152. min=1,1,1,1,1
  153. max=72
  154. #passphrase=3
  155. passphrase=0
  156. #match=4
  157. match=0
  158. #similar=deny
  159. similar=permit
  160. random=47
  161. #enforce=everyone
  162. enforce=none
  163. retry=3
  164. PASS
  165.  
  166. echo 'root:p@ssw0rd'|chpasswd
  167.  
  168. useradd -m -G users,wheel -s /bin/bash serveradmin
  169. echo 'serveradmin:p@ssw0rd'|chpasswd
  170.  
  171. emerge --ask app-admin/sysklogd
  172. rc-update add sysklogd default
  173. emerge --ask sys-process/cronie
  174. rc-update add cronie default
  175.  
  176. crontab /etc/crontab
  177.  
  178. emerge --ask sys-apps/mlocate
  179.  
  180. rc-update add sshd default
  181.  
  182. cat >> /etc/inittab << INITFILE
  183. # SERIAL CONSOLES
  184. s0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100
  185. s1:12345:respawn:/sbin/agetty 9600 ttyS1 vt100
  186. INITFILE
  187.  
  188. emerge --ask net-misc/chrony
  189. rc-update add chronyd default
  190.  
  191. emerge --ask net-misc/dhcpcd
  192.  
  193. emerge --ask sys-boot/grub
  194.  
  195. grub-install --target=x86_64-efi --efi-directory=/boot --removable
  196.  
  197. grub-mkconfig -o /boot/grub/grub.cfg
  198.  
  199. exit
  200. cd
  201. umount -l /mnt/gentoo/dev{/shm,/pts,}
  202. mount -R /mnt/gentoo
  203. reboot
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement