Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- # Most content is adapted from the gentoo wiki/handbook.
- # TODO:
- # - make compilations --quiet
- setvi() { \
- set -o vi
- loadkeys <<< "keycode 58 = Escape"
- }
- partitions() { \
- echo "mount you partitions with root on /mnt/gentoo"
- }
- tarball() { \
- cd /mnt/gentoo
- wget http://distfiles.gentoo.org/releases/amd64/autobuilds/20190417T214503Z/stage3-amd64-20190417T214503Z.tar.xz
- tar xpvf stage3-*.tar.bz2 --xattrs-include='*.*' --numeric-owner
- }
- croot() { \
- cp gentooinstaller.sh /mnt/gentoo #have access to this file after chrooting
- cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
- 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
- chroot /mnt/gentoo /bin/bash
- source /etc/profile
- export PS1="(chroot) ${PS1}"
- }
- portconf() { \
- emerge-webrsync
- eselect profile list # Make sure option below is current
- eselect profile set default/linux/amd64/17.0/desktop
- emerge --ask --verbose --update --deep --newuse @world
- echo 'USE="X alsa -gnome -systemd -qt -qt5 -gtk -pulseaudio\"' >> /etc/portage/make.conf
- procs=`expr $(nproc) - 1`
- echo 'MAKEOPTS="-j${procs}"'>> /etc/portage/make.conf
- #MAYBE THIS IS NOT COMMON_FLAGS but CFLAGS
- sed -i 's/COMMON_FLAGS=.*/COMMON_FLAGS="-O2 -pipe -march=native"/g' /etc/portage/make.conf
- }
- settime() { \
- echo "US/Eastern" > /etc/timezone
- emerge --config sys-libs/timezone-date
- echo "en_US ISO-8859-1" >> /etc/locale.gen
- echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
- locale-gen
- echo 'LANG="en_US.UTF-8"' > /etc/env.d/02locale
- echo 'LC_COLLATE="C"' >> /etc/env.d/02locale
- env-update && source /etc/profile && export PS1="(chroot) $PS1"
- echo "Kernel time!"
- }
- itools() { \
- # System logger
- emerge --ask app-admin/sysklogd
- rc-update add sysklogd default
- # Cron daemon
- emerge --ask sys-process/cronie
- rc-update add cronie default
- # File indexing
- emerge --ask sys-apps/mlocate
- }
- netmangen(){ \
- # Install nm (maek sure use flags are set well)
- emerge --ask net-mist/networkmanager
- # Remove existing network management services
- find /etc/runlevels/default -type l -name 'net.*' -exec sh -c 'for x; do rc-update del "${x##*/}" default; done' _ {} +
- rc-update del dhcpcd default
- # Start network manager (now and at boot)
- rc-service NetworkManager start
- rc-update add NetworkManager default
- }
- netmansetup() { \
- echo "net-misc/networkmanager -modemanager -ofono -ppp -teamd" >> /etc/portage/package.use
- netmangen
- }
- netmansetupnowifi() { \
- echo "net-misc/networkmanager -modemanager -ofono -ppp -teamd -wext -wifi" >> /etc/portage/package.use
- netmangen
- }
- bootloader() { \
- echo "sys-boot/refind -* gnuefi ext4" >> /etc/portage/package.use
- emerge --ask sys-boot/refind
- }
- PS3='Choose an option: '
- 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")
- select opt in "${options[@]}"
- do
- case $opt in
- "Test network") ping -c 1 www.gentoo.org ;;
- "Set vi mode") setvi ;;
- "Partions") partitions;;
- "Download tarball") tarball ;;
- "Mount devices and chroot") croot ;;
- "Configure portage") portconf ;;
- "Set time zone") settime ;;
- "Install tools") itools ;;
- "Network manager") itools ;;
- "Network manager (no-wifi)") itools ;;
- "Quit") break ;;
- *) echo "invalid option $REPLY";;
- esac
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement