Skip to content
This repository has been archived by the owner on Mar 19, 2019. It is now read-only.

sehidcan/easygentoo

Repository files navigation

Easy Gentoo

Easy Gentoo is free software distributed under the terms of the MIT license. For license details, see LICENSE.


WARNING: THERE MAYBE SOME MISTAKES OR PARTS THAT NEED IMPROVING. I RECOMMEND YOU TO TEST THIS SCRIPT IN A VIRTUAL ENVIRONMENT FIRST. DON'T FORGET TO CROSS FINGERS WHILE USING ON A REAL MACHINE :)

Bash script for easy Gentoo Linux installation

"Easy Gentoo" is a bash script, which is basically a combination of Gentoo Handbook steps, that installs Gentoo Linux from a stage3 tarball. The overall procedure is unattended, everything is handled by script. Installation includes "localization (English, Brazilian and Turkish), kernel compilation, X server setup, desktop environment setup (Xfce)" and more. These steps are enabled or disabled according to a profile.

Profile is a simple text file which has the necessary options, settings etc. for the installation. (Profile must be named as "profile") With a proper profile, it is possible to have a basic system (without X) or a ready to use Xfce desktop with a few key strokes.

"Easy Gentoo" was tested on lots of machines with different profiles. Many successful installations were made. Hope it becomes a time-saver for you. Happy compiling!

Important Notes

  • Easy Gentoo doesn't do partitioning, you need to do that by yourself. It formats and mounts your selection of existing partitions.
  • Using a capable intallation media which has more filesystem utilities, Easy Gentoo can format, mount, configure partitions for these filesystems: "btrfs, ext2, ext3, ext4, ntfs, reiserfs, xfs"
  • Localization is based on your "keymap". "us" is for English, "br" is for Brazilian, "trq" and "trf" are for Turkish.
  • A temporary swap file with 1 GB size is created as a precaution if root partition is bigger than 8 GB
  • There are two install types; basic: doesn't include X,LightDM,Xfce,Alsa,NetworkManager, normal: includes X,LightDM,Xfce,Alsa,NetworkManager. Base system configuration is the same for both.
  • Easy Gentoo needs an ethernet connection to operate, wireless connection is not an option for now.
  • If the host computer is a laptop, some USE flag changes and additional package merges are made (these have nothing to do with wireless)
  • Stable packages are used
  • Based on a stage3 tarball (latest one)
  • CFLAGS="-march=native -O2 -pipe"
  • LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--sort-common -Wl,--hash-style=gnu"
  • Mirrors for Turkish users:

http://ftp.linux.org.tr/gentoo ftp://ftp.linux.org.tr/gentoo ftp://mirrors.linuxant.fr/distfiles.gentoo.org

  • Mirrors for other users:

ftp://mirrors.linuxant.fr/distfiles.gentoo.org http://gentoo.supp.name http://portage.org.ua

  • Portage profile is "${arch}/13.0/ for basic install" and "${arch}/13.0/desktop for normal install"
  • Kernel has lots of drivers activated to help to get an error free first boot
  • Grub2 is used, not Grub legacy
  • No system logger and no cron included
  • A few performance and security related sysctl settings are included
  • sudo configuration and some aliases are included
  • File manager is Thunar with automount support
  • Login Manager is LightDM

After Using Easy Gentoo, you should check/change these

  • Timezone
  • Grub config (parameters, title)
  • Startup services
  • USE flags (default ones may not be enough for you)
  • Mirrors
  • Kernel config (it is recommended to compile a new kernel with a customized config)
  • Compile list (to check if your 'must have' ones are installed)

How to use

  • boot from an installation media (ex. Gentoo Minimal Install CD)
  • execute these commands:

wget https://raw.githubusercontent.com/shdcn/easygentoo/master/easygentoo

chmod +x easygentoo

  • create a profile in the same directory where script is placed

for more information on profile please read:

https://github.com/shdcn/easygentoo/blob/master/profile

  • start script:

./easygentoo

Steps for basic install

  • Check if necessary tools/commands are available to continue
  • Format partitions
  • Mount partitions
  • Check mirrors
  • Download and extract latest stage3 tarball and portage snapshot
  • Continue inside chroot
  • Create a temporary make.conf
  • Emerge portage and some tools
  • Create locale.gen
  • Update make.conf and create package.use
  • Do a controlled "emerge -e system"
  • Kernel compilation (genkernel-next) with lots of needed settings/drivers
  • Emerge grub2 and create grub.cfg
  • Create/update configuration files (localtime, keymaps, hostname, etc)
  • Change locale based on keymap
  • Change root password and create user
  • Update /etc/sudoers and .bashrc
  • Unmerge unnecessary packages and do "emerge -uDN world"

Steps for normal install

  • Emerge xorg-server and create xorg.conf
  • Emerge and configure Xfce
  • Emerge and configure LightDM
  • Configure evdev
  • Emerge NetworkManager
  • Emerge and configure Alsa

End of normal install steps

  • Purge unnecessary man pages etc. (localepurge)
  • Create a small report about whole process.
  • Delete temporary files that were created by script
  • Shutdown computer

About

Bash script for easy Gentoo installation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published