Gentoo Workshop

From CSLabsWiki
Revision as of 00:41, 27 December 2011 by Platekme (talk | contribs) (Spring 2011 Slides: added copyright notice to slideshows and this page)

Introduction

The Gentoo Workshop is intended to broaden interest in Gentoo Linux. Participants learn how to install and maintain Gentoo, such that they will be able to carry out these steps outside of the structured environment of the workshop.

The workshop was originally conducted by Mark Platek. Christian Mesh will be presenting it in the beginning 2012.

Resources

Gentoo Handbook:

Gentoo Forums:

FAQs and HOWTOs:

Spring 2012

About Gentoo

Gentoo is a "metadistribution", due to it's nearly unlimited configurability.

All programs, libraries, etc. are compiled from source, similar to LFS. However, Gentoo includes Portage, a tool that automates some compilation tasks.

Gentoo performs marginally better than binary distributions due to compiled programs being tuned to the host machine, but that's not as important as the extremely high degree of control over the system that Gentoo affords.

The cost of this power is complexity and effort. But, it's hard to go back to binary distributions once you grok Gentoo.

We Begin!

  • A good backup never hurt anyone :)
  • Make sure your machine is connected to the external Clarkson network via ethernet.
  • Boot the live cd. All of the defaults should be adequate.
  • You are now inside a environment in which you can start building.

Networking

  • `ping www.google.com` If this works youre networking is setup properly
  • ethX is your primary adapter where X the number of your netork card
  • `ifconfig` If you see your adapter shows up (ethX) procede to dhcpcd
  • `ifconfig -a` This shows all of your network adapters
  • `ifconfig ethX up` This makes sure your adapter is enabled
  • `dhcpcd ethX` this will attempt to obtain an IP address for ethX
  • `ping www.google.com`

Partitioning

For the next few steps, we are assuming you wish to use /dev/sda for your gentoo installation. If you wish to install to a different drive, from here on /dev/sda will be /dev/sdX where X is the letter of the target device

/dev/sda1 /boot ext2 100MB /dev/sda2 swap linux-swap 1-4GB /dev/sda3 / ext4 or xfs the rest

  • / is the root of your filesystem
  • /boot will store your kernel image(s) and grub (a boot loader)
  • swap is how linux uses space on a hard drive as ram. This is usually only used if you run out of physical memory

We will use the `parted` to format the disk.

!!!WARNING!!! The data on /dev/sda will be destroyed

  • `parted /dev/sda`
  • `mklabel msdos` or `mlabel gpt` This creates the partition table
  • `mkpart primary ext2 0MB 100MB` Create the boot partition
  • `mkpart primary linux-swap 100MB 2GB` Create a swap partition close to 2GB
  • `mkpart primary ext4 2GB -1s` Use the rest of the drive for /
  • `p` Verify everthing worked properly
  • `q` Exit the utility

Formatting

  • `mkfs.ext2 /dev/sda1`
  • `mkswap /dev/sda2`
  • `mkfs.ext4` or `mkfs.xfs`

Mounting

/mnt/gentoo will serve as the location where we will start our build

  • `mount /dev/sda3 /mnt/gentoo`
  • `mkdir /mnt/gentoo/boot`
  • `mount /dev/sda1 /mnt/gentoo/boot`
  • `swapon /dev/sda2`

Date

This may seem like a odd time to worry about such things. Tar checks the timestamps on archived files and will holler bloody murder if

you try to extract files from the future.
  • `date` If this is close to correct, you can move on
  • `date MMDDhhmmYYYY`

Stages

There are three possible “stages” from which to install Gentoo:

  • stage1: closer to LFS, you must compile the entire toolchain from scratch before you can proceed. (no longer supported ­ officially)
  • stage2: no longer supported at all
  • stage3: the toolchain is provided in a binary form

The stage3 tarball we are about to download contains binaries of GCC and other toolchain utilities. However, you can recompile the entire toolchain to emulate a stage1 install from a stage3. This process will give you a toolchain built for your specific machine by the most recent version of GCC. The downside? It takes about 6 hours if you have a good machine. In the interests of time, we will only do a stage3 install.


Installing stage3

We will use a text based web browser (links) to download the necessary files

  • `cd /mnt/gentoo/`
  • `links http://mirror.clarkson.edu/gentoo/`
  • Download "releases/(your architecture)/current-stage3/stage3-i686-______.tar.bz2"
  • Download "snapshots/portage-latest.tar.bz2"
  • 'q' Exit links

Next we will extract the stage3 and portage tarballs

  • `tar xvjpf stage3-*.tar.bz2`
  • `tar xvjf portage-latest.tar.bz2 -C /mnt/gentoo/usr`

The stage3 tarball will create the skeleton of a linux system. If you `ls` in '/mnt/gentoo', you will see the standard layout. It also contains the toolchain mentioned earlier.

To be continued...


Spring 2011 Slides

Session 1: http://web2.clarkson.edu/projects/cosi/fa2010/students/platekme/workshop1.pdf

Session 2: http://web2.clarkson.edu/projects/cosi/fa2010/students/platekme/workshop2.pdf

Session 3: http://web2.clarkson.edu/projects/cosi/fa2010/students/platekme/workshop3.pdf

Session 4: http://web2.clarkson.edu/projects/cosi/fa2010/students/platekme/workshop4.pdf

These slideshow presentations are Copyright © 2011 by Mark Platek and are licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.