July 20–24, 2015
Portland, OR

Linux bootcamp: From casual Linux user to kernel hacker

Tammy Butow (Dropbox), Georgi Knox (GitHub), Jessica Frazelle (Docker)
9:00am–12:30pm Monday, 07/20/2015
Average rating: ***..
(3.67, 9 ratings)
Slides:   external link

Prerequisite Knowledge

No prior knowledge of Linux is required.

Materials or downloads needed in advance

1. Free up around 10GB's on your laptop to get started.

2. Download and install VirtualBox 4.3.26 for your OS:

3. Download and install Vagrant for your OS. Instructions are here.

4. Download the Ubuntu_15.04 vagrant image that we have already pre-built from (this is about 1.6Gb so may take a while).

Description

This will be a hands-on workshop aimed at those who are casually familiar with the Linux operating system. Perhaps you use it on a server or in a virtualbox, but want to gain deeper understanding about the kernel and how Linux actually works.

Participants will leave with enough skills to build and run their own custom kernel as well as build and load their own kernel modules. They will feel confident navigating themselves around the Linux file system, understand files and processes, the boot process, and be able to run many useful shell commands. More advanced topics will also be covered, such as understanding namespaces, system calls, and using strace for debugging.

Agenda

Part One: Laying the foundations

  • What is Linux? What are the different flavors of Linux? How does Linux get updated?
  • Files and processes
  • The directory structure
  • The boot process
  • The shell and useful shell commands

Part Two: The kernel

  • Kernel architecture 101
  • How to build your own kernel module
  • How to build and run your own kernel
  • Patching the kernel

Part Three: Advanced topics

  • How to use strace for diagnostics and debugging
  • What are system calls?
  • What is a namespace?
  • How to use ‘livepatch’
  • Controlling hardware with ioctl
  • Where can I learn more?
Photo of Tammy Butow

Tammy Butow

Dropbox

Tammy Butow is the customer support manager at DigitalOcean. She loves the cloud, hackathons, and making stuff. She built her first website when she was a teenager and has been involved in building the web ever since. Tammy has always loved the intersection of the online and offline world. In Australia she lead Girl Geek Dinners Melbourne, a 1000+ group of talented women, and ran Melbourne’s first all-female hackathon, She Hacks. She then went on to become a co-founder of Girl Geek Academy. Tammy loves all things digital, but also loves teaching, skateboarding, backpacking, camping, and live music. When she was 19 she decided to study a bachelor of information technology and a bachelor of education. She also spent time studying a masters of computer science. When she was 23 she spent a year teaching teenagers how to make computer games. Tammy then joined the National Australia Bank Graduate Program in 2009, and worked across NAB in a variety of technology roles including Cybercrime, Mortgage Broking, Innovation, and Strategy. She moved to New York a few months ago to work at DigitalOcean. She is excited to see more girls using cloud hosting and shipping their code!

Photo of Georgi Knox

Georgi Knox

GitHub

Georgi Knox is an Aussie software engineer now living and working in New York City. She writes lots of code in all the languages and enjoys dressing her cats up in costumes. Georgi’s current nerd crush is on building scalable distributed systems and writing Go. She is an alumna of Hacker School in New York, and currently works in Bitly’s Application Engineering team.

Photo of Jessica Frazelle

Jessica Frazelle

Docker

Jessie Frazelle works on the Core Team at Docker. That entails fixing bugs, reviewing code, and deciding which features should be added. After graduating from college as a math major, Jessie decided to go into computer science. Most recently Jessie enjoys hacking everything possible into containers. She is a devout Linux user and always awaits trying out the new features.

Comments on this page are now closed.

Comments

Mick Tarsel
07/20/2015 6:20am PDT

Hey great talk. Someone mentioned a blog about namespaces and cgroups their co-worker wrote up. There was only a part 1… which slide set was that link in or can you link it here? Thanks!

Picture of Georgi Knox
Georgi Knox
07/20/2015 5:06am PDT

Where to learn more about linux:

https://blog.jessfraz.com/post/linux-on-mac/
http://eudyptula-challenge.org/
https://www.edx.org/course/introduction-linux-linuxfoundationx-lfs101x-2
http://vim-adventures.com/

Picture of Georgi Knox
Georgi Knox
07/20/2015 3:56am PDT

3. Jessie’s slides:
https://docs.google.com/a/jessfraz.com/presentation/d/1WZs1ub7DddcIWNykZEZs2b_oFGlEYuMg7KCCMPQG45g/edit?usp=sharing

Picture of Georgi Knox
Georgi Knox
07/20/2015 3:34am PDT

Here are slides from our presentations

1. Tammy’s Slides: http://slides.com/tammybutow/deck/live#/

2. Georgi’s Slides:
https://www.dropbox.com/s/baejpr79cazsppb/linux_workshop_slides_oscon.pdf?dl=0

Meryll Larkin
07/20/2015 3:11am PDT

It would be helpful for me to be able to download your slides. Where can I find them?

Meryll Larkin
07/19/2015 6:45am PDT

I’m taking this as a sleeper class – I love Linux so much that it is fun for me to watch others learn and to pick up the few pointers that I may not already know that get presented it this class. My problem is that I have NO IDEA why I should be downloading ANY of the above. I do want to be prepared for the class – won’t my Fedora Laptop work just as well? What else would you have me install on that?

Picture of Georgi Knox
Georgi Knox
07/17/2015 12:48am PDT

Hi Oscar,
I believe the latest and greatest versions should work. Instructions for installing the vagrant image are here: https://github.com/GeorgiCodes/linux_bootcamp
Georgi

Picture of Georgi Knox
Georgi Knox
07/17/2015 12:47am PDT

Hi Alison
Instructions for setting up the vagrant image are here: https://github.com/GeorgiCodes/linux_bootcamp. We will go through this in the workshop but feel free to try it out yourself.

Alison Setyadi
07/16/2015 8:02pm PDT

I downloaded the three items mentioned and installed Virtual Box and Vagrant. I wanted to test that I could open the Ubuntu_15.04 vagrant image, but I’m not sure how to do that through Virtual Box. Since the image is pre-built, the only option seems to be to add the machine, but Virtual Box seems to be looking for a different type of file. How do you load the image? Will you cover this during the tutorial? Thanks.

Picture of Oscar Taracena
Oscar Taracena
07/14/2015 8:50am PDT

Should we get the latest and greatest versions of the software or use what is in the email?

Mark Pokorny
07/07/2015 12:08pm PDT

Ok will do.

Thanks,

Mark

Picture of Georgi Knox
Georgi Knox
07/07/2015 10:37am PDT

Hi Mark, We have setup Ubuntu on a vagrant image which requires VirtualBox not VMware to run. So yes you’ll need VirtualBox. Thanks!

Mark Pokorny
07/07/2015 10:24am PDT

I use VMware Workstation can this be used instead of Virtual Box?

Thanks,

Mark