https://github.com/haletran/42_ft_linux
Build a basic, but functional, linux distribution using LFS book
https://github.com/haletran/42_ft_linux
Last synced: 10 months ago
JSON representation
Build a basic, but functional, linux distribution using LFS book
- Host: GitHub
- URL: https://github.com/haletran/42_ft_linux
- Owner: Haletran
- Created: 2025-02-06T22:34:00.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-06T23:02:45.000Z (over 1 year ago)
- Last Synced: 2025-02-07T00:18:27.865Z (over 1 year ago)
- Language: Shell
- Size: 4.88 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 42_ft_linux
Build a basic, but functional, linux distribution using LFS book
## REQUIREMENTS
- [ ] Use a kernel version 4.x. Stable or not, as long as it’s a 4.x version
- [ ] Kernel sources must be in /usr/src/kernel-$(version)
- [ ] 3 differents partitions or more (root, /boot and a swap partition)
- [ ] Implement a kernel_module loader, like udev.
- [ ] The kernel version must contain your student login : `kernel 4.1.2-`
- [ ] The distribution hostname must be your student login
- [ ] 32 or 64-bit system
- [ ] Use central management and configuration, like SysV or SystemD
- [ ] Boot with a bootloader, like LILO or GRUB.
- [ ] Your kernel binary located in /boot must be named like this: `vmlinuz--`
- [ ] Install the following packages:
| Package | Version |
|---------|---------|
| Acl | 2.2.52 |
| Attr | 2.4.47 |
| Autoconf | 2.69 |
| Automake | 1.15 |
| Bash | 4.3.30 |
| Bc | 1.06.95 |
| Binutils | 2.25.1 |
| Bison | 3.0.4 |
| Bzip2 | 1.0.6 |
| Check | 0.10.0 |
| Coreutils | 8.24 |
| DejaGNU | 1.5.3 |
| Diffutils | 3.3 |
| Eudev | 3.1.2 |
| E2fsprogs | 1.42.13 |
| Expat | 2.1.0 |
| Expect | 5.45 |
| File | 5.24 |
| Findutils | 4.4.2 |
| Flex | 2.5.39 |
| Gawk | 4.1.3 |
| GCC | 5.2.0 |
| GDBM | 1.11 |
| Gettext | 0.19.5.1 |
| Glibc | 2.22 |
| GMP | 6.0.0a |
| Gperf | 3.0.4 |
| Grep | 2.21 |
| Groff | 1.22.3 |
| GRUB | 2.02 beta2 |
| Gzip | 1.6 |
| Iana-Etc | 2.30 |
| Inetutils | 1.9.4 |
| Intltool | 0.51.0 |
| IPRoute2 | 4.2.0 |
| Kbd | 2.0.3 |
| Kmod | 21 |
| Less | 458 |
| Libcap | 2.24 |
| Libpipeline | 1.4.1 |
| Libtool | 2.4.6 |
| M4 | 1.4.17 |
| Make | 4.1 |
| Man-DB | 2.7.2 |
| Man-pages | 4.02 |
| MPC | 1.0.3 |
| MPFR | 3.1.3 |
| Ncurses | 6.0 |
| Patch | 2.7.5 |
| Perl | 5.22.0 |
| Pkg-config | 0.28 |
| Procps | 3.3.11 |
| Psmisc | 22.21 |
| Readline | 6.3 |
| Sed | 4.2.2 |
| Shadow | 4.2.1 |
| Sysklogd | 1.5.1 |
| Sysvinit | 2.88dsf |
| Tar | 1.28 |
| Tcl | 8.6.4 |
| Texinfo | 6.0 |
| Time Zone Data | 2015f |
| Udev-lfs Tarball | udev-lfs-20140408 |
| Util-linux | 2.27 |
| Vim | 7.4 |
| XML::Parser | 2.44 |
| Xz Utils | 5.2.1 |
| Zlib | 1.2.8 |
## STEPS
```bash
# check if the requirements are met
sudo bash check_requirements.sh
#if there are some missing requirements (on Debian-based system)
sudo apt-get update
sudo apt install make g++ texinfo bison gawk
# setup lfs (wget the book, create the lfs user, create the lfs partition)
sudo bash create_lfs.sh
# login as lfs user
su - lfs
# setup env
./setup_env.sh
# install and the build packages toolkit
./install_packages.sh
# setup base system
./setup_base.sh
# launch the shell
exec /tools/bin/bash --login +h
# install apps
./install_apps.sh
# Here i am : https://www.fr.linuxfromscratch.org/view/lfs-8.2-fr/chapter06/kernfs.html
```
## RESSOURCE
- [LFS book 8.2](https://www.fr.linuxfromscratch.org/view/lfs-8.2-fr/index.html)
- [ChrisTitusTech LFS video](https://www.youtube.com/watch?v=oV541sgHKGo)