Advertisement
Guest User

Untitled

a guest
Apr 20th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.51 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. # Most content is adapted from the gentoo wiki/handbook.
  4. # TODO:
  5. # - make compilations --quiet
  6.  
  7. setvi() { \
  8.     set -o vi
  9.     loadkeys <<< "keycode 58 = Escape"
  10. }
  11.  
  12. partitions() { \
  13.     echo "mount you partitions with root on /mnt/gentoo"
  14. }
  15.  
  16. tarball() { \
  17.     cd /mnt/gentoo
  18.     wget http://distfiles.gentoo.org/releases/amd64/autobuilds/20190417T214503Z/stage3-amd64-20190417T214503Z.tar.xz
  19.     tar xpvf stage3-*.tar.bz2 --xattrs-include='*.*' --numeric-owner
  20. }
  21.  
  22. croot() { \
  23.     cp gentooinstaller.sh /mnt/gentoo #have access to this file after chrooting
  24.  
  25.     cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
  26.     mount --types proc /proc /mnt/gentoo/proc
  27.     mount --rbind /sys /mnt/gentoo/sys
  28.     mount --make-rslave /mnt/gentoo/sys
  29.     mount --rbind /dev /mnt/gentoo/dev
  30.     mount --make-rslave /mnt/gentoo/dev
  31.  
  32.     chroot /mnt/gentoo /bin/bash
  33.     source /etc/profile
  34.     export PS1="(chroot) ${PS1}"
  35. }
  36.  
  37. portconf() { \
  38.     emerge-webrsync
  39.     eselect profile list # Make sure option below is current
  40.     eselect profile set default/linux/amd64/17.0/desktop
  41.     emerge --ask --verbose --update --deep --newuse @world
  42.  
  43.     echo 'USE="X alsa -gnome -systemd -qt -qt5 -gtk -pulseaudio\"' >> /etc/portage/make.conf
  44.  
  45.     procs=`expr $(nproc) - 1`
  46.     echo 'MAKEOPTS="-j${procs}"'>> /etc/portage/make.conf
  47.  
  48.     #MAYBE THIS IS NOT COMMON_FLAGS but CFLAGS
  49.     sed -i 's/COMMON_FLAGS=.*/COMMON_FLAGS="-O2 -pipe -march=native"/g' /etc/portage/make.conf
  50. }
  51.  
  52. settime() { \
  53. echo "US/Eastern" > /etc/timezone
  54. emerge --config sys-libs/timezone-date
  55.  
  56. echo "en_US ISO-8859-1" >> /etc/locale.gen
  57. echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
  58. locale-gen
  59.  
  60. echo 'LANG="en_US.UTF-8"' > /etc/env.d/02locale
  61. echo 'LC_COLLATE="C"' >> /etc/env.d/02locale
  62.  
  63. env-update && source /etc/profile && export PS1="(chroot) $PS1"
  64.  
  65. echo "Kernel time!"
  66. }
  67.  
  68. itools() { \
  69. # System logger
  70. emerge --ask app-admin/sysklogd
  71. rc-update add sysklogd default
  72. # Cron daemon
  73. emerge --ask sys-process/cronie
  74. rc-update add cronie default
  75. # File indexing
  76. emerge --ask sys-apps/mlocate
  77. }
  78.  
  79. netmangen(){ \
  80. # Install nm (maek sure use flags are set well)
  81. emerge --ask net-mist/networkmanager
  82.  
  83. # Remove existing network management services
  84. find /etc/runlevels/default -type l -name 'net.*' -exec sh -c 'for x; do rc-update del "${x##*/}" default; done' _ {} +
  85. rc-update del dhcpcd default
  86.  
  87. # Start network manager (now and at boot)
  88. rc-service NetworkManager start
  89. rc-update add NetworkManager default
  90. }
  91.  
  92. netmansetup() { \
  93. echo "net-misc/networkmanager -modemanager -ofono -ppp -teamd" >> /etc/portage/package.use
  94. netmangen
  95. }
  96.  
  97. netmansetupnowifi() { \
  98. echo "net-misc/networkmanager -modemanager -ofono -ppp -teamd -wext -wifi" >> /etc/portage/package.use
  99. netmangen
  100. }
  101.  
  102. bootloader() { \
  103. echo "sys-boot/refind -* gnuefi ext4" >> /etc/portage/package.use
  104. emerge --ask sys-boot/refind
  105. }
  106.  
  107.  
  108. PS3='Choose an option: '
  109. options=("Test network" "Set vi mode" "Partition" "Download tarball" "Mount devices and chroot" "Configure portage" "Set time zones" "Install tools" "Network manager" "Network manager (no-wifi)" "Quit")
  110. select opt in "${options[@]}"
  111. do
  112.     case $opt in
  113.     "Test network") ping -c 1 www.gentoo.org ;;
  114.         "Set vi mode") setvi ;;
  115.     "Partions") partitions;;
  116.         "Download tarball") tarball ;;
  117.         "Mount devices and chroot") croot ;;
  118.     "Configure portage") portconf ;;
  119.     "Set time zone") settime ;;
  120.     "Install tools") itools ;;
  121.     "Network manager") itools ;;
  122.     "Network manager (no-wifi)") itools ;;
  123.         "Quit") break ;;
  124.         *) echo "invalid option $REPLY";;
  125.     esac
  126. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement