fleizean / ft_linux

Make your own linux distribution

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ft_linux

Welcome to ft_linux. In this subject, you have to build a basic, but functional, linux distribution. This subject is not about Kernel programming, but it’s highly related. This distro will be the base for all your kernel projects, because all your kernel-code will be executed here, on your distro. Try to implement what you want/need to. This is your userspace, take care of it!

Goals

  • [] Build a Linux Kernel
  • [] Install some binaries (See the list below)
  • [] Implement a filesystem hierarchy compliant with the standards
  • [] Connect to the Internet

Pathway

https://www.youtube.com/watch?v=FVP-5DQxKCw&list=PLyc5xVO2uDsCKdz6-Ojah0o-ZTqGE7HEX&index=5

Instruction

  • [] For this subject, you must use a virtual machine, live VirtualBox or VMWare.

Though it is not REQUIRED, you SHOULD read this and that right now. Keep those standards in mind. You won’t be graded on your compliance with them, but still, it would be good practice.

  • [] You must use a kernel version 4.x. Stable or not, as long as it’s a 4.x version.
  • [] The kernel sources must be in /usr/src/kernel-$(version)
  • [] You must use at least 3 differents partitions. (root, /boot and a swap partition).

You can of course make more partitions if you want to.

  • [] Your distro must implement a kernel_module loader, like udev.
  • [] The kernel version must contain your student login in it. Something like ‘Linux kernel 4.1.2-<student_login>‘
  • [] The distribution hostname must be your student login
  • [] You’re free to choose between a 32 or 64-bit system.
  • [] You must use a sofware for central management and configuration, like SysV or SystemD.
  • [] Your distro must boot with a bootloader, like LILO or GRUB.
  • [] The kernel binary located in /boot must be named like this: vmlinuz-<linux_version>-<student_login>. Adapt your bootloader configuration to that.

About

Make your own linux distribution